Autor
|
Thema: Referenzlink aus Drawing (623 mal gelesen)
|
Gepetto Mitglied Diplomand auf Arbeitssuche
Beiträge: 32 Registriert: 04.03.2009
|
erstellt am: 12. Mrz. 2009 15:23 <-- editieren / zitieren --> Unities abgeben:
Moin Zusammen, ich habe ein Problem und hab leider keine Ahnung wie ich es lösen kann, also hoffentlich könnt Ihr mir helfen: Ich habe ein Drawing und auf diesem ist eine Ansicht von einem Part/Product. Es soll nun der Link von dieser Drawing ausgelesen werden und damit geprüft werden ob, das Part/Product geöffnet ist. Mein Ansatz ist: set drawingDoc = CATIA.ActiveDocument set ProductDrawn =drawingDoc.Sheets.Item(1).GenerativeLinks oPath = ProductDrawn.Parent.FullName Irgendwie ist mein Fett markierter Ansatz nicht richtig... MfG Jan
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 12. Mrz. 2009 18:57 <-- editieren / zitieren --> Unities abgeben: Nur für Gepetto
Hallo, so könnte das Aussehen ich lese mir den Pfad zum Part/Product über die Vorderansicht aus.
Code: '__________________Ansicht bestimmen_________________________________ Dim oDrwDocument As Document Set oDrwDocument = CATIA.ActiveDocument Dim oDrwSheets As DrawingSheets Set oDrwSheets = oDrwDocument.Sheets Dim oDrwSheet As DrawingSheet oDrwDocument.Sheets.Item(1).Activate Set oDrwSheet = oDrwSheets.ActiveSheet Dim oViews As DrawingViews Set oViews = oDrwSheet.Views Dim oView As DrawingView Set oView = oViews.ActiveView oView.Activate '_______________________________________________________________'__________________________Dateipfad LESEN___________________________________________ If oDrwSheets.Parent.Path = "" Then Mldg_1 = "Die aktive Zeichnung hat keine externen Refenzen" Mldg_2 = "Bitte schlieþen Sie alle Zeichnung die nicht auf CATParts oder CATProduct verlinkt sind und starten Sie das Makro erneut" Mldg_3 = "Das Makro wird nun beendet!" Stil = vbOKOnly + vbCritical Titel = "Abbruch" Box = MsgBox(Mldg_1 + Chr(10) + Mldg_2 + Chr(10) + Mldg_3, Stil, Titel) Exit Sub End If
Set ProductDrawn = oDrwSheet.Views.Item("Vorderansicht").GenerativeBehavior.Document oPath = ProductDrawn.Parent.FullName oName = ProductDrawn.Parent.Name
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
Beiträge: 4755 Registriert: 27.09.2000 Dell precision M4300, 4GB Arbeitsspeicher NVidia FX360M Windows XP professional SP3 CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4 Adobe Acrobat 8 Linux: Ubuntu 8.04LTS
|
erstellt am: 12. Mrz. 2009 19:27 <-- editieren / zitieren --> Unities abgeben: Nur für Gepetto
|
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 12. Mrz. 2009 23:22 <-- editieren / zitieren --> Unities abgeben: Nur für Gepetto
Hallo Gepetto, Resultat aus Deiner Frage und der Antworten meiner Vorredner: Die spezielle Zeile bei Dir sollte lauten: Code: set ProductDrawn =drawingDoc.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document
Es kann auch eine View zwischen "Item(3)" und "Item(xxx)" sein, es müssen nur "xxx" Views existieren! mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gepetto Mitglied Diplomand auf Arbeitssuche
Beiträge: 32 Registriert: 04.03.2009
|
erstellt am: 13. Mrz. 2009 07:44 <-- editieren / zitieren --> Unities abgeben:
Danke schonmal. Ich hatte diesen Ansatz auch schon mal versucht. Ich dachte aber GenerativeLinks wäre der bessere Weg um den Link der Drawing anzusprechen. Manuell würde ich ja auch über Edit->Links->Pointed documents gehen um denn referencePart zu finden. 1. Kann mich mal wer aufklären warum GenerativeBehavior besser ist? 2. warum ist item(3) die erste View, oder verstehe ich das falsch? 3. und ist es Problem wenn die View ge"locked" ist?
[Diese Nachricht wurde von Gepetto am 13. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gepetto Mitglied Diplomand auf Arbeitssuche
Beiträge: 32 Registriert: 04.03.2009
|
erstellt am: 13. Mrz. 2009 09:39 <-- editieren / zitieren --> Unities abgeben:
Ich habe einen wichtigen Punkt gefunden, der die Sache erschwert! Die beiden Dokumente sind über unser pdm system geladen und es ist daher nur ein PDM Link den ich über GenerativeBehaivior auslesen kann. Mit diesem kann ich dann nicht prüfen ob das Teil geöffnet ist, weil er eine total andere Bezeichnung der REferenz wieder gibt. Deshalb hatte ich auch mein Problem. Daher eine weitere Frage: Wie kann ich den Link trotzdem auslesen? Über edit->links...->pointed document steht der richtige Name. Ich muss nur wissen wie ich den ansprechen kann! MfG Jan [Diese Nachricht wurde von Gepetto am 13. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |