SolidWorks工程图孔表的基准原点DatumOrigin显示隐藏
这是我在CSDN的第一篇文章
今天给一位做SolidWorks二次开发的人有偿写一段代码,代码很短,但费了一些时间在API帮助文件中找到语句。在孔表Hole Table的接口成员Interface Members有HoleTagsVisible和HoleCentersVisible两个逻辑变量,没有基准原点DatumOrigin的Visible显示隐藏逻辑变量。深入探索发现基准原点DatumOrigin可以通过Part.HideDimension隐藏,却没有语句显示。再深入研究才发现基准原点DatumOrigin是属于注释Annotation,而注释都可以有Visible属性,而注释的Visible值不是逻辑值,而是四个内部常数值。
从这个过程有以下几个体会:
- SolidWork ,有很好的开发环境;
- 注释Annotation这块有许多金矿可挖
代码
Dim swApp As Object
Dim Part As Object
Dim swSelectionMgr As SldWorks.SelectionMgr
Dim swHoleTable As SldWorks.HoleTable
Dim swDatumOrigin As SldWorks.DatumOrigin
Dim DatumOriginVisibleOpition As swAnnotationVisibilityState_e
Dim CentersVisibleOpition As Boolean
Dim TagsVisibleOpition As Boolean
Dim boolstatus As Boolean
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'以下选项进行预设
DatumOriginVisibleOpition = swAnnotationVisible
'DatumOriginVisibleOpition = swAnnotationHidden
CentersVisibleOpition = True
'CentersVisibleOpition = False
TagsVisibleOpition = True
'TagsVisibleOpition = False
Set swSelectionMgr = Part.SelectionManager
'boolstatus = Part.Extension.SelectByID2("孔表1", "HOLETABLE", 0, 0, 0, False, 0, Nothing, 0)
Set swHoleTable = swSelectionMgr.GetSelectedObject6(1, -1)
With swHoleTable
.DatumOrigin.GetAnnotation.Visible = DatumOriginVisibleOpition
.HoleCentersVisible = CentersVisibleOpition
.HoleTagsVisible = TagsVisibleOpition
End With
End Sub
注释可见状态值swAnnotationVisibilityState
值Member | 描述DescriptionS |
---|---|
swAnnotationVisibilityUnknown | Annotation visibility is not known未知 |
swAnnotationVisible | Annotation is visible可见 |
swAnnotationHalfHidden | Annotation is half-hidden (grayed out) or hidden depending on the interactive user’s actions.半隐(灰色),取决于交互状态,不是最终状态 |
swAnnotationHidden | Annotation is hidden隐藏 |