Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  Jlink: Komponenten-Mengen ermitteln und updaten

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
  
Extended Maintenance & Support I Abkündigung der Abas ERP Version ERP 20, eine Pressemitteilung
Autor Thema:  Jlink: Komponenten-Mengen ermitteln und updaten (263 mal gelesen)
magic_halli
Mitglied



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

Beiträge: 361
Registriert: 03.07.2006

WF2 M210 / WF3 M110
Linux Fedora C4
WinXP Pro
Java 1.6.0_06

erstellt am: 25. Sep. 2006 09: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

Hallo,

vielleicht hat das ja schonmal jemand gemacht...
Ich gehe die Struktur einer Baugruppe durch und ermittle mir alle darin enthaltenen Komponenten - das geht schonmal.
Jetzt will ich aber die Gesamtmenge jeder Komponente in einer Baugruppe ermitteln - also wie oft ist ein Teil in der Baugruppe verbaut!

Ich zerbreche mir schon ewig den Kopf, wie das wohl am einfachsten zu lösen ist. Leider komme ich auf keinen gescheiten Lösungsansatz.

Hat jemand ne Idee?

Vielen Dank, Rico.

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

GüntherP
Mitglied
CAD Administrator / Konstrukteur


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

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. Sep. 2006 14:41    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 magic_halli 10 Unities + Antwort hilfreich

Hallo,

so etwas hab ich schon einmal gemacht. Ich habe das ganze in einer Hashtable gespeichert. Als Key verwende ich den Modellnamen und als Wert ein Integer Objekt.

Code:

if (hashtable.get(key) != null) {
Integer integer = (Integer)hashtable.get(key);
hashtable.put(model.GetFullName(), new Integer(integer.intValue() + 1);
} else {
hashtable.put(model.GetFullName(), new Integer(1));
}



Gruß,
Günther

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

magic_halli
Mitglied



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

Beiträge: 361
Registriert: 03.07.2006

WF2 M210 / WF3 M110
Linux Fedora C4
WinXP Pro
Java 1.6.0_06

erstellt am: 25. Sep. 2006 15:29    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

Jawohl, supi... bin heute dann auch schon auf HashTable bzw. HashMap gestoßen.
Hab das eigentlich analog zu Deinem umgesetzt. Habs noch nicht testen können, weil ich die Menge danach erst noch neu setzen muss - und da liegt das Problem!
Code:

HashMap map = new HashMap();
String name = descrModel.GetFullName().toString();

//containsKey gibt mittels Boolean - Werten die Existenz eines Schluessels an
boolean vorhanden = map.containsKey(name);

//Eintrag noch nicht vorhanden
if(vorhanden == false){
//Daten zu HashMap hinzufügen (Key, Value)
    map.put(name, new Integer(1));
}
//Eintrag vorhanden: quantity für diesen Key auslesen, erhöhen und neu abspeichern
else{
    Integer quantity = (Integer) map.get(name);
    map.put(name, new Integer(quantity.intValue()+1));
}



Mein Problem ist jetzt nur, wie kann ich die Mengenwerte in ProE neu setzen?
In ProE ist der Parameter Menge ein Double-Wert (reelle Zahl).

Code:

//hier erstmal die HashMap durchgehen und anhand des Namens mein Model festlegen - mittels ModelDescriptor?
...
for(i=0;i<HashMap-Länge;i++){
    Parameter menge = model.GetParam("MENGE");
    ParamValue menge_value = pfcModelItem.CreateDoubleParamValue(menge);
    menge.SetValue(menge_value);
}

Wie kann ich die Menge neu setzen?

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

magic_halli
Mitglied



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

Beiträge: 361
Registriert: 03.07.2006

WF2 M210 / WF3 M110
Linux Fedora C4
WinXP Pro
Java 1.6.0_06

erstellt am: 26. Sep. 2006 07: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

Hi,

ich zweifle echt an mir... ich bekomme es einfach nicht hin, einen einfachen Parameter vom Typ Double(reelle Zahl) neu zu setzen!!!
Der neue Wert steht in einer Variable wert_neu, welche ein Integer ist und lediglich als Double gecastet werden muss:

Code:

Integer wert_neu = <mein ermittelter Wert>;
...
Parameter m = model.GetParam("MENGE");
ParamValue m_value = pfcModelItem.CreateDoubleParamValue(new Double(wert_neu));
m.SetValue(m_value);

Wie soll das sonst funktionieren?


Danke, Rico.


EDIT: Ich habs nach ewigen rumprobieren endlich hinbekommen, dass ich einen Double-Parameter überschreiben kann. Einfache Lösung aber viele Haare dabei verloren 

Code:

Integer wert_neu = <mein ermittelter Wert>;
...
Parameter m = model.GetParam("MENGE");
ParamValue m_value = pfcModelItem.CreateDoubleParamValue(wert_neu.doubleValue());
m.SetValue(m_value);

[Diese Nachricht wurde von magic_halli am 26. Sep. 2006 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)2024 CAD.de | Impressum | Datenschutz