| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Verknüpfte Datei im Schriftkopf (563 mal gelesen)
|
de-os Mitglied CAD-Admin
Beiträge: 34 Registriert: 15.02.2006 AutoCAD Mechanical, Inventor Professional, Vault Manufacturing
|
erstellt am: 15. Nov. 2006 12:01 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, kann mir jemand sagen, wo ich bei Inventor 11 im VBA die Verknüpfte Datei in einer Zeichnung finde. Hintergrund ist folgender: Ich möchte mit einem Makro Eigenschaften im Schriftkopf einer Zeichnung bearbeiten. Der Schriftkopf holt sich die Information aus der eingefügten Baugruppe. Ich möchte nun also auf die Eigenschaften aus dem Teil zugreifen, welches Inventor auch wählt, um den Schriftkopf zu füllen. Ausprobiert habe ich schon folgende Sachen, die alle mehr oder weniger fehlschlagen. m_oDoc.ReferencedDocuments.Item(m_oDoc.ReferencedDocuments.Count) m_oDoc.ReferencedDocumentDescriptors.Item(1).ReferencedDocument m_oDoc.ReferencedFiles.Item(1) m_oDoc.ReferencedFileDescriptors.Item(1).DocumentDescriptor.ReferencedDocument Irgendwo muss doch stehen, welche Datei Inventor 11 benutzt, um die Eigenschaften im Schriftkopf anzuzeigen. Hat jemand eine Idee? ------------------ _________________________ Mit freundlichem Glückauf de-os Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 15. Nov. 2006 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für de-os
Hallo de-os, was machst du mit m_oDoc.ReferencedFiles.Item(1)? Schreib mal den ganzen Code, wie du auf die refernecedfiles zugreifst oder was du damit festlegst. Das funktioniert, zumindest in IV10:
Code: Dim oDoc As Document Set oDoc = ThisApplication.ActiveDocument Dim tempdoc As Document For Each tempdoc In oDoc.ReferencedFiles MsgBox (tempdoc.FullFileName) Next
Gruß Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
de-os Mitglied CAD-Admin
Beiträge: 34 Registriert: 15.02.2006
|
erstellt am: 15. Nov. 2006 13:45 <-- editieren / zitieren --> Unities abgeben:
Vielleicht habe ich mich Falsch ausgedrückt: Ich habe ein Zeichnung. Auf dieser Zeichnung ist ein Baugruppe. In dem Schriftkopf sind referenzierte Daten aus der Baugruppe (Masse, Tiel, ...). Ich suche im VBA den Ort, wo genau steht aus welcher Datei Inventor die Informationen für den Schriftkopf holt. (Im Normalfall ist das ja die zuerst eingefügte Datei / Ansicht von der Datei). Aber wo steht geschrieben, welche Datei das ist. ------------------ _________________________ Mit freundlichem Glückauf de-os Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 15. Nov. 2006 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für de-os
Hallo de-os, vielleicht verstehst du auch nicht was in dem Code steht. Du hast die Zeichnung offen, von der du wissen willst welches Modell darin vorkommt, wenn nicht -> öffnen. Diese Datei verweist auf Modelle, entspricht referencedfiles. Diese kannst du mit for each duchlaufen und du kriegst die Dateien die in der Zeichnung dargestellt sind. In der foeach-schleife kannst du dann die Eigenschaften abfragen, die du haben möchtest. Msgbox(tempdoc.fullfilename) war nur ein Beispiel. Gruß Reinhard
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
de-os Mitglied CAD-Admin
Beiträge: 34 Registriert: 15.02.2006
|
erstellt am: 15. Nov. 2006 17:16 <-- editieren / zitieren --> Unities abgeben:
Hallo rtend12, ich verstehe das schon. Ich glaube auch, dass ich es gefunden habe. Ich wollte nur wissen, woher Inventor die Informationen für den Schriftkopf holt. Also aus dem entsprechenden Blatt und der Ersten Ansicht. Vom Pfad her also beim ersten Blatt kommen die Informationen aus folgender Datei: m_oDoc.sheets.Item(1).DrawingViews.Item(1).ReferencedDocumentDescriptor.ReferencedDocument Das müsste doch so richtig sein. ------------------ _________________________ Mit freundlichem Glückauf de-os Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 15. Nov. 2006 22:43 <-- editieren / zitieren --> Unities abgeben: Nur für de-os
Hallo de-os, ich finde zwar den weg über referencedfiles besser, weil kürzer aber biite. Was willst du denn jetzt mit dem Modell machen oder reicht es dir das du das Modell gefunden hast? Gruß Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
de-os Mitglied CAD-Admin
Beiträge: 34 Registriert: 15.02.2006
|
erstellt am: 16. Nov. 2006 08:51 <-- editieren / zitieren --> Unities abgeben:
Hallo rtend12, ich möchte nun die Eigenschaften im Einzelteil ändern, die der Schriftkopf anzeigt. Ich habe es auch mit ReferencedFiles probiert, hat aber nicht richtig funktioniert. Offenbar kommt es bei der Migration (von 10 auf 11) der Daten zu einem Durcheinander in den ReferencedFiles. Daher wollte ich nun den sichersten, aber leider auch umständlichsten Weg wählen. Mal sehen, ob mein Makro in der Praxis nun besser funktioniert. Danke für Deine Hilfe. ------------------ Mit freundlichem Glückauf de-os Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |