以所安装的 SOLIDWORKS 版本为准。本库在 SOLIDWORKS 2025 上验证。相关文档
官方 API
» 使用指南 » 文档与会话安全 » 建模闭环 » 特征装配工程图 » 反馈与图像 » 材料与属性
将 SldWorks.Application 对象(原生 COM 对象)封装为 com.sldWorks 对象。
连接 SOLIDWORKS。
startIfMissing 默认 true:先连接,再尝试创建;指定版本不存在时允许版本回退。
startIfMissing=false:只连接已前台运行(Visible=true)的实例,不启动、不回退版本。
version 可选,可显式指定(一般不必要)为 2025、"2025"、33 或 "33"。
指定版本则 nstartIfMissing 总是强制设为 true 。
成功返回 COM 对象;失败返回 null,错误信息。
当前进程与 SOLIDWORKS 应有相同权限;同版本多实例不保证连接哪一个。
三维工业制图软件 SOLIDWORKS 的 COM 接口自动化库。
保留原生 API,补充文档管理、结构化反馈、图像导出与宏支持。
原生常量可输入 _sw 前缀使用智能提示。
for sldWorks in com.sldWorks.eachRunning() {
print(sldWorks.ProcessId,sldWorks.MajorVersion(),sldWorks.Path);/*调用 com.eachRunning 遍历运行时 COM 对象表(ROT),
查找全部 SldWorks.Application 对象并转为 com.sldWorks 实例(迭代变量 sldWorks)。
后台启动(保持 Visible=false)在 ROT 不可见(私有)。*/
}
[返回对象:SldWorksObject](#SldWorksObject)
按扩展名推断原生文档类型;未知返回 null。
SLDPRT=1,SLDASM=2,SLDDRW=3。
不会将 STEP、IGES 误认为原生零件。
年份转内部主版本号,例如 2025 → 33。
也接受内部主版本号;无效参数返回 null,错误信息。
调用 probe 并返回 是否响应,探测详情。
SOLIDWORKS 未运行时返回 false(详情 running=false)。
解析 VBA 或 C# 模板,返回文本;失败返回 null,错误信息。
templateOwner 可在模板里通过 owner 访问。
表或数组输出为 JsonParse 表达式;并非执行 SOLIDWORKS 宏。
不经 COM 探测 SOLIDWORKS 会话健康:进程、每个 UI 线程的消息响应(SendMessageTimeout WM_NULL)、主窗口挂起标志、可见对话框。
timeout 默认 2000 毫秒;processId 省略则探测所有 SLDWORKS.exe。
返回 {running,responsive,processes=[{pid,responsive,hungThreads,mainWindow={title,hung},dialogs=[{title,text}],probed}]}。
主线程不泵消息时任何 COM 调用(包括连接)都会无限等待,连接前与长任务每一步前应先探测。
结束时切换配置失败的说明。
调用结束时的活动配置名。
本次新建的配置名数组。
文档标题。
errors 非空的行(子集引用 rows 中的同一对象)。
调用前的活动配置名。
重建失败时的说明。
[{name,created,dimensions={尺寸名=写入后的值},features={特征名=是否压缩},properties={属性名=值},material=材料名,errors=[]}]。
verify=true 时按写过的列回读的配置表(!stdSldWorksConfigurationTable),只含本次涉及的配置。
回读失败时的说明。
装配体坐标的近似包围盒 [xmin,ymin,zmin,xmax,ymax,zmax](米)。
引用的配置名。
是否固定。
组件名称,例如 block-1,可用于 FindComponent 与 AddMate 的 component 字段。
组件引用的文件完整路径。
组件原点在装配体坐标中的位置 [x,y,z](米)。
行优先 3×3 旋转矩阵(9 个数值)。
是否被压缩。
压缩状态名:suppressed、lightweight、fullyResolved、resolved 等。
是否可见。
是否活动配置。
备用名称(BOM 用)。
派生子配置数。
注释。
说明。
是否派生配置。
配置名称。
父配置名,非派生配置为 null。
AddConfiguration 调用前的活动配置名(仅 AddConfiguration 返回)。
新特征是否默认在此配置中压缩。
配置类型:standard、asMachined、asWelded、sheetMetal、speedPak、defeature。
活动配置名(mass=true 时为循环结束后的活动配置)。
{dimensions=[{name,fullName,feature,unit,paramType,appliedToAllConfigurations}],features=[{name,typeName}],properties=[{name,typeName}]}。
行顺序对应的配置名数组。
{dimensions=[列名],features=[特征名],properties=[属性名],material=bool},列出在各配置之间取值不同的列。
文档标题。
mass=true 时各配置的激活或计算错误(无错误时为 null)。
每个配置一行:{index,name,active,comment,description,typeName,isDerived,parent,dimensions={"D1@特征名"=值},features={特征名=是否压缩},properties={属性名=值},material={name,database[,density]}[,mass={mass,volume,surfaceArea,centerOfMass}]}。
未找到的尺寸/特征/属性名以及尺寸扫描截断提示。
是否应用于所有配置。
是否从动尺寸;从动尺寸不能用 SetDimension 驱动几何。
拥有该尺寸的特征名。
完整名称,例如 D1@AA_Block@零件.SLDPRT;SetDimension 可用 "D1@AA_Block"。
尺寸名,例如 D1。
原生 swDimensionParamType_e:0 长度、1 角度、2 整数。
是否只读。
m、rad 或 count。
当前配置的系统单位值:长度为米、角度为弧度。
1 从动、2 驱动。
完整尺寸名,例如 D1@AA_Block@零件.SLDPRT。
读取系统单位值数组;mode 1 当前配置传 com.nothing(),3 指定配置传名称数组。
是否只读。
按系统单位设置;mode 1 当前配置、2 所有配置、3 指定配置。
返回状态整数,0 才是成功。建议改用 swApp.SetDimension。
以系统单位读写尺寸:长度为米,角度为弧度。
修改后必须重建并读取模型结果验证。
非空零件的近似包围盒;单位见 boundsUnit。
包围盒单位 m。
零件/装配体活动配置名。
零件/装配体全部配置名数组。
文档类型数值。
part、assembly、drawing 或 other。
仅零件/装配体:是否有活动编辑草图。工程图不提供此字段,不能从活动图纸草图推断 UI 编辑模式。
原生接口是否返回活动草图;工程图的图纸草图也会使其为 true。
仅零件:name、database、density(kg/m^3)。
是否有未保存修改。
完整文件路径,未保存时为空字符串。
是否只读打开。
当前选择对象数。
零件实体数,包含隐藏实体。
零件曲面实体数。
文档标题。
文档显示单位:length、lengthFactor(每米对应的单位数)、angle、angleFactor。
原生 IModelDoc2 文档。不同文档类型还提供 IPartDoc/IAssemblyDoc/IDrawingDoc API。
清空所有选择。不同建模阶段之前应明确管理选择集。
重建需要更新的特征,返回是否成功。
文档扩展接口。
特征管理器。
第一个顶层特征。
强制重建当前配置;false 也重建装配体子层级。
返回原生活动草图。
工程图也可能返回图纸草图,不能据此推断 UI 草图编辑模式;新代码也可用 SketchManager.ActiveSketch。
仅零件文档:返回实体数组。0=实体,1=曲面,-1=全部;false 包含隐藏实体。
仅零件文档:返回米制近似包围盒 [xmin,ymin,zmin,xmax,ymax,zmax],不是精密测量。
获取完整路径;未保存过时为空字符串。
是否有需要保存的修改。
获取准确标题;用于关闭或激活未保存文档。
文档类型:零件 1、装配体 2、工程图 3。
重绘图形区,不等于重建模型。
是否以只读方式打开。
根据完整尺寸名获取尺寸,例如 "D1@AA_Block";名称不存在返回 null。
原生导出 BMP,须用完整 .bmp 路径;返回是否成功。
建议用 swApp.CaptureView 自动转 PNG。
选择管理器。
返回对象:SldWorksSelectionMgrObject
设置尚未保存文档的标题。
是否显示特征错误对话框;自动化可临时设为 false,但仍须检查错误码。
设置命名或标准视图。例如 ShowNamedView2("",7) 为等轴测。
标准方向:前1、后2、左3、右4、上5、下6、等轴测7。
草图管理器。
缩放到适合整个模型。
读取带索引的摘要属性。
写入带索引的摘要属性;fieldId 用 _swSumInfo 前缀常量。
圆边轴向 [x,y,z],仅 isCircle。
所属实体序号。
圆边圆心 [x,y,z],仅 isCircle。
是否闭合边(起终点重合)。
曲线类型:line、circle、ellipse、bcurve 等。
终点 [x,y,z](米)。
序号。
是否圆/圆弧边。
是否直线边。
边长(米)。
边上的真实中点 [x,y,z](米),可直接作为 Fillet/Chamfer/LinearPattern 的参考。
圆边半径(米),仅 isCircle。
起点 [x,y,z](米)。
创建原生质量属性对象;当前选中的实体/组件可能影响计算范围。
原生自定义属性管理器;参数 "" 为文档级,配置名为配置级。
建议改用 swApp.GetCustomProperties / SetCustomProperty。
旧原生保存接口;完整路径、空对象用 Nothing、输出参数用 com.int(0,true)。
原生另存为/导出。完整路径,对象空参用 com.nothing(),输出码用 com.int(0,true)。
需自行保证活动文档和选择集正确;本库 SaveAs 已处理这些细节。
按名称/类型或位置选择,返回是否成功。
callout 不使用时传 com.nothing();名称为空时按坐标选择。
名称可能受语言影响,优先用已取得对象的 Select2 或 swApp.SelectByPoint。
面积,平方米。
所属实体序号。
包围盒 [xmin,ymin,zmin,xmax,ymax,zmax],米。
包围盒中心,米;不一定落在面上。
边数。
生成此面的特征名。
面序号,特征变更后会变化,不是稳定引用。
是否平面。
平面法向 [nx,ny,nz];非平面无此字段。
面上距离中心最近的实际点,米;可用于 SelectByPoint 或 NewSketch。
原生 swSurfaceTypes_e:4001 平面、4002 圆柱、4003 圆锥、4004 球、4005 环。
plane、cylinder、cone、sphere、torus 等。
原生错误码。isWarning 须为 com.Variant(false,11,true) 创建的 BOOL 输出引用。
只有返回码非零时该标志才有效。
第一个子特征;子特征结构不一定与 UI 树相同。
下一个顶层特征。
下一个子特征。
获取不依赖 UI 语言的特征类型名,例如 RefPlane、ProfileFeature、Extrusion。
是否在当前配置中被压缩。
特征名称,可以修改;自动化宜为自己创建的特征设稳定名称。
选择特征,返回是否成功;默认常用 Select2(false,0)。
创建切除拉伸;27 个参数,非钣金零件 NormalCut/OptimizeGeometry 传 false。
常规切除建议改用 swApp.Extrude(doc,sketch,{cut=true;...})。
创建拉伸特征;调用前须明确选择草图。
D1,D2,StartOffset 为米,角度为弧度;完整参数见建模闭环指南。
返回原生特征,失败可能返回 null,不能只检查有无异常。常规凸台建议改用 swApp.Extrude。
捕获时的目标文档路径;尚未保存时为空字符串。
实际图像高度,像素。
实际生成图像的完整路径。
固定为 model-view;不包含桌面或外部对话框。
捕获时的目标文档标题。
实际图像宽度,像素。
是否因 toward1 与实际方向相反而在创建后翻转了方向 1。
是否因 toward2 与实际方向相反而在创建后翻转了方向 2。
方向 1 实例数(含种子)。
方向 2 实例数(含种子),无方向 2 时为 1。
方向 1 的实际单位向量 [dx,dy,dz](由 GetTransform 回读),count1 为 1 或无法回读时为 null。
方向 2 的实际单位向量,未指定方向 2 时为 null。
特征定义中方向 1 是否反向(D1ReverseDirection)。
特征定义中方向 2 是否反向(D2ReverseDirection)。
方向 1 间距(米)。
方向 2 间距(米)。
无法回读方向时的说明数组,正常时为 null。
质心 [x,y,z],米。
质心处惯性分量 [XX,YY,ZZ,XY,ZX,YZ],kg*m^2。
质量,千克;依赖模型材质/密度及覆盖设置。
原生质量计算状态码。
表面积,平方米。
每类物理量的单位名。
体积,立方米。
读取材料时使用的配置名。
材料库名称。
当前密度,kg/m^3;未指定材料时为文档默认密度。
固定为 kg/m^3。
材料名称(随安装语言本地化);未指定材料时为空字符串。
可以直接调用 SOLIDWORKS 原生 ISldWorks API。
这里只列出常用入口;封装和示例的实测版本为 2025,原生 API 完整参数以对应版本 API Help 为准。
返回对象:SldWorksConfigurationInfoObject
激活配置(ShowConfiguration2)并默认 EditRebuild3,返回 配置信息,状态:activated 或 alreadyActive。
配置不存在或激活后活动配置仍不是目标时返回 null,说明。质量属性、GetFaces 等只反映活动配置,切换后再读取。
激活文档,nameOrDoc 用法同 FindDoc。
默认 usePreferences=false,option=1(不重建、不弹询问框)。
返回 文档或null,状态码;有效文档也可能有需要重建的警告。
本库查找失败返回 null,-1,说明。
当前活动文档;没有活动文档时为 null。
向装配体插入零件/装配体文件,返回 组件对象,组件信息;失败返回 null,说明。
options:x、y、z(米,默认对应组件包围盒中心)、origin=true 改为组件原点落在该位置、configuration、visible(默认 false:引用文件隐藏加载,不弹出窗口,装配体关闭后自动释放)。
第一个组件默认固定。内部 AddComponent5 后 EditRebuild3。
返回对象:SldWorksConfigurationInfoObject
添加配置(AddConfiguration2)并返回配置信息(含 previousActive);失败返回 null,说明。
options 可为注释字符串或表:comment、description、alternateName、parent(派生配置的父配置名)、activate(默认 true,与 UI 一致使新配置成为活动配置;false 保持当前配置)、suppressByDefault、hideByDefault、minFeatureManager、rebuild(默认 true)、flags(附加 swConfigurationOptions2_e 位)。
同名配置或父配置不存在时不调用 SOLIDWORKS 直接返回失败。
添加配合,返回 配合对象,配合信息;失败返回 null,说明,状态码。
实体为 {component=组件名,x=,y=,z=[,entityType=FACE]}(装配体坐标)、原生名称字符串或 COM 对象。
options 为类型名或表:type(coincident/concentric/perpendicular/parallel/tangent/distance/angle/lock)、align(aligned/antiAligned/closest,默认 closest)、distance(米)、angle(弧度)、flip、name。
内部 AddMate5,状态 1(noError)才成功;信息含 statusName,mateTypeName,name,entities,dimension。
插入注释并返回 注释对象,{text,position}。options:x、y(米,工程图为图纸坐标)、height(字高,米)。
返回对象:SldWorksApplyConfigurationResultObject
按配置表批量写入零件/装配体:rows 为数组 [{name,parent,comment,description,alternateName,dimensions={"D1@特征名"=米或弧度},features={特征名=true 压缩|false 解除},properties={属性名=值},material="材料名"或{name,database}}]。
不存在的配置默认创建(createMissing=false 则记为失败行),创建时不激活;新配置复制“当前活动配置”的尺寸/材料/压缩状态,可用 baseConfiguration 指定复制源。
所有行先做类型校验再调用 SOLIDWORKS(缺名/重名/非数值尺寸/非布尔压缩直接返回 null,说明,不会创建任何配置)。
写入后默认 EditRebuild3(rebuild=false 跳过),然后恢复原活动配置(activate=配置名 切到该配置,false 保持当前),verify=true(默认)再用 GetConfigurationTable 回读写过的列放入 verified。
返回 {document,originalActive,active,created=[新建配置名],rows=[{name,created,dimensions,features,properties,material,errors}],failed=[],verified};有任何行未完全应用则返回 null,说明,结果(结果中 failed 列出行与错误)。
导出当前模型视图,返回图像元信息。
默认生成临时 PNG,默认活动文档,默认 1024×768。
支持 PNG/BMP/JPG/JPEG,宽高范围 0..8192,任一为 0 时使用当前窗口尺寸。
view 可选:fit 仅缩放到适合;front/back/left/right/top/bottom/isometric/trimetric/dimetric 或 1..9 先切换标准视图再缩放(工程图只缩放)。
省略 view 时不改变视角/缩放。会激活目标文档;不保存模型、不截取桌面或对话框。
SaveBMP 后实际转码,自动创建输出目录与清理中间 BMP。
失败返回 null,错误信息;返回图像文件由调用者负责清理。
对一或多条边创建倒角,返回 特征,错误码,isWarning;失败返回 null,说明。
options 为距离数值(米)或表:distance、distance2(不等距)或 angle(弧度,角度-距离)、propagate(默认 true 沿相切边传播)、name。
内部 InsertFeatureChamfer;angle 与 distance2 不能同时指定。
对特征创建圆周阵列,返回 特征,错误码,isWarning;失败返回 null,说明。
options:axis(圆柱面上的 {x,y,z}、圆边、基准轴特征名或对象)、count(含原始实例)、angle(弧度,默认 2π)、equalSpacing(默认 true)、flip、geometryPattern、name。
内部 FeatureCircularPattern5。
原生接口,关闭所有文档。
includeUnsaved=true 也关闭未保存文档,自动化脚本一般只应关闭自己创建的文档(用 CloseNewDocs)。
关闭文档(本库覆盖原生按标题关闭的接口)。doc 用法同 FindDoc,"" 表示活动文档。
默认拒绝丢弃未保存修改(discardChanges=true 才丢弃),拒绝同标题歧义,按完整路径唯一定位已保存文档。
成功返回 true,状态:closed;hidden/referenced 表示文档仍被其他打开文档引用,只释放窗口、模型数据保留(SOLIDWORKS 正常行为)。
失败返回 null,错误信息。原生行为可用 QuitDoc(name) 直接调用。
批量关闭文档数组(对象、完整路径或准确标题),按 工程图→装配体→零件 顺序关闭。
返回 {closed=[{name,state}],failed=[{name,message}],count};已随引用释放的文档记为 alreadyClosed。
关闭快照之后新打开的全部文档,包括 AddComponent、工程图视图隐式加载的引用文档。
snapshot 为任务开始时 GetDocumentList() 的返回值;返回值同 CloseDocs。
自动化脚本应在结束时调用,避免文档越积越多、同名冲突。
外部命令执行状态;临时修改后必须恢复,不要全程置为 true。
删除配置(DeleteConfiguration2),返回 true,实际删除的配置名数组(派生子配置随父配置一起删除)。
活动配置、唯一配置或不存在的配置直接返回 null,说明;请先 ActivateConfiguration 切换到其他配置。
删除自定义属性;成功返回 true,失败返回 null,错误信息,状态码。
原生接口,设置之后打开的该类型文档是否显示窗口;用完必须恢复 true。OpenDoc(...,visible=false) 已封装。
原生接口,退出 SOLIDWORKS;不会被本库自动调用。
用草图特征创建拉伸凸台或切除,返回 特征,错误码,isWarning;失败返回 null,错误信息。
sketch 为 ProfileFeature 名称或对象;options 可为深度数值或表:
depth(米)、cut、endCondition(blind/throughAll/throughAllBoth/midPlane/upToNext)、reverse、flipSide、draft(弧度)、draftInward、merge、name。
内部调用 FeatureExtrusion3 / FeatureCut4,特征范围自动选择所有实体;执行后清空选择。
对一或多条边创建等半径圆角,返回 特征,错误码,isWarning;失败返回 null,说明。
edges 为边的 {x,y,z}、COM 对象或它们的数组;options 为半径数值(米)或表:radius、propagate(默认 true 沿相切边传播)、name。
内部 FeatureFillet3;执行前后清空选择;半径超过相邻面尺寸时 SOLIDWORKS 不创建特征。
按准确组件名(如 block-1)或组件对象取得原生 IComponent2,返回 组件,文档;失败返回 null,说明。
查找文档,省略参数取 ActiveDoc。
参数可为原生文档对象、完整路径或准确标题;不使用模式匹配。
路径未找到不回退到同名标题;标题有歧义返回错误。
失败返回 null,错误信息;不打开、不激活文档。
按几何定位面/边/顶点(FACE、EDGE、VERTEX),不依赖视角与本地化名称,返回 实体对象,距离,组件。
spec 为 {x,y,z}(米)、[x,y,z]、COM 对象,装配体可加 component=组件名(坐标为装配体坐标,local=true 表示组件局部坐标)。
最近实体超过容差(默认 1e-5 米,可用 spec.tolerance 覆盖)时返回 null,说明,最近距离。
按准确特征名(FeatureByName)或特征对象取得原生 IFeature,返回 特征,文档。
不使用模式匹配;失败返回 null,错误信息。
返回可 JSON 序列化的实例信息:revision、processId、executableDirectory、documentCount。
返回对象:SldWorksComponentInfoObject
列出装配体组件的纯数据,topLevelOnly 默认 true;仅装配体,失败返回 null,说明。
每项含 index,name,path,configuration,fixed,suppressionState,suppressionStateName,suppressed,visible,position,rotation,box(装配体坐标,米)。
返回对象:SldWorksConfigurationTableObject
读取零件/装配体的配置表(轻量 design table):每个配置一行,列为尺寸、特征压缩、配置级自定义属性、材料、可选质量。
options 全部可选:configurations(省略/"*" 全部,或配置名/数组,行按此顺序);dimensions(省略/true 扫描全部顶层尺寸并受 dimensionLimit=200 限制、false 跳过、或 "D1@特征名"/数组);features(省略/true 全部可压缩顶层特征、false、或特征名/数组);properties(省略/true 全部、false、或属性名/数组);material(默认 true,仅零件);mass=true 时逐个激活配置读取质量并在结束后恢复原活动配置(每个配置约 1 秒,restoreActive=false 保持最后一个;accuracy 同 GetMassProperties)。
未知尺寸/特征/属性名进入 warnings 不报错;配置不存在或参数类型错误返回 null,说明。
实测坑已在内部处理:尺寸仍“应用到所有配置”时 GetSystemValue3(swAllConfiguration) 除首槽位外全为 0,此时用 swThisConfiguration 的值填充;IsSuppressed2 的数组返回顺序总是文档配置顺序,GetSystemValue3(swSpecifyConfiguration) 则按传入顺序;密度只反映活动配置(非活动行不含 density,mass=true 时补齐)。
返回对象:SldWorksConfigurationInfoObject
列出零件/装配体的配置纯数据数组:index,name,active,comment,description,alternateName,useAlternateNameInBOM,type,typeName,isDerived,parent,childCount,suppressNewFeatures,id。
顺序为 SOLIDWORKS 文档配置顺序;失败返回 null,说明。
列出自定义属性;configuration 默认 ""(文档级),也可指定配置名。
每项含 name,value,resolvedValue,resolved,linked,typeCode,typeName。失败返回 null,错误信息。
获取并验证当前默认模板路径;docType 默认 1。
1=零件,2=装配体,3=工程图。
不存在返回 null,错误信息;不猜测模板、不改系统配置、不弹选择框。
返回对象:SldWorksDimensionInfoObject
列出特征(含其草图)的显示尺寸;feature 省略则遍历全部顶层特征并按 fullName 去重。
返回 数组,truncated;limit 默认 200。
每项含 name,fullName,feature,value(米/弧度),unit,paramType,readOnly,driven,appliedToAllConfigurations。
修改尺寸请用 SetDimension 或 doc.Parameter(name)。
返回纯数据文档摘要;doc 用法同 FindDoc。
包含标题、路径、类型、修改/只读标志、活动配置与配置列表、文档单位、选择数与草图编辑状态。
零件附带实体/曲面数、近似包围盒(米)与材料信息;不计算质量、不读取完整特征树。
失败返回 null,错误信息。
返回打开的文档数。
返回纯数据的打开文档列表:index,title,path,documentType,documentTypeName,modified,readOnly,visible。
比 GetDocInfo 轻量;任务开始时保存为快照,结束时传给 CloseNewDocs 清理自己打开的文档。
返回原生文档数组。
列出工程图模型视图的纯数据:index,name,sheet,orientation,scale,position,outline,referencedDocument,referencedConfiguration,dimensionCount,dimensions。
不含图纸本身;仅工程图。
列出零件所有实体的边,返回 数组,truncated;limit 默认 1000。
每项含 index,body,curveType,curveTypeName,isLine,isCircle,closed,length,start,end,mid;圆边另含 center,axis,radius。
mid 是边上的真实中点,可直接作为 Fillet/Chamfer/LinearPattern 的 {x,y,z} 参考。仅零件。
列出零件所有实体的面,返回 数组,truncated;limit 默认 500。
每项含 index,body,area,surfaceType,surfaceTypeName,isPlane,normal(平面),edgeCount,box,center,point,feature。
point 是面上的实际点,可直接用于 SelectByPoint 或 NewSketch 的 target。仅零件。
读取特征在每个配置中的压缩状态:{name,active,suppressed(活动配置),configurations=[{name,suppressed,active}]}。
逐配置调用 IsSuppressed2(swSpecifyConfiguration),避免 IsSuppressed2 返回顺序为文档配置顺序的坑。
返回纯数据顶层特征数组,truncated。
limit 默认 200,范围 1 到 10000;失败返回 null,错误信息。
每项含 index,name,typeName,suppressed,code,isWarning;草图特征另含 constrainedStatus,constrainedStatusName。
code=0 表示此特征未报告错误;非零时用 isWarning 区分警告/错误。
不是完整设计验证,未扫描到的子特征或截断部分不能视为正常。
返回首个文档。
获取整个零件/装配体的质量属性,不改变选择,不受当前选择子集影响。
调用兼容接口 GetMassProperties2(accuracy,status,false),accuracy 默认 1。
返回纯数据;失败返回 null,说明,原生状态码(若有)。
数值使用 SI:m、m^2、m^3、kg、kg*m^2;未指定材质时不能假定质量有工程意义。
返回对象:SldWorksMaterialInfoObject
读取零件材料,返回 name,database,density(kg/m^3),configuration。
未指定材料时 name 为空,density 为文档默认密度。仅零件。
解析材料库 .sldmat(UTF-16 XML),返回 [{name,classification,density,database}]。
database 省略时优先 "solidworks materials.sldmat",可指定已配置库的文件名或完整路径。
材料名称随安装语言本地化,应先查询再调用 SetMaterial。失败返回 null,错误信息。
列出装配体配合的纯数据:index,name,typeName,mateType,mateTypeName,alignment,alignmentName,suppressed,entities=[{component,referenceTypeName,params}];距离/角度配合含 dimension={fullName,value}。
原生接口:按名称获取打开的文档。
原生接口:按完整路径获取打开的文档。
获取实例进程 ID。
读取草图特征的纯数据状态;feature 为 ProfileFeature 名称或对象。
返回 name,constrainedStatus,constrainedStatusName,fullyDefined,segmentCount,pointCount,contourCount,regionCount,is3D。
状态 3 为完全定义、2 欠定义、4 过定义;失败返回 null,错误信息。
获取 SOLIDWORKS 主窗口句柄。
向工程图视图插入模型尺寸(InsertModelAnnotations3)并重建,返回 {inserted,dimensionCount,views}。
options 可为视图名或表:view(省略为所有视图)、types(默认 swInsertDimensionsMarkedForDrawing)、eliminateDuplicates(默认 true)、hiddenFeatures。
实测:引用模型隐藏加载且工程图先于它创建时首次插入为空,库会激活引用模型(窗口变为可见)后重试一次;inserted 仍为 0 时请检查模型尺寸是否“为工程图标注”。
不经 COM 的窗口级探测(默认 2000 毫秒),返回 是否响应,探测详情;详情格式同 com.sldWorks.probe。
主线程不泵消息时所有 COM 调用会无限等待,长任务每一步前应先探测;已挂起时不要再发 COM 调用。
返回对象:SldWorksLinearPatternInfoObject
对特征创建线性阵列,返回 特征,错误码,isWarning,方向信息;失败返回 null,说明。
features 为特征名/对象或数组;options:direction1(直线边 {x,y,z}、平面/基准面/基准轴特征名或对象)、count1(含原始实例)、spacing1(米)、flip1;可选 direction2、count2、spacing2、flip2、geometryPattern、name。
推荐用 toward1/toward2=[dx,dy,dz] 指定期望方向:库按实测规则(直线边 起点→终点、平面取法向)预判 flip,创建后用 GetTransform 回读实际方向,不一致时通过 ModifyDefinition 翻转并再次核对,仍不一致则删除阵列并返回失败。
方向信息含 direction1/direction2(实际单位向量)、flip1/flip2、corrected1/corrected2、count/spacing。内部 FeatureLinearPattern5。
CAD 主版本号数值。
CAD 主版本号字符串,例如 24、25,不是发行年份。
创建引用当前安装目录 API 程序集的 C# 编译器;先 import dotNet。
保留 owner.start(类名) 初始化模板。
根据验证过的模板新建文档,返回原生文档对象。
docType 默认 1;template 省略时使用当前默认模板。
支持 .prtdot/.asmdot/.drwdot,模板无效返回 null,错误信息。
paperSize,width,height 默认 0;后两者为米,仅自定义图纸大小时使用。
原生新建接口,template 必须是完整路径。
建议优先用 NewDoc 验证模板并处理失败。
在平面或面上新建二维草图并安全退出,返回 草图特征,文档。
target 为基准面特征名/对象,或 {x=,y=,z=} 面上一点(可选 entityType,默认 FACE)。
draw(sketchManager,doc,sketch) 回调内绘制;出错或返回 false 时仍退出草图并返回 null,错误信息。
通过 IsSame 找回草图特征,可选用 name 重命名。已处于草图编辑状态时拒绝执行。
调用 OpenDoc6 打开原生文档。
除 path 外均可省略;自动推断类型;options 默认 1(静默);config 默认空字符串;visible=false 时隐藏加载(不弹窗口,DocumentVisible 用后自动恢复)。
返回 文档或false,错误码,警告码。有效文档也可能伴随非零错误码;必须一起检查。
已打开另一个同名(含扩展名)不同路径的文档时直接返回 false,65536,0,说明,不调用 SOLIDWORKS。
本库参数检查失败错误码为 -1,第 4 返回值为说明。
sldworks.exe 所在目录。
连接时缓存的 SOLIDWORKS 进程 ID,供 IsResponsive 等不经 COM 的探测使用。
原生接口,按标题或完整路径关闭文档且不保存;同标题多文档时不能确定关闭哪一个,建议用本库 CloseDoc。
重建当前配置,默认调用 EditRebuild3;force=true 调用 ForceRebuild3(false)。
成功返回 true;失败返回 null,错误信息。不会自动回滚修改。
获取内部修订版本字符串,例如 33.4.0。
用草图特征创建旋转凸台或切除,返回 特征,错误码,isWarning;失败返回 null,说明。
options 必须指定 axis:草图中心线对象(NewSketch 回调的返回值)、基准轴特征名或直线边的 {x,y,z};可选 angle(弧度,默认 2π)、cut、reverse、merge、name。
内部 FeatureRevolve2;轮廓须闭合且位于轴一侧。
原生运行 UI 命令,不保证无交互;优先用建模 API。
通过 RunMacro2 运行宏;默认 module=""、procedure="Main"、options=0。
可运行 SWP/SWB 或受支持的 DLL 宏。
成功返回 true,失败返回 false,原生错误码。
只表示宏引擎调用状态;业务结果必须另外读取并验证。
调用 Extension.SaveAs3 保存或导出完整模型。
保留原 4 个参数顺序;doc 可指定目标文档,默认 ActiveDoc。
version 默认 0,options 默认 1(静默);对象参数省略时自动传 Nothing。
会激活目标文档并清空选择;不会创建父目录;可能覆盖已有文件。
已打开另一个同名(含扩展名)不同路径的文档时拒绝执行(false,-1,0,说明):SOLIDWORKS 不允许同名文档同时打开,API 强行另存实测会使会话长时间无响应。
返回 true或false,错误码,警告码;本库检查失败为 false,-1,0,说明。
SaveAs3 需要 SOLIDWORKS 2020 SP02 或更新版本,本库实测版本为 2025。
用 Save3 保存已有路径的文档;默认活动文档、静默保存。
未保存过的新文档直接返回错误,不弹另存为对话框。
返回 true或false,错误码,警告码;本库检查失败为 false,-1,0,说明。
用坐标(米)选择 FACE、EDGE、VERTEX、SKETCHSEGMENT、EXTSKETCHPOINT 等实体,不依赖本地化名称。
面/边/顶点先按几何定位实体对象再 Select4(不受视角遮挡影响);其他类型退回 SelectByID2 坐标拾取,只能拾取当前视图可见实体。
append 默认 false,mark 默认 0。返回是否选中;文档不必是活动文档。原点可用 SelectByPoint(doc,"EXTSKETCHPOINT",0,0,0,true) 选择。
用 Select4 选择一或多个面/边/顶点,specs 为单个 spec 或数组;返回选中个数,失败返回 null,说明。
mark 默认 0;append 默认 false 表示先替换当前选择。
原生显示消息框;不适用于无人值守脚本。
原生显示带图标和按钮的消息框。
设置组件位置/姿态并重建,返回组件信息。
options.position=[x,y,z](米),options.rotation=9 个数值的行优先 3×3 矩阵,缺省保留当前值。固定或已配合的组件可能被重建拉回。
写入或替换自定义属性(Add3 + ReplaceValue),返回回读的 name,value,resolvedValue,typeName。
typeCode 默认 text,可用 text/number/double/yesno/date 或 swCustomInfoType_e 数值。
失败返回 null,错误信息,状态码。
返回对象:SldWorksSetDimensionResultObject
设置尺寸并默认重建,返回纯数据结果;失败返回 null,错误信息,状态码。
dimension 为 "D1@特征名" 或 IDimension 对象;value 为米或弧度。
configuration 省略为当前配置,"*" 为所有配置,或指定配置名/配置名数组。
仅状态码 0 视为成功;结果含 before,after,statusName,rebuilt,scope,configurations。before/after 在目标配置中回读:作用域只含一个配置时为数值,多个配置时为按 configurations 顺序的数组(尺寸“应用到所有配置”时各配置值相同)。
按配置压缩/解除压缩特征(SetSuppression2),返回 {name,suppressed,scope,configurations=[{name,suppressed}]};失败返回 null,说明[,回读结果]。
configuration 省略为当前配置,"*" 为所有配置,或配置名/配置名数组;总是展开为明确配置名并重新按名称取得特征(旧特征对象绑定取得时的活动配置)。
unsuppressDependents=true 解除压缩时同时解除依赖特征。压缩父特征会连带子特征;回读与请求不一致时返回失败并附回读结果。
返回对象:SldWorksMaterialInfoObject
设置零件材料并回读验证;database 默认 "" 使用默认材料库,configuration 默认活动配置。
name 为空字符串表示移除材料。名称未被应用时返回 null,错误信息,当前材料信息。
成功返回 GetMaterial 结果;质量属性随之变化。仅零件。
显示并前置主窗口;普通 COM 建模无需反复抢焦点。
是否由用户控制。
若自行启动后台实例,关闭最后一个文档可能使其退出;需保留时显式设为 true。
执行文本 SWB 宏,支持 aardio 模板与表/数组传参。
自动删除临时文件。宏引擎失败返回 false,错误码;模板/COM异常返回 null,说明。
源代码按系统 ANSI 代码页传入;不要依赖其传输任意 Unicode 字符。
使用 Sub main();需要结果时请写文件或回读模型,避免 MsgBox 阻塞自动化。
窗口是否可见。
后台启动(保持 Visible=false)在 ROT 不可见(私有),com.sldWorks(false) 无法连接。
窗口显示(Visible=true)时在 ROT 注册,com.sldWorks(false) 可连接,
for i,doc in SldWorksObject.eachDocument(){
\t/*i 为索引,doc 为原生 COM 文档*/
}
[返回对象:SldWorksDocObject](#SldWorksDocObject)
for i,feature in SldWorksObject.eachFeature(){
\t/*顶层特征遍历,不递归子特征,不等同于 UI 树顺序*/
}
[返回对象:SldWorksFeatObject](#SldWorksFeatObject)
读取选择对象;选择索引从 1 开始,mark=-1 表示全部标记。
获取全部标记的已选择对象数。
重建后读回的系统单位值。
修改前的系统单位值。
已修改尺寸的完整名称。
是否已重建。
请求写入的值。
thisConfiguration、allConfigurations 或 specificConfigurations。
原生 swSetValueReturnStatus_e,0 为成功。
successful、failure、invalidValue、drivenDimension、modelNotLoaded、frozenFeatureOwner。
原生 swConstrainedStatus_e:2 欠定义、3 完全定义、4 过定义、5 无解、6 无效解。
状态名称:underDefined、fullyDefined、overDefined 等。
闭合轮廓数;拉伸通常需要至少 1 个。
是否完全定义。
是否三维草图。
草图特征名称。
草图点数。
草图区域数。
草图线段数。
ProfileFeature 或 3DProfileFeature。
当前草图对象;不是特征对象,不提供 GetFeature()。
可与 swApp.IsSame(feature.GetSpecificFeature2(),sketch) 比对以找回草图特征;swApp.NewSketch 已封装此流程。
在活动草图中按圆心和半径创建圆;长度均为米。
用对角点创建矩形,返回草图线段数组;长度均为米。
线段可用 segment.Select4(false,com.nothing()) 选择后调用 doc.AddDimension2 标注。
在活动草图中创建直线;长度均为米。
进入或退出二维草图;这是切换操作,不可盲目重复执行。