| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Bauteile und Baugruppen platzieren mit VBA (3287 mal gelesen)
|
mattesa88 Mitglied

 Beiträge: 17 Registriert: 17.05.2011
|
erstellt am: 08. Jun. 2011 15:14 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich wollte mal fragen, ob es grundsätzlich möglich ist, mit dem VBA-Editor in einer Baugruppe Bauteile und Unterbaugruppen gezielt zu platzieren (evtl. mit einer zusätzlichen Excel-Tabelle in der die einzelnen Koordinaten stehen). Ich verwende Inventor noch nicht allzu lange und mit VB kenne ich mich eigentlich gar nicht aus (bis auf das, was ich bisher darüber gelesen habe, was nicht allzu viel ist). Falls es möglich sein sollte, wo bekomme ich Informationen über die nötigen Befehle, Einführungen usw., denn was ich bisher finden konnte, war leider nicht sonderlich hilfreich. Vielen Dank schonmal, für jede Hilfe (ich habe sie auf jeden Fall nötig) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
   

 Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 08. Jun. 2011 16:04 <-- editieren / zitieren --> Unities abgeben:          Nur für mattesa88
|
mattesa88 Mitglied

 Beiträge: 17 Registriert: 17.05.2011
|
erstellt am: 08. Jun. 2011 17:03 <-- editieren / zitieren --> Unities abgeben:         
Die Progammierhilfe habe ich in der Zwischenzeit auch schon auf Umwegen gefunden und meine auch, mit dieser Methode zumindest mal für einen Teil meiner Frage eine Antwort gefunden zu haben. Allerdings beim versuchen des Beispiels bekomme ich die Fehlermeldung im Bild Mein Code sieht so aus (im Prinzip nur das Beispiel kopiert und 'n anderes Teil genommen): 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 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:\Users\Mattes\Documents\Inventor\Phénix\Inner_Tube.ipt", oMatrix) End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mattesa88 Mitglied

 Beiträge: 17 Registriert: 17.05.2011
|
erstellt am: 08. Jun. 2011 17:05 <-- editieren / zitieren --> Unities abgeben:         
|
PaulSchuepbach Moderator Programmierer
   

 Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 09. Jun. 2011 08:22 <-- editieren / zitieren --> Unities abgeben:          Nur für mattesa88
|

| |
mattesa88 Mitglied

 Beiträge: 17 Registriert: 17.05.2011
|
erstellt am: 09. Jun. 2011 09:02 <-- editieren / zitieren --> Unities abgeben:         
Im Dokumenten-Projekt und ich hab bei Inventor auf den VBA-Editor-Button geklickt, also bin ich nicht in Excel. Ich hab 'ne neue Beugruppe erstellt, auf VBA-Editor geklickt und beim Dokumenten-Projekt hab ich den Code reinkopiert (hab's dann auch mal beim Benutzer-Projekt probiert - mit dem selben ERgebnis). Muss ich, obwohl ich in ja schon in der Baugruppe drin bin, die noch irgendwie aktivieren, so dass sie als "ThisApplication" erkannt wird? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |