备注:关于所有的SolidWorks二次开发的问题可以加QQ群(952427329)进行交流。
下面的代码是根据自己SolidWorks的二次开发积累的一些公共函数,因为SolidWorks二次开发的圈子太小,所以里面的代码注释写的不是很详细,如果不是很熟悉SolidWorks二次开发的话不是很好看懂。本人在SolidWorks二次开发方面积累点经验,如果有什么需要的话,大家可以加入QQ群(952427329),一起交流。
'********************************
' Function: 定义和SolidWorks有关的公共函数的类
' Author: 要点理想色彩
' Createtime: 2018/07/11
' Remark: 该类里面的所有函数都是静态的,不需要实例化类就可以使用
'*******************************
Imports SolidWorks.Interop.sldworks
Public Class SWCustomFunction
''' <summary>
''' 获取指定模型里面的尺寸的集合
''' </summary>
''' <param name="swModel">将要获取尺寸的模型对象</param>
''' <returns>返回的是哈希表:哈希表的键是存储尺寸的名称,值是尺寸的数值</returns>
''' <remarks></remarks>
''' <readme>该函数主要思路是通过遍历模型的特征,获取特征里面的尺寸,再将尺寸添加到哈希表,返回哈希表的结果</readme>
Public Shared Function GetDisPalyDimension(ByVal swModel As ModelDoc2) As Hashtable
' 定义函数返回值
Dim hashDimension As New Hashtable
' 判断参数有效性
If swModel Is Nothing Then
MsgBox("函数GetDisPalyDimension的参数'swModel'为Nothing,无法获取模型尺寸集合")
Return hashDimension
End If
' 定义Solidworks有关的对象
Dim swFeat As Feature
Dim swSubFeat As Feature
Dim swDispDim As DisplayDimension
Dim swDim As Dimension
' 获取模型的第一个特征
swFeat = swModel.FirstFeature
'用循环进行遍历
Do While Not swFeat Is Nothing
'获取第一个子特征
swSubFeat = swFeat.GetFirstSubFeature
' 遍历子特征
Do While Not swSubFeat Is Nothing
' 获取子特征里面的第一个尺寸
swDispDim = swSubFeat.GetFirstDisplayDimension
' 遍历特征里面的尺寸
Do While Not swDispDim Is Nothing
' 转化为Dimension对象
swDim = swDispDim.GetDimension
' 将结果添加到函数返回集中
' swDim.FullName: 尺寸的名称(带有特征的层级关系&#