| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Daten aus dem Zeichnungskopf einer idw auslesen (1684 mal gelesen)
|
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 12. Jan. 2004 15:15 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits! Ich bin gerade dabei, ein Makro zu erstellen, das die Stücklistendaten in einer idw ausliest und in ein Excel-Sheet schreibt. Das ist soweit auch kein Problem. Aber um den Stücklisten-Kopf in Excel auszufüllen benötige ich Daten aus dem Zeichnungskopf. Die Zeichnung übernimmt diese Daten (Name, Zeichnungsnummer...) aus den Properties des zugrundeliegenden Modells, in den Properties der Zeichnung sind diese Daten nicht mehr enthalten. Gibt es eine Möglichkeit auf die Properties des Modells bzw. auf die Daten im Kopf zuzugreifen? Für Eure Hilfe wäre ich Euch sehr dankbar! Servus, Ulrich
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Evil_Bart Mitglied CAD Admin (Freiberuflich)
Beiträge: 137 Registriert: 14.08.2003 - Win 7 CAD: - Inventor 2013 Pro - AM 2013 - SAP/PLM
|
erstellt am: 13. Jan. 2004 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für Ulr1ch
|
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 14. Jan. 2004 13:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Andreas, erstmal Danke für Deinen Tipp. Leider trift der Hinweis nicht genau das, was ich meine. Ich werd mal versuchen die Situation genauer zu erklären. In unserem Betrieb werden in den Modellen verschiedene Properties ausgefüllt. Dazu zählen insbesondere Zeichnungsnummer, und Benennung. Wird nun eine Zeichnung abgeleitet, greift der Zeichnungskopf (nicht der Eigenschaftsdialog) auf die Eigenschaften des Modells zu und füllt die Felder (im Zeichnungkopf) entsprechend aus. Die Eigenschaften der Zeichnung bleiben davon unberührt und werden NICHT aufgefüllt. Ich hab die Vorlagendatei der Zeichung angehängt. Vieleicht macht's das deutlicher. Mit Hilfe Deines Skriptes kann ich auf die Eigenschaften der Zeichung zugreifen, diese sind aber leer. Wie kann ich nun auf die Felder im Zeichnungskopf zugreifen? Ich hoffe es weis hier jemand Rat. Viele Grüße aus dem (momentan) sonnigen Süden Ulrich
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 14. Jan. 2004 15:41 <-- editieren / zitieren --> Unities abgeben: Nur für Ulr1ch
|
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 14. Jan. 2004 16:08 <-- editieren / zitieren --> Unities abgeben:
|
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 14. Jan. 2004 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für Ulr1ch
Hallo Ulrich, versuch mal das: Private Sub getPropsFromIdwParent() Dim oApp As Inventor.Application Set oApp = ThisApplication Dim oDrawDoc As DrawingDocument Set oDrawDoc = oApp.ActiveDocument Dim oPartDoc As PartDocument Set oPartDoc = oDrawDoc.ReferencedFileDescriptors(1).ReferencedDocument MsgBox oPartDoc.FullFileName Dim oPropSets As PropertySets Set oPropSets = oPartDoc.PropertySets Dim oPropSet As PropertySet For Each oPropSet In oPropSets For i = 1 To oPropSet.Count On Error Resume Next Debug.Print "PropSet Name: " & oPropSet.DisplayName & " Prop Name: " & oPropSet(i).Name & " ; Wert: " & oPropSet(i).Value Next i Next oPropSet End Sub Gruesse,
Paul www.morecam.ch/cad.htm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 15. Jan. 2004 12:16 <-- editieren / zitieren --> Unities abgeben:
|
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 15. Jan. 2004 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Ulr1ch
|
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 15. Jan. 2004 13:56 <-- editieren / zitieren --> Unities abgeben:
|
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 15. Jan. 2004 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für Ulr1ch
|
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 15. Jan. 2004 15:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Paul, das Skript von Dir funktioniert solange es sich um die Zeichnung eines Bauteils handelt. Bei Baugruppen funktioniert aber die Methode ReferencedDocument in der folgenden Zeile nicht: Set oPartDoc = oDrawDoc.ReferencedFileDescriptors(1).ReferencedDocument Was muss ich machen, damit das Skript auch bei Baugruppen funktioniert? Danke schon mal im voraus, Ulrich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 15. Jan. 2004 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für Ulr1ch
Hallo Ulrich, ... das war aber keine 10 unities-Frage... Du hast also Deinen Vorschuss sozusagen zum Fenster rausgeworfen... Nun, wie der Name der Variable 'oPartDoc' schon sagt, ist das 'Mutter'-Dokument eben ein Part-Dokument. Wenn Du daraufhin ein Assy-Doc referenzieren willst, dann verabschiedet sich das Ganze ins Daten-Nirvana. Du kannst folgendes tun: 1. (Der Weg fuer faule) Du deklartierst oPartDoc nicht als PartDokument sóndern als Inventor.Dokument und verweise so darauf: Set oPartDoc = oDrawDoc.ReferencedFiles(1) 2. Du suchst vor der besagten Abkack-Stelle nach den referenzierten Dokument-Typ mit: oDrawDoc.ReferencedFileDescriptors(1).DocumentType Dann kannst Du mit einer if-Anweisung entscheiden: wenn's ein Part-Doc ist mach dies und wenn's ein Assy-doc ist mach das
Gruesse, Paul www.morecam.ch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 19. Jan. 2004 08:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Paul, danke für Deine Tipps. Eigendlich hätte ich ja selbst drauf kommen müssen und ich war auch schon auf dem richtigen Weg. Aber irgendwo war ein Fehler und der hatt mich dann in die Irre geführt. Wenn Du der Meinung bist, dass die letzte Antwort keine 10 Unities Wert war dann hab ich ja noch einige Antworten gut. Die Fragen dazu werden in Kürze im Forum auftauchen. Bis bald und nochmals Danke Ulrich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 19. Jan. 2004 08:58 <-- editieren / zitieren --> Unities abgeben: Nur für Ulr1ch
|
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 19. Jan. 2004 09:03 <-- editieren / zitieren --> Unities abgeben:
|