Dim SwApp As Object ' ********************************************************************** ' * Makro blendet alle Skizzen und Ebenen in einem Teil aus. ' * Anforderung siehe ' * http://ww3.cad.de/foren/ubb/Forum2/HTML/015512.shtm ' * ' * 03.07.2008 Stefan Berlitz (stefan.berlitz@solidworks.cad.de) ' * ' * http://solidworks.cad.de ' * http://swtools.cad.de ' ********************************************************************** ' die Konstanten aus swconst.bas, damit nicht mit Zahlen gearbeitet werden muss Const swDocDRAWING = 3 ' Used to be TYPE_PART Sub Main() Dim SwApp As Object Dim Part As Object Dim Feature As Object Set SwApp = CreateObject("SldWorks.Application") Set Part = SwApp.ActiveDoc If Part Is Nothing Then MsgBox ("Kein Modell geöffnet") End End If ' ausserdem funktioniert das so nur mit Parts, also sollte das aktive ' Dokument auch ein Part sein If Part.GetType() = swDocDRAWING Then MsgBox ("Das Makro funktioniert nur mit Modellen") End End If ' das erste Feature im Part suchen Set Feature = Part.FirstFeature ' dann eine Schleife über alle Feature While Not Feature Is Nothing ' Debug.Print Feature.GetTypeName If Feature.GetTypeName = "ProfileFeature" Or _ Feature.GetTypeName = "3DProfileFeature" Then ' selektieren Part.SelectByID Feature.Name, "SKETCH", 0, 0, 0 ' ausblenden Part.BlankSketch End If ' und noch Referenzebenen ausblenden If Feature.GetTypeName = "RefPlane" Then ' selektieren Part.SelectByID Feature.Name, "PLANE", 0, 0, 0 ' ausblenden Part.BlankRefGeom End If ' und das nächste Feature abklappern Set Feature = Feature.GetNextFeature() Wend End Sub