Autor
|
Thema: Parameter Publizieren (1615 mal gelesen)
|
JesG Mitglied Software Entwickler
Beiträge: 5 Registriert: 17.06.2007
|
erstellt am: 04. Sep. 2008 14:05 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe folgendes Problem. Ich möchte gerne einen Benutzer Parameter publizieren ( Typ ist real), die Publikation wird auch erzeugt, aber die Methode SetDirect erwartet als zweiten Parameter eine Reference und ich weiß nicht wie ich eine Reference von einem Parameter erzeugen kann. Bin für jeden Tip Dankbar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 04. Sep. 2008 15:41 <-- editieren / zitieren --> Unities abgeben: Nur für JesG
am einfachsten, ne Selection, dann selektieren und dann Selection.Item2(1).Reference Oder mit Part.CreateReferenceFromObject() oder ähnlichem ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JesG Mitglied Software Entwickler
Beiträge: 5 Registriert: 17.06.2007
|
erstellt am: 05. Sep. 2008 06:11 <-- editieren / zitieren --> Unities abgeben:
Hallo HoBLila, Danke für die Antwort. Habe mal deine vorgehensweise probiert, leider mit wenig erfolg. Habe mir also von dem Part die Selection geholt danach oSelection.Clear dann oSelection.Add( oParameter ) [oParameter ist vom Typ Parameter ] habe dann versucht mir die Reference zu holen Dim oRef As Reference set oRef = oSelection.Item2(1).Reference an der oben beschriebenen stelle bekomme ich eine Fehlermeldung das das Verfahren refrence fehlgeschlagen ist. Hast du noch eine Idee oder mache ich etwas falsch ? Gruss und Danke JesG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 05. Sep. 2008 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für JesG
Hallo JesG, dein Ansatz ist grundsätzlich falsch: Die Referenzen für Publikationen können (genauso wie z.B. auch die für Constraints) nur über .CreateReferenceFromName erzeugt werden. '--- die Selektion, der Parameter ist selektiert Set oSelection = Catia.ActiveDocument.Selection Set oSelEl = oSelection.Item(1).Value Set oProd = Catia.ActiveDocument.Product Set oRef = oProd.CreateReferenceFromName(oSelEl.Name) Set oPublications = oProd.Publications Set oPub = oPublications.Add("TEST") oPublications.SetDirect "TEST", oRef oProd.Update ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JesG Mitglied Software Entwickler
Beiträge: 5 Registriert: 17.06.2007
|
erstellt am: 05. Sep. 2008 11:13 <-- editieren / zitieren --> Unities abgeben:
Hallo TomTom, Danke für die Antwort. Mein Problem ist, das es sich nicht um einen Parameter im Baum handelt, den der User Selektieren kann. Es handelt sich um eine Benutzereigenschaft, die in den Eigenschaften des Parts definiert worden ist. Habe aber mal versucht deinen Code zu verwenden mit ein paar Anpassungen. Private Function PublishParameter(ByRef oPart As PartDocument, ByRef ParameterName As String, oParameterToPublish As Parameter) As Boolean Dim oPublications As Publications Set oPublications = oPart.Product.Publications Dim Refname As String Refname = "Part1\Eigenschaften\Real.1" Dim oReference As Reference Dim oSelection As Selection Set oSelection = oPart.Selection oSelection.Add oParameterToPublish Set oSelEl = oSelection.Item(1).Value Set oProd = CATIA.ActiveDocument.Product Set oRef = oProd.CreateReferenceFromName(oSelEl.Name) Dim oPublication As Publication Set oPublication = oPublications.Add(ParameterName) oPublications.SetDirect "Real.1", oRef PublishParameter = True End Function Gruss
JesG
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 05. Sep. 2008 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für JesG
Grundsätzlich ist es der Seletion ja egal, woher das selektierte Element kommt, also ob der User interaktiv etwas auswählt oder ob du per Script (.Add) selektierst. Dein Code müsste so laufen, oder? Gruß ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JesG Mitglied Software Entwickler
Beiträge: 5 Registriert: 17.06.2007
|
erstellt am: 05. Sep. 2008 11:55 <-- editieren / zitieren --> Unities abgeben:
|