Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  Parameter bearbeiten

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
  
BOM Assistant für Stücklistenerstellung , eine App
Autor Thema:  Parameter bearbeiten (1511 mal gelesen)
CodeR
Mitglied


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

Beiträge: 9
Registriert: 16.07.2008

Java 1.4.2
Pro Engineer WildFire 2.0
1GB DDR2
Intel Core Duo T2550 - 1.73Ghz
ATI Radeon X1600

erstellt am: 24. Jul. 2008 10:16    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

Hi  ,

im Zuge meiner Diplomarbeit kam ich in Kontakt mit Pro/E+J-Link, habe jedoch noch wenig Erfahrung damit. Die 1.Aufgabe besteht darin eine "Stückliste" aller vorhandenen Baugruppen und Parts zu erstellen, sowie deren Parameterkonfiguration(lesen und setzen) mit Hilfe einer Java-Applikation. Mein erstes Modul liest aus einem angegebenen Verzeichnis alle Assemblys und Parts aus und sichert den Namen der Datei(interne Namensvergabe) in eine LinkedList bzw. HashMap. Mit Hilfe der ausgelesenen Daten wird dann eine Async-Verbindung erstellt, Assembly/Part-Modelle gemacht um deren Pars auszulesen und in die Liste zu schreiben.

Funktioniert bis jz zwar alles suppi, jedoch gibt es zu lange/inakzeptable Zugriffszeiten bei entsprechend großen Projekten...

1. Welche Variante (LinkedList oder HashMap) ist bei Einträgen von bis zu 2500 Elementen eher zu empfehlen um Zugriffszeiten entsprechend "niedrig" zu halten???
2. Muss eine neue Session in der Applikation erzeugt werden um auf die Parameter zuzugreifen oder kann direkt auf eine Datei zugegriffen werden in dem sich die Pars befinden??


Danke für Eure Hilfe
MfG 

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

anagl
Ehrenmitglied V.I.P. h.c.
 


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

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: 24. Jul. 2008 11:24    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 Nur für CodeR 10 Unities + Antwort hilfreich

Ich vermute das ist ein Problem der ASYNC-Verbindung

Auszug aus der Doku

The use of RPC causes asynchronous mode to perform more slowly than synchronous mode. For this reason, apply asynchronous mode only when it is needed.

Vielleicht lässt sich die Logik auf Synchron ändern

Pro/E Start
Applikations-Start
In der Applikation lesen des Verzeichnes und dann erledigen der Aufgaben

OT deine Überschrift beschreibt dein Problem suboptimal (Beser z.B J-Link Performance )

------------------
Servus
Alois      Keine Mouseover-Werbung zwischen den Zeilen!!!!

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

CodeR
Mitglied


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

Beiträge: 9
Registriert: 16.07.2008

Java 1.4.2
Pro Engineer WildFire 2.0
1GB DDR2
Intel Core Duo T2550 - 1.73Ghz
ATI Radeon X1600

erstellt am: 25. Jul. 2008 07:59    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

Vielen Dank für deine schnelle Antwort 

Ich habe gestern noch meine Applikation auf Synchron geändert, jedoch keinen wesentlichen Unterschied zum Asynchronen Modus gesehen. Die synchrone Variante war nur um die Zeit schneller, welche die asynchrone zum Starten von Pro/E bzw. zur Verbindung zur Session braucht. Also bis jz. kein entscheidender Vorteil von Sync. 

Was ein Grund für die schlechte Performance sein könnte ist, dass die Modelle die bereits bearbeitet wurden nicht gelöscht werden und denn Speicher füllen...Wenn ich also model.Erase() ausführen will kommt folgende Exception:

com.ptc.pfc.Implementation.pfcExceptions$XToolkitInUsepfcException: com.ptc.pfc.Implementation.pfcExceptions$XToolkitInUse
at com.ptc.pfc.Implementation.pfcAssembly$Assembly.Erase(Native Method)
at ReadComponentParameter.unloadModel(ReadComponentParameter.java:224)
at ReadComponentParameter.<init>(ReadComponentParameter.java:40)
at StartAsyncConnection.main(StartAsyncConnection.java:18)

Ich weiss, dass das Löschen aus dem Speicher nicht ausgeführt wird weil dieses Model/Part noch eine Verbindung zu einem aktiven Assembly hat. Kann man also ein Model aus dem Speicher löschen, auch wenn das dazugehörige Assembly noch aktiv ist???

MfG 

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

Taurus1981
Mitglied
Technischer Zeichner, Systembetreuer


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

Beiträge: 127
Registriert: 09.04.2008

WinXp SP2
HP xw9400 Workstation
Dual-Core AMD-Opteron (64)
2,60 GHz, 3,50 GB Ram
NVIDIA FX1500 ProE Wildfire 2 M280
Startup tools Rand2002g,

erstellt am: 25. Jul. 2008 08:47    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 Nur für CodeR 10 Unities + Antwort hilfreich

Hallo also meines Wissens nach nicht.
über eine Vereinfachte Darstellung ist es möglich diverse Modele garnicht erst in den Speicher zu laden, aber ich verstehe nicht den Sinn der Aktion.
Was willst du damit erreichen?

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

Nobody333
Mitglied
Dipl. Ing. (FH) (Konstruktion)


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

Beiträge: 593
Registriert: 06.07.2007

HP Workstation Z400
Intel Xeon W3565 4x3,20GHz
12GB RAM
Nvidia Quadro FX1800
Windows 7 x64 Prof. SP1
Creo Parametric 2 (M100)
FoundationAdv bzw. Flex3C
Startup Tools 2013
MathCad Prime 3

erstellt am: 25. Jul. 2008 08:49    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 Nur für CodeR 10 Unities + Antwort hilfreich

Ich weis nicht, in wie weit sich das mittels JLink machen laesst, aber ein Modell, das in einer Baugruppe verbaut ist, kann man nur aus dem Speicher entfernen, wenn man es in der Baugruppe unterdrückt.

------------------
Gruß Marco

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

CodeR
Mitglied


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

Beiträge: 9
Registriert: 16.07.2008

Java 1.4.2
Pro Engineer WildFire 2.0
1GB DDR2
Intel Core Duo T2550 - 1.73Ghz
ATI Radeon X1600

erstellt am: 25. Jul. 2008 09:02    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

Einen wirklichen Sinn hat die Aktion ja nicht... Ich wollte damit nur testen, ob sich eine kleine Performancesteigerung meiner Applikation ergibt, wenn ich die Modelle sofort nach dem Bearbeiten lösche...

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

Taurus1981
Mitglied
Technischer Zeichner, Systembetreuer


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

Beiträge: 127
Registriert: 09.04.2008

WinXp SP2
HP xw9400 Workstation
Dual-Core AMD-Opteron (64)
2,60 GHz, 3,50 GB Ram
NVIDIA FX1500 ProE Wildfire 2 M280
Startup tools Rand2002g,

erstellt am: 25. Jul. 2008 09:15    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 Nur für CodeR 10 Unities + Antwort hilfreich

nach dem bearbeitem das Speicher nie vergessen, sag ich da nur     

Ich glaube das ist hier jedem schonmal passiert ja wo ist den jetzt das Model hin   

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

CodeR
Mitglied


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

Beiträge: 9
Registriert: 16.07.2008

Java 1.4.2
Pro Engineer WildFire 2.0
1GB DDR2
Intel Core Duo T2550 - 1.73Ghz
ATI Radeon X1600

erstellt am: 25. Jul. 2008 11:45    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

Nachdem ich das Model bearbeitet habe wird es auch gespeichert  das war ja nicht mein Prob. 

Hab jz aber den Grund für die schlechte Performance gefunden, sowie wie man ein bearbeitetes Model (nach dem Speichern  ) wieder aus dem Speicher löscht.

1. Schlechte Performance - Grund
Zunächst lese ich aus einem angegebenen Verzeichnis alle asm und prt Dateien aus und speichere deren Namen in eine Liste. Über diese Namen erstelle ich dann jeweils die Modelle. Nun wollte ich jeweils einzeln ein Model laden, Pars bearbeiten - speichern und wieder aus dem Speicher löschen. Was ich beim Laden aber nicht bedacht habe ist, dass bei asms gleichzeitig auch die prts in den Speicher geladen werden - was natürlich ein hoher Aufwand ist und die Performance stark bremst - und weils intelligent ist und der Speicher ja soooo groß ist, hatte ich die gleichen prts ein zweites mal geladen 

2. asm und dazugehörige prts aus Speicher löschen
Mit Hilfe von proeModel.EraseWithDependencies();

MfG 

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

anagl
Ehrenmitglied V.I.P. h.c.
 


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

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: 25. Jul. 2008 12:39    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 Nur für CodeR 10 Unities + Antwort hilfreich

wenn es Dir nur um die Parameter geht könntest Du bei den Baugrzuppen evtl auch mit der symbolischen vereinfachten Darstellung arbeiten
Methode RetrieveSymbolicSimpRep

------------------
Servus
Alois      Keine Mouseover-Werbung zwischen den Zeilen!!!!

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

CodeR
Mitglied


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

Beiträge: 9
Registriert: 16.07.2008

Java 1.4.2
Pro Engineer WildFire 2.0
1GB DDR2
Intel Core Duo T2550 - 1.73Ghz
ATI Radeon X1600

erstellt am: 29. Jul. 2008 10:27    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

@anagl
Vielen Dank für den Tip!! 

Die Methode RetrieveSymbolicSimpRep hab ich zwar nich verwendet/gefunden dafür aber folgende:

CreateNewSimpRepInstructions new_simprep = pfcSimpRep.CreateNewSimpRepInstructions_Create(sampleName);
new_simprep.SetDefaultAction(SimpRepActionType.SIMPREP_EXCLUDE);
proeModel = proeSession.RetrieveAssemSimpRep(sampleName, new_simprep);

Soviel ich jz. verstanden hab, wird zwar das asm gemacht aber alle anderen,dazugehörigen Komponenten ausgeschlossen (wegen --> SIMPREP_EXCLUDE)...

MfG 

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)2024 CAD.de | Impressum | Datenschutz