| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| | |
 | Effiziente Migration nach PTC Windchill: Software Factory stellt Migration Factory für komplexe Transformationsprojekte vor, eine Pressemitteilung
|
|
Autor
|
Thema: JLink: Bemaßung von KE ändern (500 mal gelesen)
|
s.kaiser Mitglied Associate Technologist

 Beiträge: 43 Registriert: 31.07.2007 ProE WF2 P4 3Ghz 1gb ram WinXp Java SDK1.4.2.12
|
erstellt am: 14. Aug. 2007 10:57 <-- editieren / zitieren --> Unities abgeben:         
Hallo Community, ich beschäftige mich grad mit folgendem Problem: Ich habe in der KE-Liste auf Position 8 ein Objekt Körper mit der ID 60. Jetzt enthält dieses Objekt unter dem Punkt "Bemaßungen der KE" für die Bemaßungs-ID "H" den Bemaßungswert "50" bzw für die Bemaßungs-ID "Di" den Bemaßungswert "305 General_Dims Dia". Nun ist meine Frage, wie kann ich auf die Werte der Bemaßungen zugreifen und diese ändern, um sie wiederum einzuspeichern. Eventueller Beispielcode wäre spitze! Beiße mir daran grad die Zähne aus.
Vielen Dank Gruß Basti ------------------ Geht nicht, gibt's nicht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.kaiser Mitglied Associate Technologist

 Beiträge: 43 Registriert: 31.07.2007 ProE WF2 P4 3Ghz 1gb ram WinXp Java SDK1.4.2.12
|
erstellt am: 14. Aug. 2007 12:59 <-- editieren / zitieren --> Unities abgeben:         
Also es will einfach nicht. Meine Vorgehensweise sieht immo so aus. model = rm.retrieveModelFromStandardDir(curSession, "950-wdl"); modelitem = model.GetItemById(ModelItemType.ITEM_FEATURE, 60); so und ab da dachte ich bisher, dass ich mir dann von diesem modelitem die parameter ziehen könnte. Allerdings habe ich bis jetzt nicht herausfinden können, wie man auf die Id's und Werte innerhalb der "Bemaßungen des KE" zugreifen kann. ------------------ Geht nicht, gibt's nicht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tvd Mitglied Konstrukteur
  
 Beiträge: 960 Registriert: 15.09.2005 Creo 4.0 ... was ein Schrott...
|
erstellt am: 14. Aug. 2007 13:11 <-- editieren / zitieren --> Unities abgeben:          Nur für s.kaiser
Zitat: Allerdings habe ich bis jetzt nicht herausfinden können, wie man auf die Id's und Werte innerhalb der "Bemaßungen des KE" zugreifen kann
Ich hab zwar nicht den kleinsten Schimmer was Du eigentlich vor hast, aber ich würde mal das Stichwort "Beziehung im Teil" in den Raum werfen. Vielleicht erklärst Du uns mal etwas ausführlicher, was Du machen willst. Das Ganze hört sich nämlich recht konfus an. Dann gibts vermutlich auch mehr Antworten... ------------------ Auch der richtige Weg kann in die falsche Richtung führen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.kaiser Mitglied Associate Technologist

 Beiträge: 43 Registriert: 31.07.2007 ProE WF2 P4 3Ghz 1gb ram WinXp Java SDK1.4.2.12
|
erstellt am: 14. Aug. 2007 13:37 <-- editieren / zitieren --> Unities abgeben:         
ahh, ok ich versuchs noch einmal mit der Hilfe eines Bildes  Also noch einmal von vorne. Wenn ich einen Part in ProE öffne, dann kann ich mir ja über das Kontextmenü (info -> Modell) dann kann ich mir ja die KE-Liste zu diesem Part anzeigen lassen. Nun such ich mir dort meinen Typ von Interesse heraus und zum Vorschein kommt eine nette liste, die ich jetzt einmal als Bild angehängt habe. Dort sind die Werte innerhalb des roten Rechtecks für mich von Bedeutung. Diese Werte geben den Innen- und Außendurchmesser sowie die Höhe meines Modells an, welche ich ändern möchte. Ziel des ganzen ist, dass mein Programm automatisch wertanpassungen vornimmt und diese als neue dateien speichert, da es von diesem Modell mehrere variationen gibt, die nur im Durchmesser und der Höhe variieren.
------------------ Geht nicht, gibt's nicht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JLinker Mitglied CAD Administrator / Konstrukteur

 Beiträge: 36 Registriert: 10.03.2007 ProE Wildfire 2.0 M270 /3.0 M090 Intralink 3.4 M040 PDMLink 9.0 F000<P>HP xw4400 NVIDIA QuadroFX 1500 NVIDIA Treiber 84.80 WinXP SP2
|
erstellt am: 14. Aug. 2007 13:56 <-- editieren / zitieren --> Unities abgeben:          Nur für s.kaiser
Hallo, ich denke dieser Auszug aus meiner Bibliothek könnte dir weiterhelfen. Code:
public void changeDim(String name, double value) { try {// Liste aller Maße im Model ModelItems allMdlDims = model.ListItems(ModelItemType.ITEM_DIMENSION); if (allMdlDims != null) { for (int f = 0; f < allMdlDims.getarraysize (); ++f) { ModelItem curMdlDim = allMdlDims.get(f); String curMdlDimName = curMdlDim.GetName(); if (curMdlDimName.matches(name)) { BaseDimension curMdlBaseDim = (BaseDimension)curMdlDim; curMdlBaseDim.SetDimValue(value); } } } else { System.out.println("no dimensions found"); } } catch (Exception err) { System.out.println(err); } }
Diese Methode arbeitet mit dem Namen der Bemaßund, der ja einmalig ist. Die verendung der KE-Id ist nicht notwendig, bzw. nicht sinnvoll, da diese ID vom System festgelegt wird. PS: Warum verwendest du eigentlich keine Familientabellen für dein Problem Gruß, Günther Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.kaiser Mitglied Associate Technologist

 Beiträge: 43 Registriert: 31.07.2007 ProE WF2 P4 3Ghz 1gb ram WinXp Java SDK1.4.2.12
|
erstellt am: 14. Aug. 2007 14:10 <-- editieren / zitieren --> Unities abgeben:         
echt klasse von dir, dass du mir einen auszug aus deiner library zur verfügung stellst! Mit Familientabellen kenne ich mich nicht aus, habe mich damit noch nicht beschäftigt. Kann ich diese über JLink ansteuern? ------------------ Geht nicht, gibt's nicht! [Diese Nachricht wurde von s.kaiser am 14. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 14. Aug. 2007 14:39 <-- editieren / zitieren --> Unities abgeben:          Nur für s.kaiser
|
JLinker Mitglied CAD Administrator / Konstrukteur

 Beiträge: 36 Registriert: 10.03.2007 ProE Wildfire 2.0 M270 /3.0 M090 Intralink 3.4 M040 PDMLink 9.0 F000<P>HP xw4400 NVIDIA QuadroFX 1500 NVIDIA Treiber 84.80 WinXP SP2
|
erstellt am: 14. Aug. 2007 15:00 <-- editieren / zitieren --> Unities abgeben:          Nur für s.kaiser
Hat dieser Beitrag rein zufällig was mit deiner Excel/JLink Frage zu tun? Wenn ja empfehle ich dir die Editoption von Familientabellen mit Excel. Ansonsten kann man Familientabellen mit JLink bearbeiten. Bevor du aber jetzt eine Applikation machst, solltest du dich ein bisschen mit Familientabellen beschäftigen und dir die Vorteile gegenüber einzeln abgespeicherte Daten anschauen. Um wie viele Datensätze gehts eigentlich? Gruß, Günther Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.kaiser Mitglied Associate Technologist

 Beiträge: 43 Registriert: 31.07.2007 ProE WF2 P4 3Ghz 1gb ram WinXp Java SDK1.4.2.12
|
erstellt am: 14. Aug. 2007 16:27 <-- editieren / zitieren --> Unities abgeben:         
Also erst noch einmal vielen Dank, dein Code hat mir wirklich super weitergeholfen! Insgesamt geht es um ca 12 Datensätze, wobei einige halt in den Parts eingesetzt werden und andere in der dazugehörigen Zeichnung bestehende Datensätze ändern sollen? Familientabellen sind mir gänzlich unbekannt... Nachtrag: Ja hat es, allerdings soll ich mit den Werten aus den Exceltabellen doch keine komplett neuen Modelle erzeugen sondern nur ein bestehendes entsprechend ändern und unter einem neuen Namen speichern. Dazu halt dann noch die jeweilige Zeichnung entsprechend angepasst. ------------------ Geht nicht, gibt's nicht!
[Diese Nachricht wurde von s.kaiser am 14. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JLinker Mitglied CAD Administrator / Konstrukteur

 Beiträge: 36 Registriert: 10.03.2007 ProE Wildfire 2.0 M270 /3.0 M090 Intralink 3.4 M040 PDMLink 9.0 F000<P>HP xw4400 NVIDIA QuadroFX 1500 NVIDIA Treiber 84.80 WinXP SP2
|
erstellt am: 16. Aug. 2007 07:51 <-- editieren / zitieren --> Unities abgeben:          Nur für s.kaiser
Hallo, der Aufwand für 12 Datensätze kommt mir (ohne die genauen Details zu kennen) etwas übertrieben vor, außer das Projekt geht in die Richtung, dass ein nicht CAD-User über eine GUI oder Excel Daten eingibt und fertige Zeichnungen rauskommen (z.B für Angebote) ohne jemals ProE gesehen zu haben. Gruß, Günther
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.kaiser Mitglied Associate Technologist

 Beiträge: 43 Registriert: 31.07.2007 ProE WF2 P4 3Ghz 1gb ram WinXp Java SDK1.4.2.12
|
erstellt am: 16. Aug. 2007 10:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo Günther, ja es geht genau um so eine Vereinfachung. Bin da dank der tollen UNterstützung hier im Forum auch schon richtig weit, kämpfe mich jetzt aber grade durch die Funktionen bzgl Drawings durch. Mal sehn wie weit ich damit komme. ------------------ Geht nicht, gibt's nicht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |