| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| | |
 | BOM Assistant für Stücklistenerstellung , eine App
|
|
Autor
|
Thema: Assembly per J-Link? (1960 mal gelesen)
|
Pilou Mitglied

 Beiträge: 12 Registriert: 05.06.2008 Wildfire ProE 3.0
|
erstellt am: 21. Jan. 2009 14:40 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich kenne mich nicht gut aus mit der Automatisierung von ProE. Es wäre super wenn mir Jemand bei folgendem problem helfen könnte. Es gibt eine Menge von Bauteilen der Art A und eine andere Menge der Art B. (z.B 5 verschiedene Würfel und 3 Zylinder). Innerhalb einer Programmschleife zum Kombinieren jedes Würfels mit jedem Zylinder soll nun ProE für jede Kombination per J-Link geöffnet werden und eine Assembly der beiden Bauteile erstellt werden. Auf diese Art sollen in diesem Beispiel voll automatisch 15 Assemblys entstehen und zur späteren Verwendung abgespeichert werden. Was ich schon probiert habe, leider aber nicht funktioniert hat ist folgendes: Ich habe eine Assembly erstellt (mit einem Paar) und bei jedem Durchlauf der Schleife hat das Programm dann die Bauteile in dem Verzeichnis mit der Assembly durch ein anderes Paar ersetzt. Das hat wie gesagt leider nicht geklappt, da trotz gleicher Bezeichnung aller zueinander in Referenz stehender Flächen bzw Punkte, die Assembly die Referenzen nicht erkennen konnte. Falls einer von Euch eine Idee hat wie ich am Ende zu meinen 15 Assembly komme, dann immer her damit. Danke schon mal für eure Mühe. 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: 22. Jan. 2009 18:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Pilou
Ich habe mir das schon zweimal durchgelesen und checke immer noch nicht was dein Problem ist. Ich versuche das mal mit Gegeenfragen einzukreisen: Hast Du ein Problem J-Link? Wenn ja -> Hast Du das Beispiel in der J-Link Doku verstanden? Für 15 Assemblies macht es in meinen Augen keinen Sinn sich mit J-Link auseinaderzusetzen evtl Mapkey Familientabellen hast Du ausgeschlossen? Die Begriffe Komponenten-Schnittstelle, Baugruppen-UDF und Baugruppen-Skellett sagen Dir was? Bei WF 4 wird die Möglichkeit des automatischen Zusammenbaues mit Komponenten-Schnittstellen erheblich verbessert------------------ Servus Alois Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pilou Mitglied

 Beiträge: 12 Registriert: 05.06.2008 Wildfire ProE 3.0
|
erstellt am: 25. Jan. 2009 00:31 <-- editieren / zitieren --> Unities abgeben:         
Hi Alois, also ich will das schon mit J-Link machen. Mit Mapkey hab ich probiert, aber nicht hinbekommen. Ein Beispiel hab ich nicht gefunden. Hab im Index im Unterordner ...\jlink\jlinkdoc gesucht. Das meinst Du wohl nicht mit J-Link Doku? Die Begriffe UDF... und das andere sagt mir leider auch nichts. Gruß Chris PS: Vielen Dank für Deine Antwort. Freue mich über jede Hilfe! 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: 26. Jan. 2009 10:46 <-- editieren / zitieren --> Unities abgeben:          Nur für Pilou
|
Pilou Mitglied

 Beiträge: 12 Registriert: 05.06.2008 Wildfire ProE 3.0
|
erstellt am: 26. Jan. 2009 22:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alois, leider führen mich diese Links wieder dahin wo ich schon war (das war was ich mit dem Index meinte). Ich kann dort leider nichts finden was mir weiter hilft. So wie ich das verstehe sind die Beispiele auf Methoden mit UI (ich nehme an user input) bezogen. Ich finde aber keine Beispiele zum automatischen zusammenbau einer Assembly. Verstehe ich das falsch? Gruß Chris 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: 27. Jan. 2009 09:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Pilou
Ich meinte mit dem Beispiel folgendes The following example demonstrates how to assemble a component into an assembly, and how to constrain the component by aligning datum planes. If the complete set of datum planes is not found, the function will show the component constraint dialog to the user to allow them to adjust the placement. import com.ptc.cipjava.*; import com.ptc.pfc.pfcGlobal.pfcGlobal; import com.ptc.pfc.pfcSession.Session; import com.ptc.pfc.pfcModel.*; import com.ptc.pfc.pfcSolid.Solid; import com.ptc.pfc.pfcFeature.*; import com.ptc.pfc.pfcComponentFeat.*; import com.ptc.pfc.pfcFamily.FamilyTableRow; import com.ptc.pfc.pfcBase.*; import com.ptc.pfc.pfcSelect.*; import com.ptc.pfc.pfcModelItem.*; import com.ptc.pfc.pfcAssembly.*; public class pfcComponentFeatExamples { /*=====================================================================*\ FUNCTION: UserAssembleByDatums PURPOSE: Assemble a component by aligning named datums. \*=====================================================================*/ Zweite Anmerkung: Was verstehst Du unter automatisch?? ------------------ Servus Alois Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pilou Mitglied

 Beiträge: 12 Registriert: 05.06.2008 Wildfire ProE 3.0
|
erstellt am: 27. Jan. 2009 17:56 <-- editieren / zitieren --> Unities abgeben:         
Da ist halt wieder das Problem, dass ein User Input erforderlich ist. Was ich gerne machen möchte soll ohne User Input funktionieren. Ich will, um bei dem einfachen Beispiel mit den Würfeln und Zylindern zu bleiben, eine Assembly aufbauen, die gewisse bauliche Rahmenbedingungen vorgibt. (Als einfaches Beispiel 3 Wände) Dann will ich in die Assebmly je einen Würfel und einen Zylinder laden und zum Beispiel den Würfel relativ zu den Wänden positonieren. Der Zylinder soll dann relativ zum Würfel positioniert werden. Ich dachte, dass ich das irgendwie machen könnte, indem ich die Kontaktbedingungen (Kontaktflächen, Koaxialachsen, Parallelitätsflächen) der Bauteile bei jedem Würfel und bei jedem Zylinder entsprechend gleich benenne, so dass ich bei Austausch z.B. des "Würfels_A" (dessen Kontaktbedingungen z.B. bei TOP sind) gegen den "Würfel_B" (mit Kontaktbedingungen bei z.B. FRONT) einen anderen Aufbau der Assembly erreichen könnte, ohne dass der User irgendwas neu definieren muss. Unter "Assembling a Component Parametrically" (etwas weiter oben in der Doku) dachte ich evtl. etwas zu dem Thema gefunden zu haben, verstehe aber nicht wie ich Ausdrücke wie "- ASM_CONSTRAINT_MATE--Use this option to make two surfaces touch one another, that is coincident and facing each other." in einen Quelltext einbauen soll. Zusammenfassend: Ich habe ein PERL-Skript, das innerhalb einer Schleife z.B. den "Würfel_A" aus dem Unterordner "Würfel" in das Verzeichnis mit der Assembly kopiert und in "Würfel" (ohne _A) umbenennt. Analog mit "Zylinder_XY". Jetzt will ich per JLink die Assembly öffnen und in jedem Durchlauf der Schleife "Würfel" und "Zylinder" in die Assembly laden (jedesmal ein anderes aus den Unterordnern kopiertes und umbenanntes Bauteil mit Kontaktbedingungen an anderen Stellen). Ich hoffe, dass ich es geschafft habe mich etwas verständlicher auszudrücken... 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: 28. Jan. 2009 16:46 <-- editieren / zitieren --> Unities abgeben:          Nur für Pilou
Das angegebene Beispiel deckt IMHO exakt dein Problem ab. Ich habe aber keine Erfahrung damit.!!!! Vielleicht spielt Du das ganze mit Weblink durch, da tut mich sich in meine Augen leichter so etwas auszuprobieren ------------------ Servus Alois [Diese Nachricht wurde von anagl am 28. Jan. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cornelsen Mitglied CAD Admin Konstrukteur
 
 Beiträge: 366 Registriert: 14.02.2002 Centrino Duo 2,7 GHz WFIII-M180 SW 2007 Nvidia 1500 WINXP Pro
|
erstellt am: 28. Jan. 2009 17:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Pilou
ich misch mich auch mal ein: also 1 - wenn Du nur die Namen der Referenzen gleich hast (z.B. VORNE als Ebenennamen) wird das ersetzen per Automatik nicht gehen! wichtig ist das ALLE Referenzen die gleichen IDs haben! --> alle müssen von einem Ursprungsteil abstammen in dem die Referenzen angelegt worden sind. 2 - wenn Du über Script tauschen willst und die Teile alle anders sind, dann heisst das A - altes Bauteil ausbauen (Referenzen auslesen und sichern) B - neues Bauteil einbauen (Referenzen aus alten Einbau verwenden) (das entspricht dem händischen einbau, aber Du kennst ja alle Referenzen aller Teile, dann bekommst Du das auch gescriptet! 3 - Grundsätzlich bin ich der Meinung das man für eine Automatisierung alle nötigen Features in Pro/E kennen muss! UDF, Schnittstelle, Iinherit, Programm, CIDs.... ------------------ CU Corni niemals wieder Handarbeit [Diese Nachricht wurde von Cornelsen am 28. Jan. 2009 editiert.] [Diese Nachricht wurde von Cornelsen am 28. Jan. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pilou Mitglied

 Beiträge: 12 Registriert: 05.06.2008 Wildfire ProE 3.0
|
erstellt am: 31. Jan. 2009 13:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo Corni, verstehe ich das richtig, dass ich nur dann die Teile austauschen kann, wenn ich ein Teil zum Beispiel abgeändert abspeichere und es dadurch ersetze? (Zit: "alle müssen von einem Ursprungsteil abstammen in dem die Referenzen angelegt worden sind.") Oder kann das auch ein anderes Bauteil sein? So würde ich zumindest den 2. Punkt verstehen... Und zu Punkt 3: ich bin ein blutiger Anfänger und außer Programm verstehe ich nicht viel von dem was Du da geschrieben hast. Gruß Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pilou Mitglied

 Beiträge: 12 Registriert: 05.06.2008 Wildfire ProE 3.0
|
erstellt am: 04. Feb. 2009 16:19 <-- editieren / zitieren --> Unities abgeben:         
Hi Alois, ich probiere das gerade mit dem Beispiel, das Du oben erwähnt hast. Beim Versuch das zu kompilieren kommt aber immer die Fehlermeldung "package com.ptc.pfc.pfcGlobal does not exist". Weisst Du woran das liegen könnte? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |