C# Solidworks二次开发:比较两个solidworks文档属性相关API详解

大家好,今天要讲的文章是关于如何比较两个solidworks文档。

下面是API的介绍:

(1)第一个为Close,这个API的含义为在比较solidworks文档以后执行必要的清理。下面是官方的具体解释:

其没有输入参数,返回值为定义的错误 gtError_e,其错误类型如下所示:

MemberDescription
gtErrArgument1Incorrect11001 = Feature paint 11001 thorugh 12000
gtErrArgument2Incorrect11002
gtErrArgumentOutofRange22
gtErrAssemblyInEditPartMode26
gtErrBsdAlreadyOpenNot used
gtErrBsdDefaultDrwTemplateNot used
gtErrBsdDocNotSavedNot used
gtErrBsdInvalidArgNot used
gtErrBsdInvalidSaveLocationPathNot used
gtErrBsdInvalidSheetFormatPathNot used
gtErrBsdLowMemoryNot used
gtErrBsdNoActivePartDocNot used
gtErrBsdNoSheetMetalFeatureFoundNot used
gtErrBsdNotInitializedNot used
gtErrBsdOpenedReadOnlyNot used
gtErrBsdUserCanceledNot used
gtErrBsdVirtualComponentNot used
gtErrCompareFacesFailed7001 = Compare geometry 7001 through 8000
gtErrCompareFeaturesFailed6001 = Compare features 6001 through 7000
gtErrCompareGeometryNotExecuted7007
gtErrCompareVolFailed7002
gtErrCompareVolumeNotExecuted7013
gtErrCompDocsAlreadyOpen5001 = Compare documents 5001 through 6000
gtErrCompDocsInvalidModConfig5008
gtErrCompDocsInvalidModFile5006
gtErrCompDocsInvalidRefConfig5007
gtErrCompDocsInvalidRefFile5005
gtErrCompDocsNotExecuted5002
gtErrCompDocsOperationOptions5003 = Operation out of range
gtErrCompDocsResultOptions5004 = Result option out of range
gtErrCompDocsSameRefModFilesConfigs5009
gtErrCompFeatAlreadyRunning6004
gtErrCompFeatInvalidModConfig6010
gtErrCompFeatInvalidModFile6003
gtErrCompFeatInvalidRefConfig6009
gtErrCompFeatInvalidRefFile6002
gtErrCompFeatModNoSolidBodies6007
gtErrCompFeatNotExecuted6008
gtErrCompFeatRefNoSolidBodies6006
gtErrCompFeatResultOptions6005
gtErrCompFeatSameRefModFilesConfigs6011
gtErrCompGeomAlreadyOpen7008
gtErrCompGeomInvalidModConfig7015
gtErrCompGeomInvalidModFile7010
gtErrCompGeomInvalidRefConfig7014
gtErrCompGeomInvalidRefFile7009
gtErrCompGeomOperationOptions7011
gtErrCompGeomResultOptions7012
gtErrCompGeomSameRefModFilesConfigs7016
gtErrCouldNotCreateReportFolders14
gtErrDesignBinderReportAlreadyExists30
gtErrDoc1NotSelected33
gtErrDoc2NotSelected34
gtErrDocInEditSketchMode12
gtErrDocIsEmpty5
gtErrDocNotSelected2
gtErrDocOpenedViewOnly8
gtErrDocsAreSame4
gtErrDocsConfigNotExist29
gtErrDocsConfigsAreSame28
gtErrEdrawingFileAlreadyExists12018
gtErrFaceComparisonNotPossibleInAssemblies27
gtErrFacesIdentical7003
gtErrFileAlreadyExists20
gtErrFileNotFound18
gtErrFindText12019 = Property IFindReplaceAnnotations::FindText is not set
gtErrGckAlreadyOpen8001 = Geometry analysis 8001 through 9000
gtErrGckDRTError8003
gtErrGckInsufficientMemoryProvided8006
gtErrGckInvalidEntityParamater8008
gtErrGckNoActivePartDoc8002
gtErrGckNoGetCountFunctionCalled8005
gtErrGckNotInitialized8007
gtErrGckResultsAlreadyPresent8004
gtErrIncompatibleFile6
gtErrIncorrectFileName3
gtErrIncorrectReportPath15
gtErrInvalidFile17
gtErrNonSimilarParts7004
gtErrNoPartDocs25
gtErrNoSolidBodies19
gtErrNoSourceFeature11003
gtErrNoTargetFeature11004
gtErrNoUI12022
gtErrNoValidIndex12023
gtErrOpeningFile1
gtErrPslAlreadyRunning10014
gtErrPslAngleOutofRange10006
gtErrPslBothConvexConcaveNotSet10004
gtErrPslColorOutofRange10007
gtErrPslErrFilterTypeOutofRange10010
gtErrPslErrOperatorOutofRange10005
gtErrPslErrorInSelection10017
gtErrPslFeatureTypeOutofRange10008
gtErrPslIncorrectFeatureNameString10009
gtErrPslIncorrectFeatureTypeArray10018
gtErrPslNoActivePartDoc10016
gtErrPslNoFeatureTypeFilterSet10011
gtErrPslNoFilterSet10002
gtErrPslNoSelectEntitySet10001 = PowerSelect 10001 through 10019
gtErrPslNotInitialized10015
gtErrPslNotRun10013
gtErrPslResultOptions10019
gtErrPslSpecifiedFilterNotSet10003
gtErrPslUIRunning10012
gtErrReferenceBOMNotSelected31
gtErrReplaceText12020 = Property IFindReplaceAnnotations::ReplaceText is not set
gtErrReportAlreadyExists13
gtErrResultUIOn23
gtErrRollback11008
gtErrSameNameDocAlreadyOpen7
gtErrSameSourceTargetFeature11005
gtErrSavingFile16
gtErrSavingVolDiffResults7005
gtErrSharedByCompDocs11
gtErrSharedByFeatDiff10
gtErrSharedByGeomDiff9
gtErrSourceFeatErr11006
gtErrSourceFeatureRolledBack11009
gtErrSourceNoBodyFeature11011
gtErrTargetFeatErr11007
gtErrTargetFeatureRolledBack11010
gtErrTargetNoBodyFeature11012
gtErrtckBodyDoesNotExist12005
gtErrtckBodyNotSet12006
gtErrtckNoActivePartDoc12001 = Thickness analysis 12001 through 13000
gtErrTckNotInitialized12004
gtErrTckNotPerformed12015
gtErrTckNotValid12016
gtErrTckResolution12003
gtErrTckResultOptions12002
gtErrtckTesselationFailed12008
gtErrTcktThickRegnLimitNotInRange12014
gtErrTcktTrgThicknessNotInRange12013
gtErrtckUIRunning12007
gtErrThicknessRangeNotValid12017
gtErrToBeComparedBOMNotSelected32
gtErrToolNotSupported21  = Returned by IUtilities::GetToolInterface
gtErrUIInvoked12021 = PropertyManager page is already displayed
gtErrUtilityAlreadyRunning24
gtErrVolDiffResultsAlreadySaved7006
gtNOErr0 = No error
gtUnknownErr-1 = Common -1 through 5000
gtWarningTckThickAnalRangeAboveMaxThick12011
gtWarningTckThickAnalRangeBelowMaxThick12012
gtWarningTckThinAnalMinMaxThckSameAsTrg12010
gtWarningTckThinAnalRangeBelowMaxThick12009

(2)第二个为CompareDocument2:,这个API的含义为比较指定的solidworks文档的属性并生成报告,下面是官方的具体解释:

下面是官方使用的例子,因为没有C#的,只有VBA的,如下所示:

This example shows how to compare the volumes of two parts and save the results of the comparison using the SOLIDWORKS Utilities API.

'------------------------------------------------------------------------------
' Preconditions:
' 1. Add the SOLIDWORKS Utilities as an add-in
'    (in SOLIDWORKS, click Tools > Add-Ins > SOLIDWORKS Utilities).
' 2. Add the SOLIDWORKS Utilities type library as a reference
'    (in the SOLIDWORKS Microsoft Visual Basic for Applications IDE, click
'    Tools > References > SolidWorks Utilities <version> Type Library).
' 3. Verify that the specified parts exist.
' 4. Verify that C:\test\ exists.
'
' Postconditions:
' 1. Creates the document comparison report, C:\test\Report\gtReportIndex.htm.
' 2. Gets document comparison statuses.
' 3. Examine C:\test\Report\gtReportIndex.htm.
'
' NOTE: Because the parts are used elsewhere, do not save changes.
'------------------------------------------------------------------------------
Option Explicit
Sub main()
    Dim swapp As SldWorks.SldWorks
    Dim swUtil As SWUtilities.gtcocswUtilities
    Dim swUtilCompdoc As SWUtilities.gtcocswCompareDocument
    Dim longStatus As Long
    Dim bAddToBinder As Boolean
    Dim bOverwrite As Boolean
    Dim file1 As String
    Dim file2 As String
    ' Connect to SOLIDWORKS
    Set swapp = Application.SldWorks
   ' Get the SOLIDWORKS Utilities interface
    Set swUtil = swapp.GetAddInObject("Utilities.UtilitiesApp")
   ' Set the SOLIDWORKS Utilities tool to compare documents
    Set swUtilCompdoc = swUtil.GetToolInterface(gtSwToolCompDocs, 0)
    ' Compare the volumes of the specified part documents; do not show the Results
    ' dialog box, but do save the results to a file in the specified path
    file1 = "C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS 2018\samples\tutorial\swutilities\bracket_a.sldprt"
    file2 = "C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS 2018\samples\tutorial\swutilities\bracket_b.sldprt"
    bAddToBinder = False
    bOverwrite = True
    longStatus = swUtilCompdoc.CompareDocument2(file1, "", file2, "", gtCodVolumeCompare, gtResultSaveReport, "C:\test\Report", bAddToBinder, bOverwrite)
    ' Perform any necessary clean up
    longStatus = swUtilCompdoc.Close()
End Sub

(3)第三个为SaveCompareVolumeResults,这个API的含义为比较完文档以后,将比较结果保存为solidworks部件文档,下面是官方的具体解释:

返回值和第一个API介绍的一致。

本篇文章要介绍的就是这些,我们下篇文章再见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/553008.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL Workbench下载安装、 MySQL Workbench使用

官方下载链接;MySQL :: Download MySQL Workbench 下载好懒人安装&#xff0c;也可自己选择目录 下面是使用&#xff1a; 连接数据库&#xff1a; 填写数据库连接信息&#xff1a; 基本操作部分&#xff1a; 数据导入导出&#xff1a; 导出/备份 导入&#xff1a; 生产er图…

【机器学习】科学库使用第5篇:Matplotlib,学习目标【附代码文档】

机器学习&#xff08;科学计算库&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习&#xff08;常用科学计算库的使用&#xff09;基础定位、目标&#xff0c;机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小…

react中关于类式组件和函数组件对props、state、ref的使用

文章中有很多蓝色字体为扩展链接&#xff0c;可以补充查看。 常用命令使用规则 组件编写方式: 1.函数式 function MyButton() { //直接return 标签体return (<>……</>); }2.类 class MyButton extends React.Component { //在render方法中&#xff0c;return…

UE5 C++ 射线检测

一.声明四个变量 FVector StartLocation;FVector ForwardVector;FVector EndLocation;FHitResult HitResult;二.起点从摄像机&#xff0c;重点为摄像机前9999m。射线检测 使用LineTraceSingleByChannel 射线直线通道检测&#xff0c;所以 void AMyCharacter::Tick(float Delt…

GPT国内能用吗

2022年11月&#xff0c;Open AI发布ChatGPT&#xff0c;ChatGPT展现了大型语模型在自然语言处理方面的惊人进步&#xff0c;其生成文本的流畅度和连贯性令人印象深刻&#xff0c;为AI应用打开了新的可能性。 ChatGPT的出现推动了AI技术在各个领域的应用&#xff0c;例如&#x…

Python学习教程(Python学习路线+Python学习视频):Python数据结构

数据结构引言&#xff1a; 数据结构是组织数据的方式&#xff0c;以便能够更好的存储和获取数据。数据结构定义数据之间的关系和对这些数据的操作方式。数据结构屏蔽了数据存储和操作的细节&#xff0c;让程序员能更好的处理业务逻辑&#xff0c;同时拥有快速的数据存储和获取方…

.net9 AOT编绎生成标准DLL,输出API函数教程-中国首创

1&#xff0c;安装VS2022预览版&#xff08;Visual Studio Preview&#xff09; https://visualstudio.microsoft.com/zh-hans/vs/preview/#download-preview 2&#xff0c;选择安装组件&#xff1a;使用C的桌面开发 和 .NET桌面开发 ------------------------------------- …

java八股文知识点讲解(个人认为讲的比较好的)

1、解决哈希冲突——链地址法&#xff1a;【第7章查找】19哈希表的查找_链地址法解决哈希冲突_哔哩哔哩_bilibili 2、解决哈希冲突——开放地址法 &#xff1a; 【第7章查找】18哈希表的查找_开放定址法解决哈希冲突_哔哩哔哩_bilibili 3、小根堆大根堆的创建&#xff1a;选择…

