Autor
|
Thema: Zeichnungen neu referenzieren (1625 mal gelesen)
|
mortal sin Mitglied Dipl. Ing. Maschinenbau
Beiträge: 3 Registriert: 24.05.2007
|
erstellt am: 25. Mai. 2007 07:41 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe folgendes Problem: Ich möchte per Makro das Referenzpart eines Drawings ändern, also eine Zeichnung von einem Part_XXX auf ein Part_YYY umhängen. Bei diese beiden Parts sind identisch, haben jedoch andere Dateinamen und Teilenummern. Ich hatte mir das prinzipiell so vorgestellt: Language = CATScript Sub CATMain() Dim Part As Document Dim Drawingdoc As Document Dim Sheets As DrawingSheets Dim Sheet As DrawingSheet Dim AktViews As DrawingViews Dim aktView, MyView As DrawingView Set Part = CATIA.Documents.Item("Testpart.CATPart") Set Drawingdoc = CATIA.ActiveDocument Set Sheets = Drawingdoc.Sheets Set Sheet = Sheets.ActiveSheet Set AktViews = Sheet.Views For i = 1 To AktViews.Count Set aktView = aktViews.Item(i)'ActiveView IF Not (GenView = aktView.IsGenerative()) Then Set aktView = aktView.ReferenceView End If Dim ReferenceComponent As Document Set ReferenceComponent = aktView.GenerativeBehavior.Document aktView.GenerativeBehavior.Document = Part Next End Sub Das Problem ist nur, dass ich eine Fehlermeldung bekomme. (Siehe Anhang) und das Makro abbricht. Wenn sich jemand damit auskennt bitte melden. Schon mal danke, bis denne, Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bertel Mitglied
Beiträge: 300 Registriert: 03.04.2002 CATIA V5 R26SP3HF21 Win10 Lenovo P52 Intel Xenon 16GB Ram NVIDIA Quadro P2000 EUKLID V14 ViCADo 2015
|
erstellt am: 29. Mai. 2007 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für mortal sin
Hallo mortal sin, bei mir funktioniert das so: if not(GenView = DrwView.IsGenerative()) then DrwView.GenerativeLinks.RemoveAllLinks DrwView.GenerativeLinks.AddLink PartDocument.Part end if Gruß Bertel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mortal sin Mitglied Dipl. Ing. Maschinenbau
Beiträge: 3 Registriert: 24.05.2007
|
erstellt am: 29. Mai. 2007 18:00 <-- editieren / zitieren --> Unities abgeben:
|
Bertel Mitglied
Beiträge: 300 Registriert: 03.04.2002 CATIA V5 R26SP3HF21 Win10 Lenovo P52 Intel Xenon 16GB Ram NVIDIA Quadro P2000 EUKLID V14 ViCADo 2015
|
erstellt am: 30. Mai. 2007 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für mortal sin
|
Locke101 Mitglied
Beiträge: 51 Registriert: 02.05.2007
|
erstellt am: 30. Mai. 2007 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für mortal sin
Hallo Zusammen, habe das obige Skript bei mir versucht. Gibt es eine Möglichkeit das die Maße in der Zeichnung ihre Referenzen an Kanten, usw behalten? Bis jetzt werden alle Maße zu toten Maßen! Das heißt das nur der Link zu dem neuen Part ausgetauscht wird! Ist das möglich ???????????
Würde mir sehr helfen. Gruß Locke 101 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 31. Mai. 2007 22:00 <-- editieren / zitieren --> Unities abgeben: Nur für mortal sin
Hallo Locke101, was Du anstrebst, geht nur, wenn die Parts immer noch die gleiche UUID haben, sprich das zweite Part aus dem ersten Part mit "File_SaveAs" ohne "Save_as_new_document" entstanden ist. Dann musst Du im Script von "Bertel" nur die Zeile: Code: DrwView.GenerativeLinks.RemoveAllLinks
weglassen und nachher manuell in jeder View im Kontext-Menü "View->Modify_links" den Link zum ersten Part löschen. Dann sollten die Maße nicht verloren gehen, allerdings ist auch das nicht sicher! 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 |
Locke101 Mitglied
Beiträge: 51 Registriert: 02.05.2007
|
erstellt am: 01. Jun. 2007 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für mortal sin
Hi Lusilnie, da bin ich in dem Fall voll im Problem, denn ich habe ne andere UUID. Gibt es da keine Möglichkeit die Referenzen der einzelnen Maße auszulesen und beim neuen Part zu zuweisen??? Die Namen der Kanten bzw. Flächen müssten ja noch gleich sein, oder irre ich mich da???? Gruß Locke101 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |