Ich erstelle per Makro(catvba) ein Product und darunter ein Part in dem ich einige Parameter erzeuge. Frage: Wie kann ich diese Parameter veröffentlichen oder wird diese Funktion von der Automatisierung nicht unterstützt. Ich hab es wie im Anhang mal versucht aber da spielt CATIA nicht mit
diese beiden Linien stehen schon weiter oben in meinem Skript. Der Anhang ist nur ein kurzer Auszug. Daran liegt es also nicht. Ich befürchte fast dass diese Funktion nicht von der Automatisierung unterstützt wird.
' ************************************************** ' * VBA Makro ' * Version 1 ' * Beispiel Makro zum Veröffnetlichen eines Parameters ' * Geschreiben von Carl Tenschert ' * Datum 17.11.2005 ' * System Win 2K Catia V5 R12 Sp 5 ' ************************************************** Sub CATMain()
Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product Set product1 = productDocument1.Product.Products.Item(1).Products.Item(1).ReferenceProduct
Dim reference1 As Reference Set reference1 = product1.CreateReferenceFromName("Product1/Product2.1/Part2.1/!xyz")
Dim publications1 As Publications Set publications1 = product1.Publications
Dim publication1 As Publication Set publication1 = publications1.Add("xyz")
publications1.SetDirect "xyz", reference1
End Sub
------------------ Mit freundlichem Gruß von Carl Tenschert
vielen Dank CTenschert für den Code hatte nur noch keine Zeit es zu testen.
Hab aber inzwischen auch einen anderen Weg gefunden. Und zwar muß ich die Parameter im Skelett garnicht veröffentlichen um von anderen Parts darauf zugreifen zu können. Ich kann sie auch einfach im Skelett anwählen und dem entsprechenden Maß zuordnen.(siehe Anhang). CATIA spielt hier mit obwohl ich in den Optionen den Haken bei "Nur die veröffentlichten Elemente für externe Auswahl......zu verwenden". Ich denke Parameter fallen eben nicht darunter.
erstellt am: 20. Nov. 2005 03:40 <-- editieren / zitieren --> Unities abgeben: Nur für Jules_Vernes
Hallo Carl Tenschert,
klappt der von Dir gepostete Code wirklich? Ich habe ein etwa gleiches Script getestet (anderere Reference) und es wurde auch eine Publikation erstellt, doch wenn ich unter Publikations nachschaute, verwies diese auf nichts!!! Gibt es da noch einen Trick?
CTenschert Mitglied Wissenschaftlicher Mitarbeiter
Beiträge: 67 Registriert: 04.09.2000
erstellt am: 21. Nov. 2005 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für Jules_Vernes
Habe gerade noch mal getestet, Du hast Recht. Wenn ich mit der Maus über der Veröffentlichung stehe leuchtet zwar der richtige Parameter aber die Verbindung gibt es nicht.
------------------ Mit freundlichem Gruß von Carl Tenschert
hab es gestern auch mal getestet und hat bei mir auch nicht funtioniert. Mit publications1.SetDirect "xyz", reference1 wird zwar eine Veröffentlichung Namens "xyz" erstellt aber die refrence1 führt nicht zu dem Parameter. Dann wird das direkte Zugreifen ohne veröffentlichen wohl die einzigste Lösung sein. Wenn man anschließend unter Verknüpfungen schaut werden auch keine externen angezeigt. Sieht also gut aus.
erstellt am: 08. Mrz. 2006 15:15 <-- editieren / zitieren --> Unities abgeben: Nur für Jules_Vernes
Hallo
hatte das gleiche Problem beim Veröffenltichen von Parametern. Wenn man das "!" - Zeichen vor dem Parameternamen weg läßt funktionierts. Daher am besten nur den Parameternamen in die Klammer schreiben.
z.B.:
Sub CATMain()
Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument
Dim product1 As CATBaseDispatch Set product1 = partDocument1.GetItem("<Teilenummer>
Dim reference1 As Reference Set reference1 = product1.CreateReferenceFromName("<Parametername>")
Dim publications1 As Publications Set publications1 = product1.Publications
Dim publication1 As Publication Set publication1 = publications1.Add("test")
publications1.SetDirect "test", reference1
End Sub
Verknüpfung wird unter Name "test" erstellt und verweist auf <Parametername>