【每日刷题】Day17

【每日刷题】Day17 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 2. 162. 寻找峰值 - 力扣…

1 回归:锂电池温度预测top2 代码部分(一) Tabnet

2024 iFLYTEK A.I.开发者大赛-讯飞开放平台 TabNet&#xff1a; 模型也是我在这个比赛一个意外收获&#xff0c;这个模型在比赛之中可用。但是需要GPU资源&#xff0c;否则运行真的是太慢了。后面针对这个模型我会写出如何使用的方法策略。 比赛结束后有与其他两位选手聊天&am…

《ElementPlus 与 ElementUI 差异集合》el-popconfirm 气泡确认框之插槽写法有差异

ElementUI 直接在 el-button 上配置属性 slot&#xff1b; <el-popconfirm title"确定删除吗&#xff1f;请谨慎操作&#xff01;" confirm"delete"><el-button slot"reference" size"small" type"danger">删…

Word学习笔记之奇偶页的页眉与页码设置

1. 常用格式 在毕业论文中&#xff0c;往往有一下要求&#xff1a; 奇数页右下角显示、偶数页左下角显示奇数页眉为每章标题、偶数页眉为论文标题 2. 问题解决 2.1 前期准备 首先&#xff0c;不论时要求 1、还是要求 2&#xff0c;这里我们都要做一下设置&#xff1a; 鼠…

Adobe Firefly是否将重新定义AI视频编辑领域?|TodayAI

Adobe最近发布了一段令人瞩目的视频&#xff0c;详细展示了其最新推出的Adobe Firefly视频模型。这一模型集成了尖端的生成式人工智能技术&#xff0c;带来了一系列颠覆性的视频编辑功能&#xff0c;引发了业界的广泛关注和讨论。 视频中的旁白充满热情地宣布&#xff1a;“Ad…

【超级简单】vscode进入服务器的docker容器

前提 1、已经运行docker容器 2、已经用vscode链接服务器 在vscode中安装的插件 Dev Containers docker 在容器中安装的依赖 yum install openssh-server yum install openssh-clientsvscode进入服务器的docker容器 找到自己的容器&#xff0c;右键点击&#xff0c;找到…

Jmeter BeanShell调用Java方法加密

1、添加BeanShell前置处理器 由于请求接口时&#xff0c;会传加密参数。加密过程会在请求之前完成&#xff0c;所以需要使用前置处理器中beanshell preprocessor 2、编写BeanShell脚本 ①定义一个beashell变量&#xff1a;phoneNum&#xff0c;在Beanshell中可以直接调用Jmete…

idea运行报错:启动命令过长

JAVA项目&#xff0c;运行的时候报错 Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun老问题了&#xff0c;记录一下 解决办法&#xff1a; 1、Edit Configurations 2、点击Modify options设置&#xff0c;勾选S…

janus架构学习

基础介绍 Janus 是由Meetecho设计和开发的开源、通用的基于SFU架构的WebRTC流媒体服务器&#xff0c;它支持在Linux的服务器或MacOS上的机器进行编译和安装。Janus 是使用C语言进行编写的&#xff0c;它的性能十分优秀。 架构 janus为sfu架构 模块结构图 模块说明 core模…

elementui 弹窗展示自动校验表单项bug

表单校验失败一次之后&#xff0c;再次弹出表单&#xff0c;触发自动校验 解决方案&#xff1a; clearValidate() 方法清空表单校验项 this.$nextTick(() > {this.$refs[checkForm].clearValidate() }) 使用nextTick规避报错

chroot -- 限制其他用户liunx空间

目录- 限制其他用户liunx空间 前言开始进入监狱总结 前言 前提 ecs 服务器&#xff0c;centos系统&#xff0c;乌班图系统需要root榕湖 开始 首先&#xff0c;登录到您的ECS机器。创建一个新用户&#xff1a; 使用 adduser 命令创建一个新用户。例如&#xff0c;要创建一个名…

k8s之etcd

1.特点&#xff1a; etcd 是云原生架构中重要的基础组件。有如下特点&#xff1a; 简单&#xff1a;安装配置简单&#xff0c;而且提供了 HTTP API 进行交互&#xff0c;使用也很简单键值对存储&#xff1a;将数据存储在分层组织的目录中&#xff0c;如同在标准文件系统中监…