| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Im Fokus: CAD Automation & CPQE |
Autor
|
Thema: Baugruppe per Macro einfügen (798 mal gelesen)
|
TEC2002 Mitglied
Beiträge: 13 Registriert: 02.08.2002
|
erstellt am: 10. Aug. 2002 16:13 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ist das so ?: Wenn ich eine Baugruppe per Macro einfüge, dann plaziert sie sich immer (relativ zum Nullpunkt) am Mittelpunkt der Baugruppe. Wie kann ich die Baugruppe per Macro zum Nullpunkt verschieben ? Kann ich die Baugruppe mit einem Macro drehen ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Disprosium2 Mitglied Physiker
Beiträge: 2 Registriert: 12.09.2002
|
erstellt am: 12. Sep. 2002 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für TEC2002
|
TEC2002 Mitglied
Beiträge: 13 Registriert: 02.08.2002
|
erstellt am: 12. Sep. 2002 12:06 <-- editieren / zitieren --> Unities abgeben:
|
d_b Mitglied vorhanden
Beiträge: 88 Registriert: 15.03.2001 42
|
erstellt am: 12. Sep. 2002 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für TEC2002
Hallo, das kann man am einfachsten über die 'Orientation Matrix'. Siehe auch Adding a component example. Verschieben geht z.B so: ---cut Option Explicit Dim swApp As Object Dim asm As Object Dim Component As Object Dim selmgr As Object Dim oldxform As Variant Dim newxform(16) As Double Dim xform As Variant Dim k As Integer Sub main() Set swApp = CreateObject("SldWorks.Application") Set asm = swApp.ActiveDoc Set Component = asm.AddComponent2("C:\makro\Baugruppe1.SLDASM", 0#, 0#, 0)
oldxform = Component.GetXform For k = 0 To 15 newxform(k) = oldxform(k) Next k newxform(9) = 100 / 1000# 'x newxform(10) = 100 / 1000# 'y newxform(11) = 100 / 1000# 'z xform = newxform Component.SetXForm ((xform)) asm.UpdateBox End Sub ---Cut Bitte auch die Hinweise in der API Hilfe lesen. Wenn man schon Verknüpfungen definiert hat, können diese 'verletzt' werden. Gruß, Dieter Bruns Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel Mitglied
Beiträge: 169 Registriert: 05.09.2000
|
erstellt am: 12. Sep. 2002 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für TEC2002
Moin, hiermit geht es noch einfacher (finde ich): retval = AssemblyDoc.AddComponents(VARIANT names, VARIANT transforms) Einfach ein Variant-Array mit Dateinamen und eins mit Transformationen übergeben und los gehts! Ist auch viel schneller. Axel ------------------ Axel Dengler SolidLine AG Hamburg www.solidline.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Disprosium2 Mitglied Physiker
Beiträge: 2 Registriert: 12.09.2002
|
erstellt am: 12. Sep. 2002 20:18 <-- editieren / zitieren --> Unities abgeben: Nur für TEC2002
Hallo, vielen Dank für den Tip, jetzt funktioniert es einwandfrei. Eine Frage hätte ich noch. Ist es möglich über vba ein Bild zu machen und diesen als Film ablaufen zu lassen. So wie ich es bis jetzt verstanden habe ( Und ich bin leider blutiger Anfänger) kann man mit dem Animator keine Einzelbilder schießen (Sonst hätte ich mir mal ein Makro angeschaut), sondern nur ein Werkstück um die eigene Achse drehen. vielen Dank nochmal Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 13. Sep. 2002 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für TEC2002
Hallo Disprosium2, du kannst das Modell entweder als TIFF abspeichern (wird vom Modell aus automatisch als Screenshot gemacht), das funktioniert mit ModelDoc2.SaveAs und als Endung .tif angeben. Wenn du die Auflösung einstellen willst gibt es ab SW2001Plus die Möglichkeit eine Bitmap zu speichern, dort kann man Breite und Höhe mitegeben. Beispiel dazu in der MakroMania auf http://solidworks.cad.de/mm_16.htm Ich hab zwar selbst noch nie viel mit Animator gemacht, aber der kann sicher mehr als einfach nur das Modell drehen. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |