| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Wert runden mit floor, ceil und itos (8575 mal gelesen)
|
Dekkmate Mitglied Konstrukteur
Beiträge: 209 Registriert: 17.04.2009
|
erstellt am: 27. Jan. 2014 08:19 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe folgendes Problem: Ich lese mir den pro_mp_mass Parameter aus und will den in einen selbst erzeugten Parameter Masse (als Zeichenkette definiert) eintragen. Masse = itos(ceil(pro_mp_mass,2)) + " kg" das Problem ist nun, das ich immer nur auf ganze Zahl gerundete Werte bekomme. Wenn ich ohne itos arbeite, bekomme ich auch die Werte mit Nachkommastellen, aber halt zuviele (z.B. 2,810000). Wo ist mein Denkfehler (denken war mein erster Fehler !!! ;-) ) Vielen Dank für eure Bemühungen im voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Smoochy Mitglied immer der Schuldige
Beiträge: 174 Registriert: 08.07.2011 WF4 M190 WF5 M130
|
erstellt am: 27. Jan. 2014 08:27 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
|
DonChunior Mitglied CAD-Systemadministrator
Beiträge: 1148 Registriert: 09.09.2004 Creo Parametric 4.0 M120 Windchill 11.1 M020-CPS11 Windows 10 Enterprise x64
|
erstellt am: 27. Jan. 2014 08:36 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
|
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 27. Jan. 2014 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von Dekkmate: ... Ich lese mir den pro_mp_mass Parameter aus und will den in einen selbst erzeugten Parameter Masse (als Zeichenkette definiert) eintragen. ...
Ich nehme mal an, Du machst diese Klimmzüge, um im Schriftfeld der Zeichnung einen schön gerundeten Wert inkl. Einheit zu haben. Allerdings ist das unnötig. Du kannst im Schriftfeld einfach mit angeben, wie viele Kommastellen Du gern angezeigt haben möchtest. Die Zuweisung masse=pro_mp_mass kannst Du ja lassen. Und im Zeichnungsformat gibst Du dann in der Schriftfeldtabelle folgendes ein: Code: &masse[.2] kg
------------------ Gruß Udo Keine Panik, Du arbeitest mit Pro/E! Und Du hast cad.de gefunden! Neu hier? Verwundert über die Antworten? Dann schnell nachfolgende Links durchlesen. • Richtig Fragen • Nettiquette • Suchfunktion • System-Info • Pro/E-Konfig • 7er-Regel • Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dekkmate Mitglied Konstrukteur
Beiträge: 209 Registriert: 17.04.2009
|
erstellt am: 27. Jan. 2014 09:51 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für eure Antworten, werde das mal ausprobieren. Leider kann ich in den Zeichnungen nicht rumpfuschen, da sonst der Admin hier ausflippt ;-) Und man hätte halt gerne immer ein angehängtes +" kg" dahinter. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 27. Jan. 2014 09:59 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von Dekkmate: ... Leider kann ich in den Zeichnungen nicht rumpfuschen, da sonst der Admin hier ausflippt ;-) Und man hätte halt gerne immer ein angehängtes +" kg" dahinter.
Wenn solche Wünsche (Angabe mit Einheit) besteht, dann sollte mit dem Admin geredet werden und nicht gegen den Admin gehandelt werden. Wenn die Zeichnungsrahmen nicht angepasst werden, wie wollt Ihr dann einheitlich die Einheit anfügen? Soll die Beziehung dann von jedem Konstrukteur per Hand eingefügt werden? Solche grundlegenden Beziehungen gehören doch auch in die Startmodelle und die werden doch auch vom Admin gehütet. ------------------ Gruß Udo Keine Panik, Du arbeitest mit Pro/E! Und Du hast cad.de gefunden! Neu hier? Verwundert über die Antworten? Dann schnell nachfolgende Links durchlesen. • Richtig Fragen • Nettiquette • Suchfunktion • System-Info • Pro/E-Konfig • 7er-Regel • Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dekkmate Mitglied Konstrukteur
Beiträge: 209 Registriert: 17.04.2009
|
erstellt am: 27. Jan. 2014 10:07 <-- editieren / zitieren --> Unities abgeben:
Das Problem iss hier, das solche Sachen wie LxBxH und das Gewicht, sowie andere Parameter für jedes Part und jede Baugruppe per Hand in die Parameterliste eingetragen wird. Da ich neu bin hier in der Firma, habe ich das einmal eingeworfen mit dem automatischen Befüllen der Parameter über Beziehungen. Da waren dann die Konstrukteure allesamt begeistert (3 Stück an der Zahl) und der Konstruktionsleiter war auch nicht abgeneigt, jedoch der Büroadmin hier hatte ein paar Fadenscheinige Ausreden, warum die das hier nicht so machen oder machen wollen. Jedoch haben sie mir nicht verboten, meine Sachen für mich selbst umzusetzen. Und da ich mir die Arbeit halt versuche, so einfach wie möglich zu machen (und vor allem Fehlerreduziert) so mache ich es halt. Aber die Leute hier sehen langsam die Vorteile und ich denke mal, das sie sich bald auch darauf einlassen werden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 27. Jan. 2014 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von Dekkmate: ... der Konstruktionsleiter war auch nicht abgeneigt, jedoch der Büroadmin hier hatte ein paar Fadenscheinige Ausreden, warum die das hier nicht so machen oder machen wollen. Jedoch haben sie mir nicht verboten, meine Sachen für mich selbst umzusetzen. ...
Ihr habt aber eine ziemlich komische Befehlskette. Der Admin steht über dem Konstruktionsleiter? Und dann noch die Aussage, dass Du es doch für Dich machen kannst, wie Du es willst. Da möchte ich eigentlich nichts weiter drüber hören oder lesen, weil es mir dann wahrscheinlich den Magen umdreht ... ------------------ Gruß Udo Keine Panik, Du arbeitest mit Pro/E! Und Du hast cad.de gefunden! Neu hier? Verwundert über die Antworten? Dann schnell nachfolgende Links durchlesen. • Richtig Fragen • Nettiquette • Suchfunktion • System-Info • Pro/E-Konfig • 7er-Regel • Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dekkmate Mitglied Konstrukteur
Beiträge: 209 Registriert: 17.04.2009
|
erstellt am: 27. Jan. 2014 10:26 <-- editieren / zitieren --> Unities abgeben:
Der Admin hat halt Angst, das man sich damit irgendwelche alten Sachen mit den Beziehungen zerschiesst. Aber nein, der Admin steht nicht über dem Konstruktionsleiter, er gibt halt Ratschläge. Naja, was soll ich sagen, der Konstruktionsleiter ist nicht wirklich abgeneigt, sie haben halt ein paar komische Ansichten, was das befüllen mittels Beziehungen angeht, weil sie es noch nie gemacht haben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 27. Jan. 2014 10:34 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von Dekkmate: Der Admin hat halt Angst, das man sich damit irgendwelche alten Sachen mit den Beziehungen zerschiesst. ...
Aber er hat keine Angst, wenn die Konstrukteure machen, was sie für richtig erachten? Sehr merkwürdig. Wie wäre es, wenn sich der Admin mal bei CAD.DE anmeldet? Es muss natürlich beachtet werden, dass Änderungen an Beziehungen oder innerhalb der Zeichnungsrahmen keine Probleme verursachen. Aber das kann doch der Admin am besten prüfen, weil er ja auch wissen müsste, was in den alten Daten so drinsteckt. ------------------ Gruß Udo Keine Panik, Du arbeitest mit Pro/E! Und Du hast cad.de gefunden! Neu hier? Verwundert über die Antworten? Dann schnell nachfolgende Links durchlesen. • Richtig Fragen • Nettiquette • Suchfunktion • System-Info • Pro/E-Konfig • 7er-Regel • Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dekkmate Mitglied Konstrukteur
Beiträge: 209 Registriert: 17.04.2009
|
erstellt am: 27. Jan. 2014 10:42 <-- editieren / zitieren --> Unities abgeben:
Genau da bin ich mir nicht so sicher ;-) Die haben halt noch nie mit Beziehungen so richtig gearbeitet. Und der Admin hier ist knapp 60 (soll nichts heissen, will keinem zu nahe treten) und ich denke mal, er will nix neues mehr lernen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040
|
erstellt am: 27. Jan. 2014 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von Dekkmate: Genau da bin ich mir nicht so sicher ;-)Die haben halt noch nie mit Beziehungen so richtig gearbeitet. Und der Admin hier ist knapp 60 (soll nichts heissen, will keinem zu nahe treten) und ich denke mal, er will nix neues mehr lernen.
Und da kommt der 'Neue' und macht ihm nen Strich durch die Rechnung ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DerRentner Mitglied Produktmanager a.D.
Beiträge: 12 Registriert: 02.03.2013 WF4 M180
|
erstellt am: 27. Jan. 2014 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Hallo Leute. Etwas vom Thema abgekommen. Aus einen irgend einem Grund funkt "ceil(pro_mp_mass,3)" nicht. (WF4) Bei uns kommen sehr kleine und auch große Gewichte vor. Deshalb steht folgendes in den Beziehungen. /*** Gewicht berechnen Gewicht=PRO_MP_MASS if Gewicht>=1000 Gewicht_temp=Gewicht/1000 Einheit="Kg" else Gewicht_temp=Gewicht Einheit="g" endif DWG_GEWICHT=Gewicht_temp Damit werden die Parameter DWG_GEWICHT und EINHEIT erzeugt, und so automatisch auf die Zeichnung übernommen. Es grüßt der Rentner (67)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dekkmate Mitglied Konstrukteur
Beiträge: 209 Registriert: 17.04.2009
|
erstellt am: 27. Jan. 2014 13:22 <-- editieren / zitieren --> Unities abgeben:
Ich will keinem nen Strich durch die Rechnung machen, jedoch bin ich der Ansicht, das man Sachen, die man automatisiert laufen lassen kann, um Fehler zu minimieren und Zeit zu sparen, einfach machen sollte, wenn sich die Möglichkeiten dazu bieten. Ausserdem muss ich mich so nicht mehr darum kümmern und kann es auch nicht vergessen ;-) ich habe jetzt so eine Lösung gebastelt: if itos(floor(pro_mp_mass)) == "" Masse = "0" + itos(floor(pro_mp_mass)) + "." + itos(pro_mp_mass*100-floor(pro_mp_mass)) + " kg" else Masse = itos(floor(pro_mp_mass)) + "." + itos(pro_mp_mass*100-floor(pro_mp_mass)) + " kg" endif Muss noch daran basteln, das er auf 2 Stellen hinterm Komma rundet. Ansonsten flutscht es gut !!! Vielleicht kanns ja jemand gebrauchen !!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040
|
erstellt am: 27. Jan. 2014 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Deine Formel solltest nochmal genau begutachten. Da tauschst du ja Birnen und Äpfel gegen Bananen. Hier mal meine Lösung: [Beziehung "Nach Regenerierung"] MASS = PRO_MP_MASS*1000 WEIGHT = itos(floor(MASS)) if string_length(WEIGHT) == 0 WEIGHT = "0" endif WEIGHT= WEIGHT+ extract("0,000", 2, 4 - string_length(itos((MASS - floor(MASS))*10^3))) + itos((MASS - FLOOR(MASS))*10^3) ------------------ Grüße Nico \o/
Üs - ProE-Beziehungen [Diese Nachricht wurde von NicoFTB am 27. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 27. Jan. 2014 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von NicoFTB: ... WEIGHT= WEIGHT+ extract("0,000", 2, 4 - string_length(itos((MASS - floor(MASS))*10^3))) + itos((MASS - FLOOR(MASS))*10^3) ...
Und mit solchen Beziehungen bekommt man Modelle mit einer grünen Regenerierungsampel? Doch wohl eher nicht, weil sich der Inhalt von WEIGHT mit jeder Regenerierung ändert. ------------------ Gruß Udo Keine Panik, Du arbeitest mit Pro/E! Und Du hast cad.de gefunden! Neu hier? Verwundert über die Antworten? Dann schnell nachfolgende Links durchlesen. • Richtig Fragen • Nettiquette • Suchfunktion • System-Info • Pro/E-Konfig • 7er-Regel • Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012
|
erstellt am: 27. Jan. 2014 13:38 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von U_Suess:
Und mit solchen Beziehungen bekommt man Modelle mit einer grünen Regenerierungsampel? Doch wohl eher nicht, weil sich der Inhalt von WEIGHT mit jeder Regenerierung ändert.
Du wirst dich wundern, aber das Ding läuft auf grün! Die Beziehung steht natürlich auf 'nach regenerierung'. Wer das nicht mag, kann natürlich noch Dummy-Parameter dafür erzeugen. Ich wollte das allerdings verhindern. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen [Diese Nachricht wurde von NicoFTB am 27. Jan. 2014 editiert.] [Diese Nachricht wurde von NicoFTB am 27. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 27. Jan. 2014 13:51 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von Dekkmate: Ich will keinem nen Strich durch die Rechnung machen, jedoch bin ich der Ansicht, das man Sachen, die man automatisiert laufen lassen kann, um Fehler zu minimieren und Zeit zu sparen, einfach machen sollte, wenn sich die Möglichkeiten dazu bieten. Ausserdem muss ich mich so nicht mehr darum kümmern und kann es auch nicht vergessen ;-) ...
Ja, man sollte machen, was notwendig ist. Aber man sollte nicht immer machen, was möglich ist. Und genau auf dem Zweig befindest Du Dich meiner Meinung nach. Du hast doch im Teil die Einheiten festgelegt. Somit ist klar, dass die errechnete Masse in [kg] angegeben wird. Die Information über die Einheit möchtest Du gern auch noch so in den Schriftfeldern stehen haben und das ganze auch noch ansehnlich dargestellt. Dafür habe ich Dir eine Lösung genannt, welche auch bei bereits vorhandenen Zeichnungen nach der Aktualisierung der Zeichnungsrahmen genutzt werden kann. Deine Beziehungen sind ein Drum-herum-Arbeiten, welches nicht notwendig ist und von dem auch nur einige Modelle betroffen sind. Außerdem kann man diese Beziehungen eben doch vergessen, wenn diese nicht in den Startmodellen hinterlegt werden, wofür eben auch die Zustimmung des Admins notwendig sein dürfte. Als Admin würde ich diese Änderung aber auch wahrscheinlich eher ablehnen, weil eben nur die neuen Modelle schicker gemacht werden. IMHO habt Ihr ein größeres Problem, wenn bisher noch keine Beziehungen genutzt werden. Wie bringt Ihr Eure Materialbezeichnungen in die Teile? Wie gelangt die Masseangabe in die Zeichnung? Wird das alles händisch eingetragen? ------------------ Gruß Udo Keine Panik, Du arbeitest mit Pro/E! Und Du hast cad.de gefunden! Neu hier? Verwundert über die Antworten? Dann schnell nachfolgende Links durchlesen. • Richtig Fragen • Nettiquette • Suchfunktion • System-Info • Pro/E-Konfig • 7er-Regel • Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 27. Jan. 2014 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
|
| Konstrukteur/in Maschinenbauingenieur (m/w/d) im Bereich Lebensmitteltechnik | Wir bieten Lebensmittelherstellern maßgeschneiderte Prozessanlagen, die wirklich jeden Anspruch erfüllen! Kleine Lösungen für den Kernprozess und komplette Produktionsstraßen für die gesamte Prozesskette - vom Rohstoff bis zum fertigen Produkt. Dabei verstehen wir uns nicht nur als ?Lieferant? der Anlagen, sondern als Partner, der mit einzigartigem Know-how aktiv zur Realisierung der Produktideen des Kunden beiträgt.... | Anzeige ansehen | Konstruktion, Visualisierung |
|
NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
Beiträge: 806 Registriert: 08.05.2012
|
erstellt am: 27. Jan. 2014 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für Dekkmate
Zitat: Original erstellt von U_Suess: Solche Informationen sollte man vielleicht gleich mit angeben. Nicht jeder Anwender kennt sich damit gut genug aus, um solche Stolpersteine zu umgehen.
Zitat: Original erstellt von NicoFTB: ... [Beziehung "Nach Regenerierung"] ...
Steht doch da... *duckundweg* ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |