選択
オブジェクト選択
Function SelectObject(obj As Object, Optional isApend As Boolean = False) As Boolean
Dim objApp As SldWorks.SldWorks
Dim objModelDoc As SldWorks.ModelDoc2
Dim objSelectionMgr As SldWorks.SelectionMgr
Set objApp = Application.SldWorks
Set objModelDoc = objApp.ActiveDoc
Set objSelectionMgr = objModelDoc.SelectionManager
If isApend = False Then
Call objModelDoc.ClearSelection2(True)
End If
SelectObject = objSelectionMgr.AddSelectionListObject(obj, Nothing)
End Function
フィーチャー選択
Sub SelectPlane()
Dim objApp As SldWorks.SldWorks
Dim objModelDoc As SldWorks.ModelDoc2
Dim objExtension As SldWorks.ModelDocExtension
Dim objFeatureMgr As SldWorks.FeatureManager
Dim objFeature As SldWorks.Feature
Dim arrayFeatures As Variant
Dim varFeature As Variant
Dim objSelectionMgr As SldWorks.SelectionMgr
Dim objSelectData As SldWorks.SelectData
'平面のタイプネーム
Const swTnRefPlane As String = "RefPlane"
Set objApp = Application.SldWorks
Set objModelDoc = objApp.ActiveDoc
Call objModelDoc.ClearSelection2(True)
Set objExtension = objModelDoc.Extension
Set objFeatureMgr = objModelDoc.FeatureManager
Set objSelectionMgr = objModelDoc.SelectionManager
Set objSelectData = objSelectionMgr.CreateSelectData
arrayFeatures = objFeatureMgr.GetFeatures(True)
For Each varFeature In arrayFeatures
Set objFeature = varFeature
If objFeature.GetTypeName2() = swTnRefPlane Then
Call objSelectionMgr.AddSelectionListObject(objFeature, objSelectData)
End If
Next
'処理 ToDo
'Call objModelDoc.ClearSelection2(True)
End Sub
構成部品選択
- 指定コンポーネント以下のすべてコンポーネントを選択
Sub SelectAllComponent(objAssyComponent As SldWorks.Component2, Optional isApend As Boolean = False, Optional isApendSuppressed As Boolean = False)
If isApend = False Then
Dim objApp As SldWorks.SldWorks
Dim objModelDoc As SldWorks.ModelDoc2
Set objApp = Application.SldWorks
Set objModelDoc = objApp.ActiveDoc
Call objModelDoc.ClearSelection2(True)
End If
Dim arrayObjComp As Variant
Dim objCompVariant As Variant
Dim objComponent As SldWorks.Component2
If isApendSuppressed Or (objAssyComponent.IsSuppressed = False) Then
Call objAssyComponent.Select4(True, Nothing, False)
arrayObjComp = objAssyComponent.GetChildren()
For Each objCompVariant In arrayObjComp
Set objComponent = objCompVariant
Call SelectAllComponent(objComponent, True, isApendSuppressed)
Next
End If
End Sub
コメント
最終更新:2013年12月17日 00:19