SolidWorks二次开发---获取配合特征具体数据

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

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

SolidWorks二次开发---获取配合特征具体数据_第1张图片
然后我们打开神器?:
SolidWorks二次开发---获取配合特征具体数据_第2张图片
有的,有的,就是传说中的Api帮助:
SolidWorks二次开发---获取配合特征具体数据_第3张图片
SolidWorks二次开发---获取配合特征具体数据_第4张图片
然后我们去里面涩琪(search)一下,

SolidWorks二次开发---获取配合特征具体数据_第5张图片
来吧,一条一条看,不巧的是,在前面就发现了mates
SolidWorks二次开发---获取配合特征具体数据_第6张图片
然后就出来了两个关键的VBA示例
一个是增加距离配合,但是这个例子好像遍历特征尺寸来显示的,我就不测试了。
SolidWorks二次开发---获取配合特征具体数据_第7张图片
是不是找错对象了,弄个Solidworks二次开发这么难么?
SolidWorks二次开发---获取配合特征具体数据_第8张图片
继续住下看吧。。。

SolidWorks二次开发---获取配合特征具体数据_第9张图片
这个好像有点像,是通过特征转换成 DistanceMateFeatureData
SolidWorks二次开发---获取配合特征具体数据_第10张图片
直接进行代码测试吧:
加一个小按钮。
SolidWorks二次开发---获取配合特征具体数据_第11张图片

 	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());
        }

是不是觉得有点短?
其实还有些属性,也许你用的到,给大家看看吧:
SolidWorks二次开发---获取配合特征具体数据_第12张图片

是的,就只有这么点。
SolidWorks二次开发---获取配合特征具体数据_第13张图片
当然,这个只是距离配合的数据,还有很多具体配合的数据对象可以去获取的。
SolidWorks二次开发---获取配合特征具体数据_第14张图片
欢迎大家继续学习。
SolidWorks二次开发---获取配合特征具体数据_第15张图片

你可能感兴趣的:(API,solidworks二次开发,C#,solidworks二次开发,配合,特征数据,API)