| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| | |
 | Neuer Geschäftsführer bei Software Factory GmbH, eine Pressemitteilung
|
|
Autor
|
Thema: Jlink: Parameterwert verändern und regenerieren (280 mal gelesen)
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 24. Aug. 2006 16:03 <-- editieren / zitieren --> Unities abgeben:         
Hi, ich will von einem geöffneten prt einen boolschen Parameter abfragen und ggf. dessen Wert verändern. Danach soll das Teil regeneriert werden. Bin erstmal ganz naiv rangegangen, um den Wert zu ändern:
Code:
Parameter brenn = model.GetParam("BRENNTEIL"); ParamValue brenn_value = brenn.GetValue(); if(brenn_value.GetBoolValue() == false){ //Brennteil ist auf NO gesetzt brenn_value.SetBoolValue(true); }
1.Den Value abfragen geht aber auch nur, wenn der Parameter auf Ausweisen gesetzt ist, oder? 2.Kann ich den Value verändern, so wie ich das gemacht habe? 3.Wie funktioniert das mit der anschließenden Regenerierung der prt (mir fehlen hierzu leider die Befehle )? Vielen Dank.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GüntherP Mitglied CAD Administrator / Konstrukteur

 Beiträge: 82 Registriert: 18.02.2005 HP xw4100 NVIDIA Quadro 980XGL<P>Wildfire 2.0 / 3.0 Intralink 3.4 F000 PDMLink 8.0 M030
|
erstellt am: 24. Aug. 2006 17:04 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, zu 1. Ausweisen wird nur verwendet, wenn du Intralink benutzt. Damit werden die Parameterwerte in einer Spalte im Intralink angezeigt. Es hat also keinen Einfluß ob du den Parameter mit JLink bearbeiten kannst.
zu 2. So hab ich es noch nicht versucht, aber sollte funktionieren. zu 3. Regenerieren kannst du so .... Code:
RegenInstructions inst = pfcSolid.RegenInstructions_Create(new Boolean(true), new Boolean(true), null); Solid solid = (Solid)curModel; solid.Regenerate(inst);
Also zuerst die Anweisungen zum Regenerieren festlegen (Details siehe API). Dann das Modell das man regenerieren möchte auf ein Solid casten und das ganze regenerieren. Gruß, Günther Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 25. Aug. 2006 07:35 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen, zu 1. OK. zu 2. Wie kann man sonst noch einen Value ändern? zu 3. Regenerieren klappt! Wenn ich den Value ändere, so wie ich das mache, und danach auf Tools/Ausweisen gehe, hat der Parameter trotzdem noch den Wert wie vorher (sitzt bei mir immernoch auf NO, statt YES).
Gruß Rico. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GüntherP Mitglied CAD Administrator / Konstrukteur

 Beiträge: 82 Registriert: 18.02.2005 HP xw4100 NVIDIA Quadro 980XGL<P>Wildfire 2.0 / 3.0 Intralink 3.4 F000 PDMLink 8.0 M030
|
erstellt am: 25. Aug. 2006 07:44 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, ich erzeuge ein neues ParamValue Objekt. Hier ist eine Methode die funktionieren sollte. Code:
public void setBooleanParam (String name, boolean value) { try { Parameter p = model.GetParam(name); ParamValue pv = pfcModelItem.CreateBooleanParamValue(value); if (p == null) { p = model.CreateParam(name, pv); p.SetValue(pv); } else { try { p.SetValue(pv); } catch (Exception err) { } } } catch (Exception err) { } }
Gruß, Günther
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 25. Aug. 2006 08:06 <-- editieren / zitieren --> Unities abgeben:         
|