当前位置: 首页 > wzjs >正文

淄博网站制作网络丰富网站建设 十年

淄博网站制作网络丰富,网站建设 十年,北京网站建设 爱牛,淘宝导购网站备案今天这篇文章话题来源于群里的聊天,在讨论有些插件功能的开发原理。 如标题,今天讲的是如何查找零件文件名不一样,但实际可能是同一个东西的办法。 - 题外话 熟悉Solidworks的人都知道,Solidworks有一个比较零件或者特征不同点的…

在这里插入图片描述
在这里插入图片描述

今天这篇文章话题来源于群里的聊天,在讨论有些插件功能的开发原理。

如标题,今天讲的是如何查找零件文件名不一样,但实际可能是同一个东西的办法。

- 题外话
熟悉Solidworks的人都知道,Solidworks有一个比较零件或者特征不同点的工具(专业版本才能用,免费版当然不限制)。
在这里插入图片描述
而且还有Api
在这里插入图片描述
具体的我之前的文件间讲过:https://blog.csdn.net/zengqh0314/article/details/106012670

当然今天的分析功能和上面的没啥关系哈,今天是通过代码的方式来分析类型于下图的装配体中,零件实体相同的不同名零件,这样可以进一步判断是否可以进行替换,减少非标物料的实际应用。
下图里的三个圆是同一零件生衍生出来的在这里插入图片描述
从肉眼看是一样的,但当零件很多的时候。或者说是借用别人的装配体的时候,相似的零件不能判断是否一样。
当前有人会想着重量,体积,重心等一样也可以判断是一样的。我之前也这么干过,但是不太准确。大概是没啥问题。

解题思路:
遍历所有零件及零件内的实体,如果两个零件的实体之间能够进行正常的一个几何变换到刚好重合的状态,就说明两个零件的实体是一样的。也可以认为这两个零件是一样的。就这是所谓的不同文件名但长一样的零件。
最关键的api方法就是GetCoincidenceTransform2
在这里插入图片描述
具体的例子我就不讲了。

所以,要比较两个零件是否一样的,我们需要拿到零件对应的实体。再去用这个方法判断一下,是否能直接直接空间几何的变化后保持一致。

           var swApp = Connect.GetRunningSolidWorks();  //连接可以nuget上搜索Paine ,找到对应的引用。var swModel=swApp.IActiveDoc2;var KeepComp = swModel.ISelectionManager.GetSelectedObjectsComponent3(1, -1);var MoveComp = swModel.ISelectionManager.GetSelectedObjectsComponent3(2, -1);var v1Bodies = GetBodyCopies((KeepComp.IGetModelDoc() as PartDoc));var v2Bodies = GetBodyCopies((MoveComp.IGetModelDoc() as PartDoc));if (v1Bodies.Length==1 && v2Bodies.Length==1){var body1keep = v1Bodies[0];var body2move = v2Bodies[0];//零件中都相对于原点时的移动位置body2move.GetCoincidenceTransform2(body1keep, out MathTransform moveTokeepTransform);if (moveTokeepTransform!=null){MessageBox.Show(@"两零件实体相同!");                 }else{MessageBox.Show(@"两零件不同!");return;}}

上面就是关键的代码了,当然实际 应用中还可以做很多不同的事情 ,比如,零件的自动替换工作。
上面代码中用到了一个复制零件实体的功能。

        private Body2[] GetBodyCopies(PartDoc partDoc){var vBodies = (Object[])partDoc.GetBodies2((int)swBodyType_e.swAllBodies, true);Body2[] newBodies = new Body2[vBodies.Length];for (int i = 0; i < vBodies.Length; i++){var swBody2 = (Body2)vBodies[i];newBodies[i] = (Body2)swBody2.Copy();}return newBodies;}

而且还可能 需要判断 一些其它看不见的信息,比如质量 材质等其它信息。

我们来看下执行结果 :
在这里插入图片描述

在这里插入图片描述

有了这个判断 的结果 ,要达到第一个图插件的目的,就需要遍历所有不同的零件文件,进行统一的比较。再将结果分组实现即可。

如果需要选择与所选零件实体相同但文件名不同的零件,也是同样的操作,拿这个一零件去与其它装配体的零件进行比较,得到所有相同的零件所对应的Comp对象,进行选中,即可。

上面的代码我会单独保存出来,下次再上传。


文章转载自:

http://ur00Kj9P.khpgd.cn
http://S6b23Pvg.khpgd.cn
http://azOwDIcU.khpgd.cn
http://CBfjWZbe.khpgd.cn
http://qBVdtuDJ.khpgd.cn
http://q3z0BjJB.khpgd.cn
http://uhvY20cS.khpgd.cn
http://PddlRhBG.khpgd.cn
http://ROBHiqM0.khpgd.cn
http://4PdHyOeN.khpgd.cn
http://w37LorDi.khpgd.cn
http://rXFn1bWD.khpgd.cn
http://IN3k6bEM.khpgd.cn
http://Cj1XXvwU.khpgd.cn
http://hOlcbCAP.khpgd.cn
http://Qc1lvskW.khpgd.cn
http://gNoyIFs9.khpgd.cn
http://3bjmSx1z.khpgd.cn
http://vaaYgM1K.khpgd.cn
http://0pJioess.khpgd.cn
http://W9s3ZU0r.khpgd.cn
http://LaBUzraR.khpgd.cn
http://1dxnYJLg.khpgd.cn
http://mmsnyqup.khpgd.cn
http://R7kR4hJB.khpgd.cn
http://sYEYPdGL.khpgd.cn
http://wX8orrtE.khpgd.cn
http://vv92ERVy.khpgd.cn
http://Q0lVM9sB.khpgd.cn
http://LpLMeWke.khpgd.cn
http://www.dtcms.com/wzjs/756736.html

相关文章:

  • 单位网站建设情况调查情况网站建设及照片使用保密协议
  • 网站优化模板企业作风建设心得体会
  • 专业的培训行业网站开发网络营销顾问培训
  • 企业网站建设销售话术网站上的图标怎么改
  • 网站建站 在线制作如何自己做网站腾讯
  • 南阳网站排名优化报价免费软文网站
  • 网站怎做事业单位建立网站
  • seo诊断网站南安淘宝网站建设
  • 什么网站可以做注册任务怎么给网站做推广
  • 提供服务的网站甘肃省建设工程造价信息网站
  • wordpress问卷调查插件什么是seo教程
  • 门户网站简介顺德网站建设
  • 能否设置网站做局域网国内设计师网站
  • 四川省微信网站建设公湖南网络广告策划推广
  • 如何自己开一个网站软件编程
  • 昆明市建设厅官方网站网页素材下载
  • 东莞市建设企业网站企业wordpress 选项卡
  • 建设工程材料登记备案申请网站湘潭网站建设价格
  • 中元建设集团网站做影视网站难吗
  • 做冒菜店网站中医院网站模板
  • ip钓鱼网站在线生成建筑工人招工网
  • 自己开网店怎么运营搜索引擎优化好做吗
  • 赣州做网站公司哪家好郑州住房和城乡建设官网
  • 平顶山网站制作哪家公司好湘潭做网站公司
  • 株洲网站的建设青岛信息排名推广
  • 门户网站建设困难长沙公司网站设计报价
  • iis做本地视频网站网站建设销售年终总结
  • 连云港网站制作公司口碑好php网站源代码
  • 正规的咨询行业网站策划wordpress zip 升级
  • 桂林医院网站建设2023年新闻热点事件摘抄