SolidWorks MakroMania ist eine Beispielsammlung einiger Makros, die Ihnen eine Vorstellung davon geben soll, was man auch schon mit Makros in SolidWorks alles anstellen kann. Der Code des Makros sollte so gut dokumentiert sein, dass Sie damit ohne weitere Anleitung verstehen, was gemacht wird. |
< voriges |
MakroMania Übersicht |
Nummer 23 Alle Ansichten umstellen |
Ich übernehme keine Haftung für die korrekte Funktion der Routinen oder irgendwelcher Schäden bei der Anwendung dieser Beispiele. Das gesamte Risiko trägt der Benutzer selbst. - Sorry, muss sein.
Makro stellt alle Ansichten einer Zeichnung auf dieselbe Konfiguration um. Hintergrund: sie haben ein Modell mit mehreren Konfigurationen, und wollen für jede Konfiguration zwar eine ähnliche Zeichnung haben, aber immer eine andere Konfiguration darstellen. Dazu dann einfach die Zeichnung kopieren und dieses Makro abfeuern.
' **********************************************************************
' * Makro stellt alle Ansichten einer Zeichnung auf dieselbe
' * Konfiguration um. Hintergrund: sie haben ein Modell mit mehreren
' * Konfigurationen, und wollen für jede Konfiguration zwar eine
' * ähnliche Zeichnung haben, aber immer eine andere Konfiguration
' * darstellen. Dazu dann einfach die Zeichnung kopieren und dieses
' * Makro abfeuern.
' *
' * Fehlerbhandlung ist nur rudimentär, also bitte sehr genau
' * aufpassen, dass der richtige Konfigurationsname eingetragen wird
' *
' * 06.04.2003 Stefan Berlitz (stefan.berlitz@solidworks.cad.de)
' * http://solidworks.cad.de
' * http://swtools.cad.de
' *
' **********************************************************************
Dim swApp As Object
Dim DrawingDoc As Object
Dim View As Object
Dim ConfigName As String
' Konstante aus swconst.bas
Const swDocDRAWING = 3
Sub main()
' an SolidWorks anhängen
Set swApp = CreateObject("SldWorks.Application")
' prüfen, ob überhaupt ein Dokument offen ist ...
Set DrawingDoc = swApp.ActiveDoc
If DrawingDoc Is Nothing Then
MsgBox "Kein Dokument offen"
Exit Sub
End If
' ... und ob das auch eine Zeichnung ist
If (DrawingDoc.GetType <> swDocDRAWING) Then
MsgBox "Nur für Zeichnungen sinnvoll"
Exit Sub
End If
' einzustellende Konfiguration abfragen, hier der
' Einfachheit halber per Inputbox
ConfigName = InputBox("Bitte Namen der einzustellenden Konfiguration eingeben
_
(keine Eingabe = Abbruch)")
If ConfigName <> "" Then
' nacheinander alle Views versuchen umzustellen
Set View = DrawingDoc.GetFirstView
While Not View Is Nothing
' ACHTUNG: wenn eine Fehlermeldung kommt gibt es die angegeben
' Konfiguration nicht für Modell in dieser Ansicht
' Laufzeitfehler -2147417848 (80010108)
View.ReferencedConfiguration = ConfigName
Set View = View.GetNextView
Wend
DrawingDoc.EditRebuild
End If
End Sub
Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40 |