Hallo
Ich habe ein Makro, das aus einer Baugruppe das ausgewählte Teil öffnet und dann eine bestimmte Verarbeitung darauf anwendet.
Dieses Makro funktioniert sehr gut, wenn ich in der Baugruppe eine Fläche des zu bearbeitenden Teils auswähle.
Auf der anderen Seite möchte ich die Möglichkeit hinzufügen, diese Verarbeitung anzuwenden, indem ich das Teil auch aus dem Feature-Manager auswähle (ohne die aktuelle Möglichkeit von einer Fläche in der 3D zu entfernen)
Hat jemand ein konkretes Beispiel oder eine Idee für die zu verwendende Funktion?
Nachfolgend finden Sie den aktuellen Code (bereinigt):
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Dim swSelMgr As SldWorks.SelectionMgr
Dim swCompEnt As SldWorks.Entity
Dim swPartFeat As SldWorks.Feature
Dim swCompModel As SldWorks.ModelDoc2
Dim swPartEnt As SldWorks.Entity
Dim swConfigMgr As SldWorks.ConfigurationManager
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim nRetval As Long
Set swSelMgr = swModel.SelectionManager
Dim CurSelCount As Long
CurSelCount = swSelMgr.GetSelectedObjectCount
Set swCompEnt = swSelMgr.GetSelectedObject6(1, 0)
Set swComp = swSelMgr.GetSelectedObjectsComponent3(1, 0)
Set swCompModel = swComp.GetModelDoc
Set swConfigMgr = swCompModel.ConfigurationManager
Set swCompModelConfig = swConfigMgr.ActiveConfiguration
Set swModelDocExt = swCompModel.Extension
Set swPartEnt = swModelDocExt.GetCorrespondingEntity(swCompEnt)
Set swCompModel = swApp.ActivateDoc2(swCompModel.GetPathName, True, nRetval): Debug.Assert 0 = nRetval
Dim swConfig As SldWorks.Configuration
Set swModel = swApp.ActiveDoc
swModel.ShowConfiguration2 (swComp.ReferencedConfiguration)
Debug.Print "File = " + swModel.GetPathName
Debug.Print " Component = " + swComp.Name2 + " <" + swComp.ReferencedConfiguration + ">" + " [" + swComp.GetPathName + "]"
Debug.Print " Model = " + swCompModel.GetPathName + " <" + swCompModelConfig.Name + ">"
End Sub