aardio 文档

com.sldWorks 库模块帮助文档

相关文档

官方 API

以所安装的 SOLIDWORKS 版本为准。本库在 SOLIDWORKS 2025 上验证。

官方入口:https://help.solidworks.com/2025/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks_members.html

» 使用指南 » 文档与会话安全 » 建模闭环 » 特征装配工程图 » 反馈与图像 » 材料与属性

com 成员列表 #

com.sldWorks() #

返回对象:SldWorksObject

com.sldWorks(comObject) #

将 SldWorks.Application 对象(原生 COM 对象)封装为 com.sldWorks 对象。

com.sldWorks(startIfMissing,version) #

连接 SOLIDWORKS。
startIfMissing 默认 true:先连接,再尝试创建;指定版本不存在时允许版本回退。
startIfMissing=false:只连接已前台运行(Visible=true)的实例,不启动、不回退版本。
version 可选,可显式指定(一般不必要)为 2025、"2025"、33 或 "33"。
指定版本则 nstartIfMissing 总是强制设为 true 。

成功返回 COM 对象;失败返回 null,错误信息。
当前进程与 SOLIDWORKS 应有相同权限;同版本多实例不保证连接哪一个。

返回对象:SldWorksObject

com.sldWorks 成员列表 #

三维工业制图软件 SOLIDWORKS 的 COM 接口自动化库。
保留原生 API,补充文档管理、结构化反馈、图像导出与宏支持。
原生常量可输入 _sw 前缀使用智能提示。

com.sldWorks.eachRunning() #

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)

com.sldWorks.getDocType(path) #

按扩展名推断原生文档类型;未知返回 null。
SLDPRT=1,SLDASM=2,SLDDRW=3。
不会将 STEP、IGES 误认为原生零件。

com.sldWorks.getVersionNumber(version) #

年份转内部主版本号,例如 2025 → 33。
也接受内部主版本号;无效参数返回 null,错误信息。

com.sldWorks.isResponsive(timeout,processId) #

调用 probe 并返回 是否响应,探测详情。
SOLIDWORKS 未运行时返回 false(详情 running=false)。

com.sldWorks.loadcode(lang,code,templateOwner) #

解析 VBA 或 C# 模板,返回文本;失败返回 null,错误信息。
templateOwner 可在模板里通过 owner 访问。
表或数组输出为 JsonParse 表达式;并非执行 SOLIDWORKS 宏。

com.sldWorks.probe(timeout,processId) #

不经 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 调用(包括连接)都会无限等待,连接前与长任务每一步前应先探测。

SldWorksApplyConfigurationResultObject 成员列表 #

SldWorksApplyConfigurationResultObject.activateError #

结束时切换配置失败的说明。

SldWorksApplyConfigurationResultObject.active #

调用结束时的活动配置名。

SldWorksApplyConfigurationResultObject.created #

本次新建的配置名数组。

SldWorksApplyConfigurationResultObject.document #

文档标题。

SldWorksApplyConfigurationResultObject.failed #

errors 非空的行(子集引用 rows 中的同一对象)。

SldWorksApplyConfigurationResultObject.originalActive #

调用前的活动配置名。

SldWorksApplyConfigurationResultObject.rebuildError #

重建失败时的说明。

SldWorksApplyConfigurationResultObject.rows #

[{name,created,dimensions={尺寸名=写入后的值},features={特征名=是否压缩},properties={属性名=值},material=材料名,errors=[]}]。

SldWorksApplyConfigurationResultObject.verified #

verify=true 时按写过的列回读的配置表(!stdSldWorksConfigurationTable),只含本次涉及的配置。

SldWorksApplyConfigurationResultObject.verifyError #

回读失败时的说明。

SldWorksComponentInfoObject 成员列表 #

SldWorksComponentInfoObject.box #

装配体坐标的近似包围盒 [xmin,ymin,zmin,xmax,ymax,zmax](米)。

SldWorksComponentInfoObject.configuration #

引用的配置名。

SldWorksComponentInfoObject.fixed #

是否固定。

SldWorksComponentInfoObject.name #

组件名称,例如 block-1,可用于 FindComponent 与 AddMate 的 component 字段。

SldWorksComponentInfoObject.path #

组件引用的文件完整路径。

SldWorksComponentInfoObject.position #

组件原点在装配体坐标中的位置 [x,y,z](米)。

SldWorksComponentInfoObject.rotation #

行优先 3×3 旋转矩阵(9 个数值)。

SldWorksComponentInfoObject.suppressed #

是否被压缩。

SldWorksComponentInfoObject.suppressionStateName #

压缩状态名:suppressed、lightweight、fullyResolved、resolved 等。

SldWorksComponentInfoObject.visible #

是否可见。

SldWorksConfigurationInfoObject 成员列表 #

SldWorksConfigurationInfoObject.active #

是否活动配置。

SldWorksConfigurationInfoObject.alternateName #

备用名称(BOM 用)。

SldWorksConfigurationInfoObject.childCount #

派生子配置数。

SldWorksConfigurationInfoObject.comment #

注释。

SldWorksConfigurationInfoObject.description #

说明。

SldWorksConfigurationInfoObject.isDerived #

是否派生配置。

SldWorksConfigurationInfoObject.name #

配置名称。

SldWorksConfigurationInfoObject.parent #

父配置名,非派生配置为 null。

SldWorksConfigurationInfoObject.previousActive #

AddConfiguration 调用前的活动配置名(仅 AddConfiguration 返回)。

SldWorksConfigurationInfoObject.suppressNewFeatures #

新特征是否默认在此配置中压缩。

SldWorksConfigurationInfoObject.typeName #

配置类型:standard、asMachined、asWelded、sheetMetal、speedPak、defeature。

SldWorksConfigurationTableObject 成员列表 #

SldWorksConfigurationTableObject.active #

活动配置名(mass=true 时为循环结束后的活动配置)。

SldWorksConfigurationTableObject.columns #

{dimensions=[{name,fullName,feature,unit,paramType,appliedToAllConfigurations}],features=[{name,typeName}],properties=[{name,typeName}]}。

SldWorksConfigurationTableObject.configurations #

行顺序对应的配置名数组。

SldWorksConfigurationTableObject.differences #

{dimensions=[列名],features=[特征名],properties=[属性名],material=bool},列出在各配置之间取值不同的列。

SldWorksConfigurationTableObject.document #

文档标题。

SldWorksConfigurationTableObject.massErrors #

mass=true 时各配置的激活或计算错误(无错误时为 null)。

SldWorksConfigurationTableObject.rows #

每个配置一行:{index,name,active,comment,description,typeName,isDerived,parent,dimensions={"D1@特征名"=值},features={特征名=是否压缩},properties={属性名=值},material={name,database[,density]}[,mass={mass,volume,surfaceArea,centerOfMass}]}。

SldWorksConfigurationTableObject.warnings #

未找到的尺寸/特征/属性名以及尺寸扫描截断提示。

SldWorksDimensionInfoObject 成员列表 #

SldWorksDimensionInfoObject.appliedToAllConfigurations #

是否应用于所有配置。

SldWorksDimensionInfoObject.driven #

是否从动尺寸;从动尺寸不能用 SetDimension 驱动几何。

SldWorksDimensionInfoObject.feature #

拥有该尺寸的特征名。

SldWorksDimensionInfoObject.fullName #

完整名称,例如 D1@AA_Block@零件.SLDPRT;SetDimension 可用 "D1@AA_Block"。

SldWorksDimensionInfoObject.name #

尺寸名,例如 D1。

SldWorksDimensionInfoObject.paramType #

原生 swDimensionParamType_e:0 长度、1 角度、2 整数。

SldWorksDimensionInfoObject.readOnly #

是否只读。

SldWorksDimensionInfoObject.unit #

m、rad 或 count。

SldWorksDimensionInfoObject.value #

当前配置的系统单位值:长度为米、角度为弧度。

SldWorksDimensionObject 成员列表 #

SldWorksDimensionObject.DrivenState #

1 从动、2 驱动。

SldWorksDimensionObject.FullName #

完整尺寸名,例如 D1@AA_Block@零件.SLDPRT。

SldWorksDimensionObject.GetSystemValue3(mode,configurations) #

读取系统单位值数组;mode 1 当前配置传 com.nothing(),3 指定配置传名称数组。

SldWorksDimensionObject.ReadOnly #

是否只读。

SldWorksDimensionObject.SetSystemValue3(value,mode,configurations) #

按系统单位设置;mode 1 当前配置、2 所有配置、3 指定配置。
返回状态整数,0 才是成功。建议改用 swApp.SetDimension。

SldWorksDimensionObject.SystemValue #

以系统单位读写尺寸:长度为米,角度为弧度。
修改后必须重建并读取模型结果验证。

SldWorksDocInfoObject 成员列表 #

SldWorksDocInfoObject.approximateBounds #

非空零件的近似包围盒;单位见 boundsUnit。

SldWorksDocInfoObject.boundsUnit #

包围盒单位 m。

SldWorksDocInfoObject.configuration #

零件/装配体活动配置名。

SldWorksDocInfoObject.configurations #

零件/装配体全部配置名数组。

SldWorksDocInfoObject.documentType #

文档类型数值。

SldWorksDocInfoObject.documentTypeName #

part、assembly、drawing 或 other。

SldWorksDocInfoObject.editingSketch #

仅零件/装配体:是否有活动编辑草图。工程图不提供此字段,不能从活动图纸草图推断 UI 编辑模式。

SldWorksDocInfoObject.hasActiveSketch #

原生接口是否返回活动草图;工程图的图纸草图也会使其为 true。

SldWorksDocInfoObject.material #

仅零件:name、database、density(kg/m^3)。

SldWorksDocInfoObject.modified #

是否有未保存修改。

SldWorksDocInfoObject.path #

完整文件路径,未保存时为空字符串。

SldWorksDocInfoObject.readOnly #

是否只读打开。

SldWorksDocInfoObject.selectionCount #

当前选择对象数。

SldWorksDocInfoObject.solidBodyCount #

零件实体数,包含隐藏实体。

SldWorksDocInfoObject.surfaceBodyCount #

零件曲面实体数。

SldWorksDocInfoObject.title #

文档标题。

SldWorksDocInfoObject.units #

文档显示单位:length、lengthFactor(每米对应的单位数)、angle、angleFactor。

SldWorksDocObject 成员列表 #

SldWorksDocObject.* #

原生 IModelDoc2 文档。不同文档类型还提供 IPartDoc/IAssemblyDoc/IDrawingDoc API。

SldWorksDocObject.ClearSelection2(true) #

清空所有选择。不同建模阶段之前应明确管理选择集。

SldWorksDocObject.EditRebuild3() #

重建需要更新的特征,返回是否成功。

SldWorksDocObject.Extension #

文档扩展接口。

返回对象:SldWorksExtObject

SldWorksDocObject.FeatureManager #

特征管理器。

返回对象:SldWorksFeatureMgrObject

SldWorksDocObject.FirstFeature() #

第一个顶层特征。

返回对象:SldWorksFeatObject

SldWorksDocObject.ForceRebuild3(false) #

强制重建当前配置;false 也重建装配体子层级。

SldWorksDocObject.GetActiveSketch2() #

返回原生活动草图。
工程图也可能返回图纸草图,不能据此推断 UI 草图编辑模式;新代码也可用 SketchManager.ActiveSketch。

SldWorksDocObject.GetBodies2(bodyType,visibleOnly) #

仅零件文档:返回实体数组。0=实体,1=曲面,-1=全部;false 包含隐藏实体。

SldWorksDocObject.GetPartBox(true) #

仅零件文档:返回米制近似包围盒 [xmin,ymin,zmin,xmax,ymax,zmax],不是精密测量。

SldWorksDocObject.GetPathName() #

获取完整路径;未保存过时为空字符串。

SldWorksDocObject.GetSaveFlag() #

是否有需要保存的修改。

SldWorksDocObject.GetTitle() #

获取准确标题;用于关闭或激活未保存文档。

SldWorksDocObject.GetType() #

文档类型:零件 1、装配体 2、工程图 3。

SldWorksDocObject.GraphicsRedraw2() #

重绘图形区,不等于重建模型。

SldWorksDocObject.IsOpenedReadOnly() #

是否以只读方式打开。

SldWorksDocObject.Parameter() #

根据完整尺寸名获取尺寸,例如 "D1@AA_Block";名称不存在返回 null。

返回对象:SldWorksDimensionObject

SldWorksDocObject.SaveBMP(path,width,height) #

原生导出 BMP,须用完整 .bmp 路径;返回是否成功。
建议用 swApp.CaptureView 自动转 PNG。

SldWorksDocObject.SelectionManager #

选择管理器。

返回对象:SldWorksSelectionMgrObject

SldWorksDocObject.SetTitle2() #

设置尚未保存文档的标题。

SldWorksDocObject.ShowFeatureErrorDialog #

是否显示特征错误对话框;自动化可临时设为 false,但仍须检查错误码。

SldWorksDocObject.ShowNamedView2(name,viewId) #

设置命名或标准视图。例如 ShowNamedView2("",7) 为等轴测。
标准方向:前1、后2、左3、右4、上5、下6、等轴测7。

SldWorksDocObject.SketchManager #

草图管理器。

返回对象:SldWorksSketchMgrObject

SldWorksDocObject.ViewZoomtofit2() #

缩放到适合整个模型。

SldWorksDocObject.getSummaryInfo(fieldId) #

读取带索引的摘要属性。

SldWorksDocObject.setSummaryInfo(fieldId,value) #

写入带索引的摘要属性;fieldId 用 _swSumInfo 前缀常量。

SldWorksEdgeInfoObject 成员列表 #

SldWorksEdgeInfoObject.axis #

圆边轴向 [x,y,z],仅 isCircle。

SldWorksEdgeInfoObject.body #

所属实体序号。

SldWorksEdgeInfoObject.center #

圆边圆心 [x,y,z],仅 isCircle。

SldWorksEdgeInfoObject.closed #

是否闭合边(起终点重合)。

SldWorksEdgeInfoObject.curveTypeName #

曲线类型:line、circle、ellipse、bcurve 等。

SldWorksEdgeInfoObject.end #

终点 [x,y,z](米)。

SldWorksEdgeInfoObject.index #

序号。

SldWorksEdgeInfoObject.isCircle #

是否圆/圆弧边。

SldWorksEdgeInfoObject.isLine #

是否直线边。

SldWorksEdgeInfoObject.length #

边长(米)。

SldWorksEdgeInfoObject.mid #

边上的真实中点 [x,y,z](米),可直接作为 Fillet/Chamfer/LinearPattern 的参考。

SldWorksEdgeInfoObject.radius #

圆边半径(米),仅 isCircle。

SldWorksEdgeInfoObject.start #

起点 [x,y,z](米)。

SldWorksExtObject 成员列表 #

SldWorksExtObject.CreateMassProperty2() #

创建原生质量属性对象;当前选中的实体/组件可能影响计算范围。

SldWorksExtObject.CustomPropertyManager() #

原生自定义属性管理器;参数 "" 为文档级,配置名为配置级。
建议改用 swApp.GetCustomProperties / SetCustomProperty。

SldWorksExtObject.SaveAs(path,version,options,exportData,errors,warnings) #

旧原生保存接口;完整路径、空对象用 Nothing、输出参数用 com.int(0,true)。

SldWorksExtObject.SaveAs3(path,version,options,exportData,advancedOptions,errors,warnings) #

原生另存为/导出。完整路径,对象空参用 com.nothing(),输出码用 com.int(0,true)。
需自行保证活动文档和选择集正确;本库 SaveAs 已处理这些细节。

SldWorksExtObject.SelectByID2(name,entityType,x,y,z,append,mark,callout,option) #

按名称/类型或位置选择,返回是否成功。
callout 不使用时传 com.nothing();名称为空时按坐标选择。
名称可能受语言影响,优先用已取得对象的 Select2 或 swApp.SelectByPoint。

SldWorksFaceInfoObject 成员列表 #

SldWorksFaceInfoObject.area #

面积,平方米。

SldWorksFaceInfoObject.body #

所属实体序号。

SldWorksFaceInfoObject.box #

包围盒 [xmin,ymin,zmin,xmax,ymax,zmax],米。

SldWorksFaceInfoObject.center #

包围盒中心,米;不一定落在面上。

SldWorksFaceInfoObject.edgeCount #

边数。

SldWorksFaceInfoObject.feature #

生成此面的特征名。

SldWorksFaceInfoObject.index #

面序号,特征变更后会变化,不是稳定引用。

SldWorksFaceInfoObject.isPlane #

是否平面。

SldWorksFaceInfoObject.normal #

平面法向 [nx,ny,nz];非平面无此字段。

SldWorksFaceInfoObject.point #

面上距离中心最近的实际点,米;可用于 SelectByPoint 或 NewSketch。

SldWorksFaceInfoObject.surfaceType #

原生 swSurfaceTypes_e:4001 平面、4002 圆柱、4003 圆锥、4004 球、4005 环。

SldWorksFaceInfoObject.surfaceTypeName #

plane、cylinder、cone、sphere、torus 等。

SldWorksFeatObject 成员列表 #

SldWorksFeatObject.GetErrorCode2(isWarning) #

原生错误码。isWarning 须为 com.Variant(false,11,true) 创建的 BOOL 输出引用。
只有返回码非零时该标志才有效。

SldWorksFeatObject.GetFirstSubFeature() #

第一个子特征;子特征结构不一定与 UI 树相同。

返回对象:SldWorksFeatObject

SldWorksFeatObject.GetNextFeature() #

下一个顶层特征。

返回对象:SldWorksFeatObject

SldWorksFeatObject.GetNextSubFeature() #

下一个子特征。

返回对象:SldWorksFeatObject

SldWorksFeatObject.GetTypeName2() #

获取不依赖 UI 语言的特征类型名,例如 RefPlane、ProfileFeature、Extrusion。

SldWorksFeatObject.IsSuppressed() #

是否在当前配置中被压缩。

SldWorksFeatObject.Name #

特征名称,可以修改;自动化宜为自己创建的特征设稳定名称。

SldWorksFeatObject.Select2(append,mark) #

选择特征,返回是否成功;默认常用 Select2(false,0)。

SldWorksFeatureMgrObject 成员列表 #

SldWorksFeatureMgrObject.FeatureCut4(Sd,Flip,Dir,T1,T2,D1,D2,Dchk1,Dchk2,Ddir1,Ddir2,Dang1,Dang2,OffsetReverse1,OffsetReverse2,TranslateSurface1,TranslateSurface2,NormalCut,UseFeatScope,UseAutoSelect,AssemblyFeatureScope,AutoSelectComponents,PropagateFeatureToParts,T0,StartOffset,FlipStartOffset,OptimizeGeometry) #

创建切除拉伸;27 个参数,非钣金零件 NormalCut/OptimizeGeometry 传 false。
常规切除建议改用 swApp.Extrude(doc,sketch,{cut=true;...})。

返回对象:SldWorksFeatObject

SldWorksFeatureMgrObject.FeatureExtrusion3(Sd,Flip,Dir,T1,T2,D1,D2,Dchk1,Dchk2,Ddir1,Ddir2,Dang1,Dang2,OffsetReverse1,OffsetReverse2,TranslateSurface1,TranslateSurface2,Merge,UseFeatScope,UseAutoSelect,T0,StartOffset,FlipStartOffset) #

创建拉伸特征;调用前须明确选择草图。
D1,D2,StartOffset 为米,角度为弧度;完整参数见建模闭环指南。
返回原生特征,失败可能返回 null,不能只检查有无异常。常规凸台建议改用 swApp.Extrude。

返回对象:SldWorksFeatObject

SldWorksImageInfoObject 成员列表 #

SldWorksImageInfoObject.documentPath #

捕获时的目标文档路径;尚未保存时为空字符串。

SldWorksImageInfoObject.height #

实际图像高度,像素。

SldWorksImageInfoObject.path #

实际生成图像的完整路径。

SldWorksImageInfoObject.source #

固定为 model-view;不包含桌面或外部对话框。

SldWorksImageInfoObject.title #

捕获时的目标文档标题。

SldWorksImageInfoObject.width #

实际图像宽度,像素。

SldWorksLinearPatternInfoObject 成员列表 #

SldWorksLinearPatternInfoObject.corrected1 #

是否因 toward1 与实际方向相反而在创建后翻转了方向 1。

SldWorksLinearPatternInfoObject.corrected2 #

是否因 toward2 与实际方向相反而在创建后翻转了方向 2。

SldWorksLinearPatternInfoObject.count1 #

方向 1 实例数(含种子)。

SldWorksLinearPatternInfoObject.count2 #

方向 2 实例数(含种子),无方向 2 时为 1。

SldWorksLinearPatternInfoObject.direction1 #

方向 1 的实际单位向量 [dx,dy,dz](由 GetTransform 回读),count1 为 1 或无法回读时为 null。

SldWorksLinearPatternInfoObject.direction2 #

方向 2 的实际单位向量,未指定方向 2 时为 null。

SldWorksLinearPatternInfoObject.flip1 #

特征定义中方向 1 是否反向(D1ReverseDirection)。

SldWorksLinearPatternInfoObject.flip2 #

特征定义中方向 2 是否反向(D2ReverseDirection)。

SldWorksLinearPatternInfoObject.spacing1 #

方向 1 间距(米)。

SldWorksLinearPatternInfoObject.spacing2 #

方向 2 间距(米)。

SldWorksLinearPatternInfoObject.warnings #

无法回读方向时的说明数组,正常时为 null。

SldWorksMassInfoObject 成员列表 #

SldWorksMassInfoObject.centerOfMass #

质心 [x,y,z],米。

SldWorksMassInfoObject.inertia #

质心处惯性分量 [XX,YY,ZZ,XY,ZX,YZ],kg*m^2。

SldWorksMassInfoObject.mass #

质量,千克;依赖模型材质/密度及覆盖设置。

SldWorksMassInfoObject.status #

原生质量计算状态码。

SldWorksMassInfoObject.surfaceArea #

表面积,平方米。

SldWorksMassInfoObject.units #

每类物理量的单位名。

SldWorksMassInfoObject.volume #

体积,立方米。

SldWorksMaterialInfoObject 成员列表 #

SldWorksMaterialInfoObject.configuration #

读取材料时使用的配置名。

SldWorksMaterialInfoObject.database #

材料库名称。

SldWorksMaterialInfoObject.density #

当前密度,kg/m^3;未指定材料时为文档默认密度。

SldWorksMaterialInfoObject.densityUnit #

固定为 kg/m^3。

SldWorksMaterialInfoObject.name #

材料名称(随安装语言本地化);未指定材料时为空字符串。

SldWorksObject 成员列表 #

SldWorksObject.* #

可以直接调用 SOLIDWORKS 原生 ISldWorks API。
这里只列出常用入口;封装和示例的实测版本为 2025,原生 API 完整参数以对应版本 API Help 为准。

SldWorksObject.ActivateConfiguration() #

返回对象:SldWorksConfigurationInfoObject

SldWorksObject.ActivateConfiguration(doc,name,rebuild) #

激活配置(ShowConfiguration2)并默认 EditRebuild3,返回 配置信息,状态:activated 或 alreadyActive。
配置不存在或激活后活动配置仍不是目标时返回 null,说明。质量属性、GetFaces 等只反映活动配置,切换后再读取。

SldWorksObject.ActivateDoc() #

返回对象:SldWorksDocObject

SldWorksObject.ActivateDoc(nameOrDoc,usePreferences,option) #

激活文档,nameOrDoc 用法同 FindDoc。
默认 usePreferences=false,option=1(不重建、不弹询问框)。
返回 文档或null,状态码;有效文档也可能有需要重建的警告。
本库查找失败返回 null,-1,说明。

SldWorksObject.ActiveDoc #

当前活动文档;没有活动文档时为 null。

返回对象:SldWorksDocObject

SldWorksObject.AddComponent(doc,path,options) #

向装配体插入零件/装配体文件,返回 组件对象,组件信息;失败返回 null,说明。
options:x、y、z(米,默认对应组件包围盒中心)、origin=true 改为组件原点落在该位置、configuration、visible(默认 false:引用文件隐藏加载,不弹出窗口,装配体关闭后自动释放)。
第一个组件默认固定。内部 AddComponent5 后 EditRebuild3。

SldWorksObject.AddConfiguration() #

返回对象:SldWorksConfigurationInfoObject

SldWorksObject.AddConfiguration(doc,name,options) #

添加配置(AddConfiguration2)并返回配置信息(含 previousActive);失败返回 null,说明。
options 可为注释字符串或表:comment、description、alternateName、parent(派生配置的父配置名)、activate(默认 true,与 UI 一致使新配置成为活动配置;false 保持当前配置)、suppressByDefault、hideByDefault、minFeatureManager、rebuild(默认 true)、flags(附加 swConfigurationOptions2_e 位)。
同名配置或父配置不存在时不调用 SOLIDWORKS 直接返回失败。

SldWorksObject.AddMate(doc,entity1,entity2,options) #

添加配合,返回 配合对象,配合信息;失败返回 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。

SldWorksObject.AddNote(doc,text,options) #

插入注释并返回 注释对象,{text,position}。options:x、y(米,工程图为图纸坐标)、height(字高,米)。

SldWorksObject.ApplyConfigurationTable() #

返回对象:SldWorksApplyConfigurationResultObject

SldWorksObject.ApplyConfigurationTable(doc,rows,options) #

按配置表批量写入零件/装配体: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 列出行与错误)。

SldWorksObject.CaptureView() #

返回对象:SldWorksImageInfoObject

SldWorksObject.CaptureView(path,doc,width,height,view) #

导出当前模型视图,返回图像元信息。
默认生成临时 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,错误信息;返回图像文件由调用者负责清理。

SldWorksObject.Chamfer(doc,edges,options) #

对一或多条边创建倒角,返回 特征,错误码,isWarning;失败返回 null,说明。
options 为距离数值(米)或表:distance、distance2(不等距)或 angle(弧度,角度-距离)、propagate(默认 true 沿相切边传播)、name。
内部 InsertFeatureChamfer;angle 与 distance2 不能同时指定。

SldWorksObject.CircularPattern(doc,features,options) #

对特征创建圆周阵列,返回 特征,错误码,isWarning;失败返回 null,说明。
options:axis(圆柱面上的 {x,y,z}、圆边、基准轴特征名或对象)、count(含原始实例)、angle(弧度,默认 2π)、equalSpacing(默认 true)、flip、geometryPattern、name。
内部 FeatureCircularPattern5。

SldWorksObject.CloseAllDocuments(includeUnsaved) #

原生接口,关闭所有文档。
includeUnsaved=true 也关闭未保存文档,自动化脚本一般只应关闭自己创建的文档(用 CloseNewDocs)。

SldWorksObject.CloseDoc(doc,discardChanges) #

关闭文档(本库覆盖原生按标题关闭的接口)。doc 用法同 FindDoc,"" 表示活动文档。
默认拒绝丢弃未保存修改(discardChanges=true 才丢弃),拒绝同标题歧义,按完整路径唯一定位已保存文档。
成功返回 true,状态:closed;hidden/referenced 表示文档仍被其他打开文档引用,只释放窗口、模型数据保留(SOLIDWORKS 正常行为)。
失败返回 null,错误信息。原生行为可用 QuitDoc(name) 直接调用。

SldWorksObject.CloseDocs(docs,discardChanges) #

批量关闭文档数组(对象、完整路径或准确标题),按 工程图→装配体→零件 顺序关闭。
返回 {closed=[{name,state}],failed=[{name,message}],count};已随引用释放的文档记为 alreadyClosed。

SldWorksObject.CloseNewDocs(snapshot,discardChanges) #

关闭快照之后新打开的全部文档,包括 AddComponent、工程图视图隐式加载的引用文档。
snapshot 为任务开始时 GetDocumentList() 的返回值;返回值同 CloseDocs。
自动化脚本应在结束时调用,避免文档越积越多、同名冲突。

SldWorksObject.CommandInProgress #

外部命令执行状态;临时修改后必须恢复,不要全程置为 true。

SldWorksObject.DeleteConfiguration(doc,name) #

删除配置(DeleteConfiguration2),返回 true,实际删除的配置名数组(派生子配置随父配置一起删除)。
活动配置、唯一配置或不存在的配置直接返回 null,说明;请先 ActivateConfiguration 切换到其他配置。

SldWorksObject.DeleteCustomProperty(doc,name,configuration) #

删除自定义属性;成功返回 true,失败返回 null,错误信息,状态码。

SldWorksObject.DocumentVisible(visible,docType) #

原生接口,设置之后打开的该类型文档是否显示窗口;用完必须恢复 true。OpenDoc(...,visible=false) 已封装。

SldWorksObject.ExitApp() #

原生接口,退出 SOLIDWORKS;不会被本库自动调用。

SldWorksObject.Extrude(doc,sketch,options) #

用草图特征创建拉伸凸台或切除,返回 特征,错误码,isWarning;失败返回 null,错误信息。
sketch 为 ProfileFeature 名称或对象;options 可为深度数值或表:
depth(米)、cut、endCondition(blind/throughAll/throughAllBoth/midPlane/upToNext)、reverse、flipSide、draft(弧度)、draftInward、merge、name。
内部调用 FeatureExtrusion3 / FeatureCut4,特征范围自动选择所有实体;执行后清空选择。

返回对象:SldWorksFeatObject

SldWorksObject.Fillet(doc,edges,options) #

对一或多条边创建等半径圆角,返回 特征,错误码,isWarning;失败返回 null,说明。
edges 为边的 {x,y,z}、COM 对象或它们的数组;options 为半径数值(米)或表:radius、propagate(默认 true 沿相切边传播)、name。
内部 FeatureFillet3;执行前后清空选择;半径超过相邻面尺寸时 SOLIDWORKS 不创建特征。

SldWorksObject.FindComponent(doc,component) #

按准确组件名(如 block-1)或组件对象取得原生 IComponent2,返回 组件,文档;失败返回 null,说明。

SldWorksObject.FindDoc() #

返回对象:SldWorksDocObject

SldWorksObject.FindDoc(nameOrDoc) #

查找文档,省略参数取 ActiveDoc。
参数可为原生文档对象、完整路径或准确标题;不使用模式匹配。
路径未找到不回退到同名标题;标题有歧义返回错误。
失败返回 null,错误信息;不打开、不激活文档。

SldWorksObject.FindEntity(doc,entityType,spec) #

按几何定位面/边/顶点(FACE、EDGE、VERTEX),不依赖视角与本地化名称,返回 实体对象,距离,组件。
spec 为 {x,y,z}(米)、[x,y,z]、COM 对象,装配体可加 component=组件名(坐标为装配体坐标,local=true 表示组件局部坐标)。
最近实体超过容差(默认 1e-5 米,可用 spec.tolerance 覆盖)时返回 null,说明,最近距离。

SldWorksObject.FindFeature(doc,feature) #

按准确特征名(FeatureByName)或特征对象取得原生 IFeature,返回 特征,文档。
不使用模式匹配;失败返回 null,错误信息。

返回对象:SldWorksFeatObject

SldWorksObject.GetAppInfo() #

返回可 JSON 序列化的实例信息:revision、processId、executableDirectory、documentCount。

SldWorksObject.GetComponents() #

返回对象:SldWorksComponentInfoObject

SldWorksObject.GetComponents(doc,topLevelOnly) #

列出装配体组件的纯数据,topLevelOnly 默认 true;仅装配体,失败返回 null,说明。
每项含 index,name,path,configuration,fixed,suppressionState,suppressionStateName,suppressed,visible,position,rotation,box(装配体坐标,米)。

SldWorksObject.GetConfigurationTable() #

返回对象:SldWorksConfigurationTableObject

SldWorksObject.GetConfigurationTable(doc,options) #

读取零件/装配体的配置表(轻量 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 时补齐)。

SldWorksObject.GetConfigurations() #

返回对象:SldWorksConfigurationInfoObject

SldWorksObject.GetConfigurations(doc) #

列出零件/装配体的配置纯数据数组:index,name,active,comment,description,alternateName,useAlternateNameInBOM,type,typeName,isDerived,parent,childCount,suppressNewFeatures,id。
顺序为 SOLIDWORKS 文档配置顺序;失败返回 null,说明。

SldWorksObject.GetCustomProperties(doc,configuration) #

列出自定义属性;configuration 默认 ""(文档级),也可指定配置名。
每项含 name,value,resolvedValue,resolved,linked,typeCode,typeName。失败返回 null,错误信息。

SldWorksObject.GetDefaultTemplate(docType) #

获取并验证当前默认模板路径;docType 默认 1。
1=零件,2=装配体,3=工程图。
不存在返回 null,错误信息;不猜测模板、不改系统配置、不弹选择框。

SldWorksObject.GetDimensions() #

返回对象:SldWorksDimensionInfoObject

SldWorksObject.GetDimensions(doc,feature,limit) #

列出特征(含其草图)的显示尺寸;feature 省略则遍历全部顶层特征并按 fullName 去重。
返回 数组,truncated;limit 默认 200。
每项含 name,fullName,feature,value(米/弧度),unit,paramType,readOnly,driven,appliedToAllConfigurations。
修改尺寸请用 SetDimension 或 doc.Parameter(name)。

SldWorksObject.GetDocInfo() #

返回对象:SldWorksDocInfoObject

SldWorksObject.GetDocInfo(doc) #

返回纯数据文档摘要;doc 用法同 FindDoc。
包含标题、路径、类型、修改/只读标志、活动配置与配置列表、文档单位、选择数与草图编辑状态。
零件附带实体/曲面数、近似包围盒(米)与材料信息;不计算质量、不读取完整特征树。
失败返回 null,错误信息。

SldWorksObject.GetDocumentCount() #

返回打开的文档数。

SldWorksObject.GetDocumentList() #

返回纯数据的打开文档列表:index,title,path,documentType,documentTypeName,modified,readOnly,visible。
比 GetDocInfo 轻量;任务开始时保存为快照,结束时传给 CloseNewDocs 清理自己打开的文档。

SldWorksObject.GetDocuments() #

返回原生文档数组。

返回对象:SldWorksDocObject

SldWorksObject.GetDrawingViews(doc) #

列出工程图模型视图的纯数据:index,name,sheet,orientation,scale,position,outline,referencedDocument,referencedConfiguration,dimensionCount,dimensions。
不含图纸本身;仅工程图。

SldWorksObject.GetEdges() #

返回对象:SldWorksEdgeInfoObject

SldWorksObject.GetEdges(doc,limit) #

列出零件所有实体的边,返回 数组,truncated;limit 默认 1000。
每项含 index,body,curveType,curveTypeName,isLine,isCircle,closed,length,start,end,mid;圆边另含 center,axis,radius。
mid 是边上的真实中点,可直接作为 Fillet/Chamfer/LinearPattern 的 {x,y,z} 参考。仅零件。

SldWorksObject.GetFaces() #

返回对象:SldWorksFaceInfoObject

SldWorksObject.GetFaces(doc,limit) #

列出零件所有实体的面,返回 数组,truncated;limit 默认 500。
每项含 index,body,area,surfaceType,surfaceTypeName,isPlane,normal(平面),edgeCount,box,center,point,feature。
point 是面上的实际点,可直接用于 SelectByPoint 或 NewSketch 的 target。仅零件。

SldWorksObject.GetFeatureSuppression(doc,feature) #

读取特征在每个配置中的压缩状态:{name,active,suppressed(活动配置),configurations=[{name,suppressed,active}]}。
逐配置调用 IsSuppressed2(swSpecifyConfiguration),避免 IsSuppressed2 返回顺序为文档配置顺序的坑。

SldWorksObject.GetFeatures(doc,limit) #

返回纯数据顶层特征数组,truncated。
limit 默认 200,范围 1 到 10000;失败返回 null,错误信息。
每项含 index,name,typeName,suppressed,code,isWarning;草图特征另含 constrainedStatus,constrainedStatusName。
code=0 表示此特征未报告错误;非零时用 isWarning 区分警告/错误。
不是完整设计验证,未扫描到的子特征或截断部分不能视为正常。

SldWorksObject.GetFirstDocument() #

返回首个文档。

返回对象:SldWorksDocObject

SldWorksObject.GetMassProperties() #

返回对象:SldWorksMassInfoObject

SldWorksObject.GetMassProperties(doc,accuracy) #

获取整个零件/装配体的质量属性,不改变选择,不受当前选择子集影响。
调用兼容接口 GetMassProperties2(accuracy,status,false),accuracy 默认 1。
返回纯数据;失败返回 null,说明,原生状态码(若有)。
数值使用 SI:m、m^2、m^3、kg、kg*m^2;未指定材质时不能假定质量有工程意义。

SldWorksObject.GetMaterial() #

返回对象:SldWorksMaterialInfoObject

SldWorksObject.GetMaterial(doc,configuration) #

读取零件材料,返回 name,database,density(kg/m^3),configuration。
未指定材料时 name 为空,density 为文档默认密度。仅零件。

SldWorksObject.GetMaterials(database) #

解析材料库 .sldmat(UTF-16 XML),返回 [{name,classification,density,database}]。
database 省略时优先 "solidworks materials.sldmat",可指定已配置库的文件名或完整路径。
材料名称随安装语言本地化,应先查询再调用 SetMaterial。失败返回 null,错误信息。

SldWorksObject.GetMates(doc) #

列出装配体配合的纯数据:index,name,typeName,mateType,mateTypeName,alignment,alignmentName,suppressed,entities=[{component,referenceTypeName,params}];距离/角度配合含 dimension={fullName,value}。

SldWorksObject.GetOpenDocument() #

原生接口:按名称获取打开的文档。

返回对象:SldWorksDocObject

SldWorksObject.GetOpenDocumentByName() #

原生接口:按完整路径获取打开的文档。

返回对象:SldWorksDocObject

SldWorksObject.GetProcessID() #

获取实例进程 ID。

SldWorksObject.GetSketchInfo() #

返回对象:SldWorksSketchInfoObject

SldWorksObject.GetSketchInfo(doc,feature) #

读取草图特征的纯数据状态;feature 为 ProfileFeature 名称或对象。
返回 name,constrainedStatus,constrainedStatusName,fullyDefined,segmentCount,pointCount,contourCount,regionCount,is3D。
状态 3 为完全定义、2 欠定义、4 过定义;失败返回 null,错误信息。

SldWorksObject.HWND() #

获取 SOLIDWORKS 主窗口句柄。

SldWorksObject.InsertModelDimensions(doc,options) #

向工程图视图插入模型尺寸(InsertModelAnnotations3)并重建,返回 {inserted,dimensionCount,views}。
options 可为视图名或表:view(省略为所有视图)、types(默认 swInsertDimensionsMarkedForDrawing)、eliminateDuplicates(默认 true)、hiddenFeatures。
实测:引用模型隐藏加载且工程图先于它创建时首次插入为空,库会激活引用模型(窗口变为可见)后重试一次;inserted 仍为 0 时请检查模型尺寸是否“为工程图标注”。

SldWorksObject.IsResponsive(timeout) #

不经 COM 的窗口级探测(默认 2000 毫秒),返回 是否响应,探测详情;详情格式同 com.sldWorks.probe。
主线程不泵消息时所有 COM 调用会无限等待,长任务每一步前应先探测;已挂起时不要再发 COM 调用。

SldWorksObject.LinearPattern() #

返回对象:SldWorksLinearPatternInfoObject

SldWorksObject.LinearPattern(doc,features,options) #

对特征创建线性阵列,返回 特征,错误码,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。

SldWorksObject.MajorVersion() #

CAD 主版本号数值。

SldWorksObject.MajorVersionString() #

CAD 主版本号字符串,例如 24、25,不是发行年份。

SldWorksObject.NetCompiler("C#") #

创建引用当前安装目录 API 程序集的 C# 编译器;先 import dotNet。
保留 owner.start(类名) 初始化模板。

SldWorksObject.NetCompiler() #

返回对象:dotNetCompilerObject

SldWorksObject.NewDoc() #

返回对象:SldWorksDocObject

SldWorksObject.NewDoc(docType,template,paperSize,width,height) #

根据验证过的模板新建文档,返回原生文档对象。
docType 默认 1;template 省略时使用当前默认模板。
支持 .prtdot/.asmdot/.drwdot,模板无效返回 null,错误信息。
paperSize,width,height 默认 0;后两者为米,仅自定义图纸大小时使用。

SldWorksObject.NewDocument(template,paperSize,width,height) #

原生新建接口,template 必须是完整路径。
建议优先用 NewDoc 验证模板并处理失败。

返回对象:SldWorksDocObject

SldWorksObject.NewSketch(doc,target,draw,name) #

在平面或面上新建二维草图并安全退出,返回 草图特征,文档。
target 为基准面特征名/对象,或 {x=,y=,z=} 面上一点(可选 entityType,默认 FACE)。
draw(sketchManager,doc,sketch) 回调内绘制;出错或返回 false 时仍退出草图并返回 null,错误信息。
通过 IsSame 找回草图特征,可选用 name 重命名。已处于草图编辑状态时拒绝执行。

返回对象:SldWorksFeatObject

SldWorksObject.OpenDoc() #

返回对象:SldWorksDocObject

SldWorksObject.OpenDoc(path,docType,options,config,visible) #

调用 OpenDoc6 打开原生文档。
除 path 外均可省略;自动推断类型;options 默认 1(静默);config 默认空字符串;visible=false 时隐藏加载(不弹窗口,DocumentVisible 用后自动恢复)。
返回 文档或false,错误码,警告码。有效文档也可能伴随非零错误码;必须一起检查。
已打开另一个同名(含扩展名)不同路径的文档时直接返回 false,65536,0,说明,不调用 SOLIDWORKS。
本库参数检查失败错误码为 -1,第 4 返回值为说明。

SldWorksObject.Path #

sldworks.exe 所在目录。

SldWorksObject.ProcessId #

连接时缓存的 SOLIDWORKS 进程 ID,供 IsResponsive 等不经 COM 的探测使用。

SldWorksObject.QuitDoc() #

原生接口,按标题或完整路径关闭文档且不保存;同标题多文档时不能确定关闭哪一个,建议用本库 CloseDoc。

SldWorksObject.RebuildDoc(doc,force) #

重建当前配置,默认调用 EditRebuild3;force=true 调用 ForceRebuild3(false)。
成功返回 true;失败返回 null,错误信息。不会自动回滚修改。

SldWorksObject.RevisionNumber() #

获取内部修订版本字符串,例如 33.4.0。

SldWorksObject.Revolve(doc,sketch,options) #

用草图特征创建旋转凸台或切除,返回 特征,错误码,isWarning;失败返回 null,说明。
options 必须指定 axis:草图中心线对象(NewSketch 回调的返回值)、基准轴特征名或直线边的 {x,y,z};可选 angle(弧度,默认 2π)、cut、reverse、merge、name。
内部 FeatureRevolve2;轮廓须闭合且位于轴一侧。

SldWorksObject.RunCommand(command,title) #

原生运行 UI 命令,不保证无交互;优先用建模 API。

SldWorksObject.RunMacro(path,module,procedure,options) #

通过 RunMacro2 运行宏;默认 module=""、procedure="Main"、options=0。
可运行 SWP/SWB 或受支持的 DLL 宏。
成功返回 true,失败返回 false,原生错误码。
只表示宏引擎调用状态;业务结果必须另外读取并验证。

SldWorksObject.SaveAs(path,version,options,exportData,doc,advancedOptions) #

调用 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。

SldWorksObject.SaveDoc(doc,options) #

用 Save3 保存已有路径的文档;默认活动文档、静默保存。
未保存过的新文档直接返回错误,不弹另存为对话框。
返回 true或false,错误码,警告码;本库检查失败为 false,-1,0,说明。

SldWorksObject.SelectByPoint(doc,entityType,x,y,z,append,mark) #

用坐标(米)选择 FACE、EDGE、VERTEX、SKETCHSEGMENT、EXTSKETCHPOINT 等实体,不依赖本地化名称。
面/边/顶点先按几何定位实体对象再 Select4(不受视角遮挡影响);其他类型退回 SelectByID2 坐标拾取,只能拾取当前视图可见实体。
append 默认 false,mark 默认 0。返回是否选中;文档不必是活动文档。原点可用 SelectByPoint(doc,"EXTSKETCHPOINT",0,0,0,true) 选择。

SldWorksObject.SelectEntities(doc,entityType,specs,mark,append) #

用 Select4 选择一或多个面/边/顶点,specs 为单个 spec 或数组;返回选中个数,失败返回 null,说明。
mark 默认 0;append 默认 false 表示先替换当前选择。

SldWorksObject.SendMsgToUser() #

原生显示消息框;不适用于无人值守脚本。

SldWorksObject.SendMsgToUser2(message,icon,buttons) #

原生显示带图标和按钮的消息框。

SldWorksObject.SetComponentTransform(doc,component,options) #

设置组件位置/姿态并重建,返回组件信息。
options.position=[x,y,z](米),options.rotation=9 个数值的行优先 3×3 矩阵,缺省保留当前值。固定或已配合的组件可能被重建拉回。

SldWorksObject.SetCustomProperty(doc,name,value,configuration,typeCode) #

