Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  JLink: Ermitteln aller Varianten in einem Modell

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
Autor Thema:  JLink: Ermitteln aller Varianten in einem Modell (864 / mal gelesen)
ThomasStep
Mitglied
Softwareentwickler


Sehen Sie sich das Profil von ThomasStep an!   Senden Sie eine Private Message an ThomasStep  Schreiben Sie einen Gästebucheintrag für ThomasStep

Beiträge: 10
Registriert: 13.03.2017

Pro/ENGINEER Widfire/Creo Parametric

erstellt am: 04. Sep. 2017 13:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


load_modell.png


load_generic_gui.png


load_generic_jlink.png

 
Hallo,

ich möchte mittels JLink zum Einen (1) ein Modell mit dem "Generischen Teil" oder mit einer bestimmten Variante laden. Zum anderen (2) möchte ich alle verschiedenen Varianten eines Modelles ermitteln.
Siehe hierzu Graphik load_modell.png.

(1) Laden eines Modelles mit dem "Generischen Teil" oder mit einer bestimmten Variante:
Hierzu habe ich folgendes JLink-Programm:

Code:

public class JlinkPrototype {

public static void main(String[] args) {

AsyncConnection connection;
Session currSession;
ModelDescriptor proeModelDescriptor = null;
Model proeModel = null;
String proe = "C:/Program Files/PTC/Creo 4.0/F000/Parametric/bin/parametric.exe";
// proe = proe + " -g:no_graphics -i:rpc_input";

try
{
System.loadLibrary("pfcasyncmt");

connection = pfcAsyncConnection.AsyncConnection_Start(proe, null);
currSession = connection.GetSession();

String modellName = "MY_MODEL";
String instance = "MY_INSTANCE_01";
instance = null;
    proeModelDescriptor = pfcModel.ModelDescriptor_Create(ModelType.MDL_PART, instance, modellName);
    
currSession.ChangeDirectory("C:/tmp/test_part_family_tables");
proeModel = currSession.RetrieveModel(proeModelDescriptor);

proeModel.Display();

// connection.End();    


} catch (Throwable x) {
x.printStackTrace();
}
    }
}



Wenn ich das Modell mit dem "Generischen Teil" lade, setze ich die Variable instance=null.
Wenn ich mit das Modell mit einer bestimmten Variante lade möchte, setze ich Variable instance z.B. instance="MY_INSTANCE_01".
Das funktioniert meiner Meinung nach richtig.

(2) Nun möchte ich aber mit JLink alle Varianten zu einem Modell ermitteln. Wenn ich das Modell händisch ins PRO/E-GUI lade und dabei das "Generischen Teil" lade, bekomme ich über das Menü Werkzeuge-->Familientabelle alle Varianten gelistet (siehe load_generic_gui.png).
Ich denke, dass ich zu diesem so geladenen Modell mit JLink-Funktionalität alle Varianten ermitteln kann.
Ich habe nun mein Modell mit dem obigen JLink-Programm geladen. Dabei habe ich die Variable instance=null gesetzt. Leider ist nun das Menü Werkzeuge-->Familientabelle deaktiviert (siehe load_generic_jlink.png), so dass ich auch nicht die Varianten gelistet bekomme.

Deshalb meine Frage: Wie kann ich zu einem Modell mittels JLink alle Varianten ermitteln?


Danke schon mal im Voraus für Eure Tipps, Thomas

[Diese Nachricht wurde von ThomasStep am 04. Sep. 2017 editiert.]

[Diese Nachricht wurde von ThomasStep am 04. Sep. 2017 editiert.]

[Diese Nachricht wurde von ThomasStep am 04. Sep. 2017 editiert.]

[Diese Nachricht wurde von ThomasStep am 04. Sep. 2017 editiert.]

[Diese Nachricht wurde von ThomasStep am 04. Sep. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ThomasStep
Mitglied
Softwareentwickler


Sehen Sie sich das Profil von ThomasStep an!   Senden Sie eine Private Message an ThomasStep  Schreiben Sie einen Gästebucheintrag für ThomasStep

Beiträge: 10
Registriert: 13.03.2017

Pro/ENGINEER Widfire/Creo Parametric

erstellt am: 05. Sep. 2017 14:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Auch wenn Werkzeuge-->Familientabelle deaktiviert ist, kann ich mit
Code:

proeModelDescriptor = pfcModel.ModelDescriptor_Create(ModelType.MDL_PART, null, modellName);
...
FamilyMember familyMember = (Solid) proeModel;
FamilyTableRows familyTableRows = familyMember.ListRows();
for (int ii = 0; ii < familyTableRows.getarraysize(); ii++) {
    FamilyTableRow familyTableRow = familyTableRows.get(ii);
    String instanceName = familyTableRow.GetInstanceName();
    System.out.println("instanceName = " + instanceName);
}
...


alle Varianten ermitteln.

[Diese Nachricht wurde von ThomasStep am 05. Sep. 2017 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz