昨天有粉丝私信我说怎么获取距离配合中的尺寸值,所有就有了这一篇文章,虽然内容比较简单,主要是分享一下思路。

首先我在们装配体中做一个距离配合:

  • 注意,我使用的是英文的界面,所有生成出来的配合名称是Distance1

在这里插入图片描述

然后我们打开神器?:

在这里插入图片描述

有的,有的,就是传说中的Api帮助:

在这里插入图片描述

在这里插入图片描述

然后我们去里面涩琪(search)一下,

在这里插入图片描述

来吧,一条一条看,不巧的是,在前面就发现了mates

在这里插入图片描述

然后就出来了两个关键的VBA示例

一个是增加距离配合,但是这个例子好像遍历特征尺寸来显示的,我就不测试了。

在这里插入图片描述

是不是找错对象了,弄个Solidworks二次开发这么难么?

在这里插入图片描述

继续住下看吧。。。

在这里插入图片描述

这个好像有点像,是通过特征转换成 DistanceMateFeatureData

在这里插入图片描述

直接进行代码测试吧:

加一个小按钮。

在这里插入图片描述

 	private void btnGetDisMateInfo_Click(object sender, EventArgs e)
        {
            //打开一个装配,并选中一个距离配合

            var swApp = PStandAlone.GetSolidWorks();

            var swModel = (ModelDoc2)swApp.ActiveDoc;

            var featureObject = (Feature)swModel.ISelectionManager.GetSelectedObject6(1, -1);

            var featureData = (DistanceMateFeatureData)featureObject.GetDefinition();

            MessageBox.Show((featureData.Distance * 1000).ToString());
        }

是不是觉得有点短?

其实还有些属性,也许你用的到,给大家看看吧:

在这里插入图片描述

是的,就只有这么点。

在这里插入图片描述

当然,这个只是距离配合的数据,还有很多具体配合的数据对象可以去获取的。

在这里插入图片描述

欢迎大家继续学习。

在这里插入图片描述