写入或替换自定义属性(Add3 + ReplaceValue),返回回读的 name,value,resolvedValue,typeName。
typeCode 默认 text,可用 text/number/double/yesno/date 或 swCustomInfoType_e 数值。
失败返回 null,错误信息,状态码。

SldWorksObject.SetDimension() #

返回对象:SldWorksSetDimensionResultObject

SldWorksObject.SetDimension(doc,dimension,value,configuration,rebuild) #

设置尺寸并默认重建,返回纯数据结果;失败返回 null,错误信息,状态码。
dimension 为 "D1@特征名" 或 IDimension 对象;value 为米或弧度。
configuration 省略为当前配置,"*" 为所有配置,或指定配置名/配置名数组。
仅状态码 0 视为成功;结果含 before,after,statusName,rebuilt,scope,configurations。before/after 在目标配置中回读:作用域只含一个配置时为数值,多个配置时为按 configurations 顺序的数组(尺寸“应用到所有配置”时各配置值相同)。

SldWorksObject.SetFeatureSuppression(doc,feature,suppressed,configuration,unsuppressDependents) #

按配置压缩/解除压缩特征(SetSuppression2),返回 {name,suppressed,scope,configurations=[{name,suppressed}]};失败返回 null,说明[,回读结果]。
configuration 省略为当前配置,"*" 为所有配置,或配置名/配置名数组;总是展开为明确配置名并重新按名称取得特征(旧特征对象绑定取得时的活动配置)。
unsuppressDependents=true 解除压缩时同时解除依赖特征。压缩父特征会连带子特征;回读与请求不一致时返回失败并附回读结果。

SldWorksObject.SetMaterial() #

返回对象:SldWorksMaterialInfoObject

SldWorksObject.SetMaterial(doc,name,database,configuration) #

设置零件材料并回读验证;database 默认 "" 使用默认材料库,configuration 默认活动配置。
name 为空字符串表示移除材料。名称未被应用时返回 null,错误信息,当前材料信息。
成功返回 GetMaterial 结果;质量属性随之变化。仅零件。

SldWorksObject.ShowForeground() #

显示并前置主窗口;普通 COM 建模无需反复抢焦点。

SldWorksObject.UserControl #

是否由用户控制。
若自行启动后台实例,关闭最后一个文档可能使其退出;需保留时显式设为 true。

SldWorksObject.VBA(code,templateOwner) #

执行文本 SWB 宏,支持 aardio 模板与表/数组传参。
自动删除临时文件。宏引擎失败返回 false,错误码;模板/COM异常返回 null,说明。
源代码按系统 ANSI 代码页传入;不要依赖其传输任意 Unicode 字符。
使用 Sub main();需要结果时请写文件或回读模型,避免 MsgBox 阻塞自动化。

SldWorksObject.Visible #

窗口是否可见。
后台启动(保持 Visible=false)在 ROT 不可见(私有),com.sldWorks(false) 无法连接。
窗口显示(Visible=true)时在 ROT 注册,com.sldWorks(false) 可连接,

SldWorksObject.eachDocument() #

for i,doc in SldWorksObject.eachDocument(){  
\t/*i 为索引,doc 为原生 COM 文档*/  
}  

[返回对象:SldWorksDocObject](#SldWorksDocObject)

SldWorksObject.eachFeature(doc) #

for i,feature in SldWorksObject.eachFeature(){  
\t/*顶层特征遍历,不递归子特征,不等同于 UI 树顺序*/  
}  

[返回对象:SldWorksFeatObject](#SldWorksFeatObject)

SldWorksSelectionMgrObject 成员列表 #

SldWorksSelectionMgrObject.GetSelectedObject6(index,mark) #

读取选择对象;选择索引从 1 开始,mark=-1 表示全部标记。

SldWorksSelectionMgrObject.GetSelectedObjectCount2(-1) #

获取全部标记的已选择对象数。

SldWorksSetDimensionResultObject 成员列表 #

SldWorksSetDimensionResultObject.after #

重建后读回的系统单位值。

SldWorksSetDimensionResultObject.before #

修改前的系统单位值。

SldWorksSetDimensionResultObject.fullName #

已修改尺寸的完整名称。

SldWorksSetDimensionResultObject.rebuilt #

是否已重建。

SldWorksSetDimensionResultObject.requested #

请求写入的值。

SldWorksSetDimensionResultObject.scope #

thisConfiguration、allConfigurations 或 specificConfigurations。

SldWorksSetDimensionResultObject.status #

原生 swSetValueReturnStatus_e,0 为成功。

SldWorksSetDimensionResultObject.statusName #

successful、failure、invalidValue、drivenDimension、modelNotLoaded、frozenFeatureOwner。

SldWorksSketchInfoObject 成员列表 #

SldWorksSketchInfoObject.constrainedStatus #

原生 swConstrainedStatus_e:2 欠定义、3 完全定义、4 过定义、5 无解、6 无效解。

SldWorksSketchInfoObject.constrainedStatusName #

状态名称:underDefined、fullyDefined、overDefined 等。

SldWorksSketchInfoObject.contourCount #

闭合轮廓数;拉伸通常需要至少 1 个。

SldWorksSketchInfoObject.fullyDefined #

是否完全定义。

SldWorksSketchInfoObject.is3D #

是否三维草图。

SldWorksSketchInfoObject.name #

草图特征名称。

SldWorksSketchInfoObject.pointCount #

草图点数。

SldWorksSketchInfoObject.regionCount #

草图区域数。

SldWorksSketchInfoObject.segmentCount #

草图线段数。

SldWorksSketchInfoObject.typeName #

ProfileFeature 或 3DProfileFeature。

SldWorksSketchMgrObject 成员列表 #

SldWorksSketchMgrObject.ActiveSketch #

当前草图对象;不是特征对象,不提供 GetFeature()。
可与 swApp.IsSame(feature.GetSpecificFeature2(),sketch) 比对以找回草图特征;swApp.NewSketch 已封装此流程。

SldWorksSketchMgrObject.CreateCircleByRadius(x,y,z,radius) #

在活动草图中按圆心和半径创建圆;长度均为米。

SldWorksSketchMgrObject.CreateCornerRectangle(x1,y1,z1,x2,y2,z2) #

用对角点创建矩形,返回草图线段数组;长度均为米。
线段可用 segment.Select4(false,com.nothing()) 选择后调用 doc.AddDimension2 标注。

SldWorksSketchMgrObject.CreateLine(x1,y1,z1,x2,y2,z2) #

在活动草图中创建直线;长度均为米。

SldWorksSketchMgrObject.InsertSketch(true) #

进入或退出二维草图;这是切换操作,不可盲目重复执行。

Markdown 格式