| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
|
Autor
|
Thema: Referenzlink aus Drawing (689 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 SolidWorks 2023
|
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

|
erstellt am: 12. Mrz. 2009 19:27 <-- editieren / zitieren -->
Hallo zusammen, @KSiebert: Du solltest eine Ansicht nicht über den Namen ansprechen. Da mehrere Ansichten den gleichen Namen haben können, hast du damit keine definierte View, die du ansprichst. Besser ist es, sie mit ihrem Index anzusprechen. Edit: Und noch eins: jedes Blatt enthält eine Main View (Index=1) und eine Background View (Index=2). Das gilt auch für Detailsheets. Viele Grüße, CEROG ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? |
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 |