| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Nachkommastelle bei Wert „0“ wird verschluckt (2684 mal gelesen)
|
tobu Mitglied Werkzeugkonstrukteur, Kunststoffspritzguss
Beiträge: 255 Registriert: 15.05.2007 hp workstation xw4600 NVDIA Quadro FX1700 4 GB RAM 3D SpaceExplorer (6.6.1) XP Professional x32 SP2 Pro/E WF 2 Version M250 Molddesign, Plastic Advisor, Mechanism Design, Spritzguss
|
erstellt am: 13. Sep. 2011 11:02 <-- editieren / zitieren --> Unities abgeben:
Hallo und guten morgen, hab da mal ein Problem, zu dem ich in der Hilfe nichts gefunden habe. In einem Bericht hier im Forum habe ich vor einiger Zeit eine Beziehung gefunden, mit der ich die Länge eines Bauteils automatisch für die Stückliste aufbereiten kann. Die Beziehung funktioniert auch bis auf eine „Kleinigkeit“ sehr gut. Aber irgendwie habe ich da wohl einen Fehler eingebaut. Beispiel: Die Länge eines Bauteils ändere ich über eine Bezugsebene. Den Abstand habe ich „l_gek“ genannt. Meine Beziehung sieht wie folgt aus: DP1=l_gek*100 DP2=floor(l_gek)*100 IF floor(l_gek) == 0 laenge_gek="0.00"+itos(DP1-DP2) ELSE IF DP1==DP2 laenge_gek=itos(floor(l_gek))+".00" ELSE laenge_gek=itos(floor(l_gek))+"."+itos(DP1-DP2) ENDIF ENDIF Bemerkung="gekürzt "+ laenge_gek Wenn ich eine Länge von 106.03 brauche, wird in der Bemerkung eine Länge von 106.3 ausgegeben. D.h., die „0“ wird verschluckt. Bei 106.13 wird 106.13 ausgegeben. Kann mir hierbei jemand helfen? ------------------ tausend und einen Gruß Tom ------------------------------------------- Wer von sich behauptet keine Fehler zu machen, hat mit dieser Behauptung bereits einen ganz großen Fehler gemacht ;-) Aaaah jetzt hab ich`s. 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: 13. Sep. 2011 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
Zitat: Original erstellt von tobu: ... Wenn ich eine Länge von 106.03 brauche, wird in der Bemerkung eine Länge von 106.3 ausgegeben. ...
Pro/E macht genau das, was Du in den Beziehungen hinterlegt hast. Ich schreibe mal hinter Deine Beziehungen das jeweilige Ergebnis oder Zwischenergebnis, dann siehst Du, woran es liegt. DP1=l_gek*100 10603 DP2=floor(l_gek)*100 10600 ... IF DP1==DP2 laenge_gek=itos(floor(l_gek))+".00" ELSE laenge_gek=itos(floor(l_gek))+"."+itos(DP1-DP2) laenge_gek="106"+"."+itos(10603-10600) laenge_gek="106"+"."+itos(3) laenge_gek="106"+"."+"3" ENDIF
------------------ 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: 13. Sep. 2011 11:39 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
Nachdem der Fehler gefunden ist, soll aber auch noch ein Vorschlag zu Lösung kommen. (Vielleicht bekomme ich dafür ja wieder mal Us ) Warum gehst Du nicht den Weg über die Verarbeitung von Textvariablen? So wie ich es sehe, möchtest Du immer zwei Kommastellen haben. Somit kannst Du mittels
Code: text1=itos(floor(l_gek*100))
eine Zeichenkette erzeugen, an der nur noch an drittletzter Stelle ein '.' eingefügt werden muss. :D Dazu kann man doch die Länge der Zeichenkette ermitteln, daraus die Position des Punktes und im Abschluss macht man aus den Teilen wieder einen String (ich schreibe es mal ausführlich mit einzelnen Variablen)
Code: textlaenge=string_length(text1) punktposition=textlaenge-2 teiltext1=extract(text1,1,punktposition) teiltext2=extract(text1,punktposition+1,2) ausschrift=teiltext1+"."+teiltext2
Beziehungen sind getestet.
------------------ 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 |
tobu Mitglied Werkzeugkonstrukteur, Kunststoffspritzguss
Beiträge: 255 Registriert: 15.05.2007 hp workstation xw4600 NVDIA Quadro FX1700 4 GB RAM 3D SpaceExplorer (6.6.1) XP Professional x32 SP2 Pro/E WF 2 Version M250 Molddesign, Plastic Advisor, Mechanism Design, Spritzguss
|
erstellt am: 13. Sep. 2011 11:52 <-- editieren / zitieren --> Unities abgeben:
Aua, der Aufprall tat weh. Wenn man aus einem Flugzeug springt um schnell nach unten zu kommen, sollte man vorher wissen wie der Fallschirm aufgeht. @U_Suess Deinen Vorschlag schaue ich mir heute Nachmittag an. Die Ü`s sende ich gerne mit der Ü-berweisung.
------------------ tausend und einen Gruß Tom ------------------------------------------- Wer von sich behauptet keine Fehler zu machen, hat mit dieser Behauptung bereits einen ganz großen Fehler gemacht ;-) Aaaah jetzt hab ich`s. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tobu Mitglied Werkzeugkonstrukteur, Kunststoffspritzguss
Beiträge: 255 Registriert: 15.05.2007 hp workstation xw4600 NVDIA Quadro FX1700 4 GB RAM 3D SpaceExplorer (6.6.1) XP Professional x32 SP2 Pro/E WF 2 Version M250 Molddesign, Plastic Advisor, Mechanism Design, Spritzguss
|
erstellt am: 13. Sep. 2011 13:31 <-- editieren / zitieren --> Unities abgeben:
|
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: 13. Sep. 2011 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
Zitat: Original erstellt von tobu: ... Deine Lösung funktioniert super.
Habe sie ja auch getestet. Allerdings kann man die noch etwas einkürzen, wenn man nicht so viele Hilfsvariablen nutzt. Aber Du und andere Hilfesuchenden sollen es ja unkompliziert nachvollziehen können Zitat: Ü`s müssten auch schon da sein
Ja sind da. Der Hinweis war im Übrigen nicht direkt für Dich gedacht sondern war ein kleiner Insider für Nina ------------------ 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 |
tobu Mitglied Werkzeugkonstrukteur, Kunststoffspritzguss
Beiträge: 255 Registriert: 15.05.2007 hp workstation xw4600 NVDIA Quadro FX1700 4 GB RAM 3D SpaceExplorer (6.6.1) XP Professional x32 SP2 Pro/E WF 2 Version M250 Molddesign, Plastic Advisor, Mechanism Design, Spritzguss
|
erstellt am: 14. Sep. 2011 09:53 <-- editieren / zitieren --> Unities abgeben:
|
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: 14. Sep. 2011 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
|
BergMax Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH)
Beiträge: 2264 Registriert: 23.08.2005 Creo 4.0 M130 Creo 8.0.3.0 GT/SUT 8.0.0.0 HP z440, Quadro K2200, Win10 Enterp. DualView
|
erstellt am: 14. Sep. 2011 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
|
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: 14. Sep. 2011 12:17 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
|
Frau-PROE Moderator Trän-Närrin
Beiträge: 2785 Registriert: 01.07.2009 Privat: DELL Vostro 1710 WinXP-Pro Wildfire4 M020 SE CoCreate PE 2.0 Dienstlich: NIX Arbeitslos und Spaß dabei!
|
erstellt am: 14. Sep. 2011 21:35 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
Zitat: Original erstellt von U_Suess: ...Der Hinweis war im Übrigen nicht direkt für Dich gedacht sondern war ein kleiner Insider für Nina ...
Ja, so ist es!
Und wär der "Insider" Hinweis nicht von Dir gekommen, hätte ich ihn jetzt gebracht! Ach und ehe ich's vergesse: 10 additional Ü4U! ( ) BTW: Wie ist eigentlich der aktuelle Ümrechnungskürs von EURÜ zu FrÜnken?!? Liebe Grüße, Nina
------------------ Nichts auf der Welt ist so gerecht verteilt wie Intelligenz. Jeder ist der Meinung, genug davon zu besitzen. [René Descartes] Ist das nicht wunderbar?!? 1. CAD.de Klönschnack | System-Info | Bildschirmaufzeichnung | Creo 1 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: 14. Sep. 2011 21:39 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
|
Frau-PROE Moderator Trän-Närrin
Beiträge: 2785 Registriert: 01.07.2009 Privat: DELL Vostro 1710 WinXP-Pro Wildfire4 M020 SE CoCreate PE 2.0 Dienstlich: NIX Arbeitslos und Spaß dabei!
|
erstellt am: 14. Sep. 2011 21:45 <-- editieren / zitieren --> Unities abgeben: Nur für tobu
|