| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: per VBA ein Bauteil in eine Baugruppe einfügen (2575 mal gelesen)
|
jennypetechowoodstock Mitglied student
Beiträge: 4 Registriert: 09.11.2009
|
erstellt am: 20. Jan. 2010 15:24 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte per VBA ein Bauteil in eine Baugruppe einfügen und dies an eine vorgegebene Position positionieren. Kann jemand mir helfen? Ein Beispiel ist super! Danke im Voraus! jenny Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 20. Jan. 2010 19:51 <-- editieren / zitieren --> Unities abgeben: Nur für jennypetechowoodstock
Hallo Zu 100% aus der Inventor Programmierungshilfe kopiert: "Assembly Add Occurrence Example"
"This sample demonstrates placing an assembly occurrence. Before running the sample, you need to open an assembly and create a part file called C:\Temp\Part1.ipt, or edit the sample code to point to another part file if desired. " Code:
Public Sub AddOccurrence() ' Set a reference to the assembly component definintion. ' This assumes an assembly document is open. Dim oAsmCompDef As AssemblyComponentDefinition Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition ' Set a reference to the transient geometry object. Dim oTG As TransientGeometry Set oTG = ThisApplication.TransientGeometry ' Create a matrix. A new matrix is initialized with an identity matrix. Dim oMatrix As Matrix Set oMatrix = oTG.CreateMatrix ' Set the rotation of the matrix for a 45 degree rotation about the Z axis. Call oMatrix.SetToRotation(3.14159265358979 / 4, _ oTG.CreateVector(0, 0, 1), oTG.CreatePoint(0, 0, 0)) ' Set the translation portion of the matrix so the part will be positioned ' at (3,2,1). Call oMatrix.SetTranslation(oTG.CreateVector(3, 2, 1)) ' Add the occurrence. Dim oOcc As ComponentOccurrence Set oOcc = oAsmCompDef.Occurrences.Add("C:\Temp\Part1.ipt", oMatrix) End Sub
------------------ MfG RK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jennypetechowoodstock Mitglied student
Beiträge: 4 Registriert: 09.11.2009
|
erstellt am: 21. Jan. 2010 10:47 <-- editieren / zitieren --> Unities abgeben:
|
TSch Mitglied CAD/PDM Administrator
Beiträge: 102 Registriert: 26.07.2002 Sei frohgemut bei allen Dienstobliegenheiten !
|
erstellt am: 17. Feb. 2010 09:22 <-- editieren / zitieren --> Unities abgeben: Nur für jennypetechowoodstock
Tach, es gibt noch die Möglichkeit, den "Einfügen Komponente" Befehl zu zünden, die Komponente "hängt" dann am Cursor und der Anwender kann die Komponente wie gewohnt platzieren. Hier mal ein Auszug, wie man das umsetzen kann : Dim oApp As Inventor.Application Dim oDoc As Inventor.Document Dim InventorsLogicalFileName as string 'voller Dateiname der einzufügender Datei 'Achte darauf,ob evtl. die einzufügende Datei im Workspace zu finden ist !!! Set oApp = GetObject(, "Inventor.Application") Set oDoc = oApp.ActiveDocument 'Aufruf des Kommandos : oApp.CommandManager.PostPrivateEvent kFileNameEvent, InventorsLogicalFileName oApp.CommandManager.StartCommand kPlaceComponentCommand Gruß Thomas ------------------ Thomas Sch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Skip Mitglied
Beiträge: 2 Registriert: 22.03.2010
|
erstellt am: 22. Mrz. 2010 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für jennypetechowoodstock
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 22. Mrz. 2010 18:55 <-- editieren / zitieren --> Unities abgeben: Nur für jennypetechowoodstock
Hallo Im Hilfemenü von Inventor gibt es einen Punkt Programmierungshilfe. In Inventor 2010 versteckt der sich unter "weitere Resourcen". Als Suchbegriff mal "ComponentOccurrence" eingeben. In der Ergebnisliste tauchen dann auch mehrere Example auf. Eines von denen isses. ------------------ MfG RK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Skip Mitglied
Beiträge: 2 Registriert: 22.03.2010
|
erstellt am: 23. Mrz. 2010 13:29 <-- editieren / zitieren --> Unities abgeben: Nur für jennypetechowoodstock
Cool, da hats ja jede Menge Codes drin, Danke! Ich vermute mal, vielen ist diese Hilfe gar nicht bewusst, denn die ist schon recht versteckt in I10 [Diese Nachricht wurde von CAD-Skip am 23. Mrz. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |