Dim ModelDoc As Object Dim swapp As Object 'Public Enum DocumentTypes_e : Public Const swDocNONE = 0 Public Const swDocPART = 1 Public Const swDocASSEMBLY = 2 Public Const swDocDRAWING = 3 Public Const swDocSDM = 4 Sub main() ' Dim swUtil As Object ' Dim swUtilPsl As Object Dim activeDocument As Object 'SldWorks.ModelDoc2 Dim retval As String Dim longstatus As Long Set swapp = Application.SldWorks If swapp Is Nothing Then swapp.SendMsgToUser "no solidworks found!" Exit Sub End If Set activeDocument = swapp.ActiveDoc If activeDocument Is Nothing Then swapp.SendMsgToUser "Please open a part, assembly or drawing." Exit Sub Else Select Case activeDocument.GetType Case swDocPART 'alles OK.. Case Else swapp.SendMsgToUser "part file is needed" Exit Sub End Select End If ' Power-Select verwenden = Intelligentes Auswählen: Set swutil = swapp.GetAddInObject("Utilities.UtilitiesApp") '--------------------Power Select-------------------- ' a) aus recorder: 'Set swUtilPsl = swutil.PowerSelect 'b) aus Run PowerSelect Example (VB) : Set swUtilPsl = swutil.GetToolInterface(gtSwToolPowerSelect) longstatus = swUtilPsl.Init() ' aus API-Hilfe (falsch !? : 'longstatus = swUtilPsl.SetSelectEntitiesTypes(False, False, True, False) ' Kante, Kurvenzüge, Flächen, Features longstatus = swUtilPsl.SetSelectEntitiesTypes(gtPslSelectionType_Face) ' errorcode = swUtilPsl.SetEdgeConvexityFilter(TRUE, FALSE,FALSE) longstatus = swUtilPsl.SetShowHiddenEntities(False) ' Features von verdeckten Körpern aanzeigen J/N 'longstatus = swUtilPsl.SetFeatureColorFilter(0#, 1#, 0) ' RGB auf 1 normiert longstatus = swUtilPsl.SetFaceColorFilter(0#, 1#, 0) ' RGB auf 1 normiert varEntCount = swUtilPsl.RunPowerSelect(0, longstatus) longstatus = swUtilPsl.SelectResults() longstatus = swUtilPsl.Close() End Sub