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 12 Massenmittelpunkt erzeugen |
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.
Den Massenmittelpunkt kann man sich mit SolidWorks ganz einfach anzeigen lassen. Problem ist, dass er anschließend nicht mehr greifbar. Wenn der dann doch mal gebraucht wird kann dieses Makro benutzt werden:
' **********************************************************************
' * Makro ermittelt im aktiven Dokument (sollte Baugruppe oder Part
' * sein) den Massenmittelpunkt und erzeugt in einer 3D-Skizze einen
' * Punkt, der dem entspricht. Dies ist NICHT assoziativ, deswegen
' * wird auch als Name Datum und Uhrzeit angegeben
' *
' * 12.12.2001 Stefan Berlitz (stefan.berlitz@solidworks.cad.de)
' * http://solidworks.cad.de
' * http://swtools.cad.de
' **********************************************************************
' zunächst mal ein paar Deklarartionen die gebraucht werden
Dim swApp As Object
Dim ModelDoc As Object
Dim Point As Object
Dim Sketch As Object
Dim status As Long
Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set ModelDoc = swApp.ActiveDoc
' die Masseeigenschaften holen
MassProp = ModelDoc.GetMassProperties2(status)
' und einen neuen 3D-Skizze mit genau einem Punkt
' (dem Masse-Mittelpunkt) erzeugen
ModelDoc.Insert3DSketch2 (True)
Set Sketch = ModelDoc.GetActiveSketch2
ModelDoc.SetAddToDB (True)
Set Point = ModelDoc.CreatePoint2(MassProp(0), MassProp(1), MassProp(2))
ModelDoc.SetAddToDB (False)
ModelDoc.Insert3DSketch2 (True)
' und dem Sketch noch einen Namen geben
Sketch.Name = "Massemittelpunkt " & Format$(Now, "dd.mm.yyyy hh:mm:ss")
ModelDoc.EditRebuild
End Sub
Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40 |