|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus  der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | 
|  |  | 
|  | Weiterbildung Konstrukteur/-in für SolidWorks , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein) 
 | 
| Autor | Thema:  Baugruppe per Macro einfügen (803 mal gelesen) | 
 | TEC2002 Mitglied
 
 
  
 
      Beiträge: 13Registriert: 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: 2Registriert: 12.09.2002
 |    erstellt am: 12. Sep. 2002 11:05  <-- editieren / zitieren -->    Unities abgeben:           Nur für TEC2002   | 
                        | TEC2002 Mitglied
 
 
  
 
      Beiträge: 13Registriert: 02.08.2002
 |    erstellt am: 12. Sep. 2002 12:06  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | d_b Mitglied
 vorhanden
 
  
 
      Beiträge: 88Registriert: 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 ExplicitDim 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 15newxform(k) = oldxform(k)
 Next k
 newxform(9) = 100 / 1000#   'xnewxform(10) = 100 / 1000#  'y
 newxform(11) = 100 / 1000#  'z
 xform = newxformComponent.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: 169Registriert: 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: 2Registriert: 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 nochmalBernd
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                       
 | StefanBerlitz Guter-Geist-Moderator
 IT Admin (CAx)
 
 
  
 
      Beiträge: 8756Registriert: 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 |