| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Funktionen in Paramtern (1545 mal gelesen)
|
Rolli69 Mitglied Leitung techn. Entwicklung
Beiträge: 62 Registriert: 31.10.2007 Notebook Celsius | i7-2720 QM | 2,2GHz | 4GB RAM NVIDIA Quadro 1000M | 2GB<P>Win 7 Professional - 64bit - SP1 Autodesk Product Design Suite Premium 2013, SP3
|
erstellt am: 30. Mai. 2008 08:05 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Forum, bin jetzt am frühen Morgen schon von der DIVA unangenehm überrascht worden. Habe ich doch in den Parametern ein Maß d13 = 144.335 mm und möchte dieses nun auf die nächste ganze Zahl gerundet haben. Mein Versuch mit ceil(d13) liefert 150,00 mm, floor(d13) liefert 140,00mm und round(d13) liefert auch 140,00 mm. Da lt. Beschreibung diese Funktionen bis zur nächten ganzen Zahl runden sollen, rechnen sie meines Erachtens nach falsch, den es müsste ja eigentlich 145,00 mm oder 144,00 mm rauskommen - oder? Weiss vielleicht jemand woran das liegt? Danke schonmal im Voraus Gruß Rolli ------------------ ------------------- viele Grüsse Rolli Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Charly Setter Moderator
Beiträge: 11977 Registriert: 28.05.2002 Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen.<P>Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw)
|
erstellt am: 30. Mai. 2008 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
Uraltes Problem: Die DIVA rechnet intern mit Zentimetern (wahrscheinlich weil´s dem Inch am nächsten kommt ). Wenn man das ganze so betrachtet funktionieren die Funktionen schon "as designed" Abhilfe: Mit 10 multiplizeren, runden, durch 10 dividieren. CU ------------------ Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen. Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
W. Holzwarth Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 9326 Registriert: 13.10.2000 Inventor bis 2024, Rhino 7, Mainboard ASUS ROG STRIX X570F-Gaming, CPU Ryzen 9 5900X, 64 GB RAM, 4 TB SSD, Radeon RX 6900 XT, Dual Monitor 24", Spacemouse Enterprise, Win 10 22H2
|
erstellt am: 30. Mai. 2008 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
Probier mal sowas: floor(d13*10)/10 Ursache könnte sein, daß der Erfinder intern in cm rechnet (sagt man) Setter war schon da .. [Diese Nachricht wurde von W. Holzwarth am 30. Mai. 2008 editiert.] [CSEdit] @Walter: Ätsch, Erster [\CSEdit] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rolli69 Mitglied Leitung techn. Entwicklung
Beiträge: 62 Registriert: 31.10.2007 Notebook Celsius | i7-2720 QM | 2,2GHz | 4GB RAM NVIDIA Quadro 1000M | 2GB<P>Win 7 Professional - 64bit - SP1 Autodesk Product Design Suite Premium 2013, SP3
|
erstellt am: 30. Mai. 2008 08:30 <-- editieren / zitieren --> Unities abgeben:
|
muellc Ehrenmitglied V.I.P. h.c. ICT Specialist
Beiträge: 3501 Registriert: 30.11.2006 Inventor 2017.4.12 64 bit Windows 10 Enterprise 64 bit 3DEXPERIENCE R2016x -------------------- HP Z-Book 15 G4 32 Gig Ram NVIDIA Quadro M2200 2x HP E243i
|
erstellt am: 30. Mai. 2008 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
|
Michael Puschner Moderator Rentner
Beiträge: 13003 Registriert: 29.08.2003 Toshiba Encore mit MS Office Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben. (Michael Anton)
|
erstellt am: 30. Mai. 2008 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
Zitat: Original erstellt von Rolli69: Mein Versuch mit ceil(d13) liefert 150,00 mm ...
Im Prinzip sind die richtigen Antworten bereits in den vorherigen Beiträgen enthalten. Die Funktion ceil(d13) liefert hier nicht 150,00 mm, sondern 15 oE, da die interne Längeneinheit cm verwendet wird, wenn ein Einheitenkonflikt vorliegt. Die Gleichung wird dann auch rot dargestellt. Die Funktion ceil benötigt ein einheitenloses Argunment und liefert auch einen einehitenlosen Wert zurück, was man auch der Online-Hilfe zu den Funkionen entnehmen kann. Richtig lautet der Term dann also: (ceil(d13 / 1 mm)) * 1 mm Den vorgeschlagenen Workaround ceil(d13*10oE)/10oE sollte man nicht verwenden, da er immer noch einen Einehitenkonflikt verursacht, auch wenn das Ergebnis das selbe ist. BTW: Die Längeneinheit cm wird intern desshalb verwendet, damit die Modellierungsgenauigkeit zwischen inch und mm in etwa ausgewogen ist, ohne eine künstliche Einheit verwenden zu müssen. ------------------ Michael Puschner Autodesk Inventor Certified Expert Scholle und Partner GmbH
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M. Hanke Mitglied Konstruktionsingenieur
Beiträge: 384 Registriert: 05.12.2002
|
erstellt am: 30. Mai. 2008 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
Super! Danke für die Erklärung! Hatte mich auch schon gefragt, wer da die 10 unterschlagen hat beim runden... IMHO ist die Einheitensache in den Parametern aber mit Vorsicht zu genießen... ------------------ Gruß Michael --->> Wissen ist Macht. Nichts wissen macht auch nichts. <<---
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Puschner Moderator Rentner
Beiträge: 13003 Registriert: 29.08.2003 Toshiba Encore mit MS Office Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben. (Michael Anton)
|
erstellt am: 30. Mai. 2008 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
Zitat: Original erstellt von M. Hanke: ... IMHO ist die Einheitensache in den Parametern aber mit Vorsicht zu genießen...
Ich würde nicht sagen "mit Vorsicht", sondern "mit Sorgfalt". Und eigentlich wird es ja auch ganz deutlich angezeigt: wenn rot, dann falsch. ------------------ Michael Puschner Autodesk Inventor Certified Expert Scholle und Partner GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fyodor Ehrenmitglied V.I.P. h.c. Dipl.-Ing.(FH) Maschinenbau
Beiträge: 2667 Registriert: 15.03.2005 DELL Precision 7740 Intel Core i9-9980HK 32 GB RAM NVISIA Quadro RTX4000 Windows 10 Enterprise<P>SolidWorks 2019 SP3.0
|
erstellt am: 30. Mai. 2008 10:14 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
Zitat: Original erstellt von Michael Puschner: Richtig lautet der Term dann also:(ceil(d13 / 1 mm)) * 1 mm
Aber aufpassen! Bei mir gibt es einen Unterschied zwischen den beiden Formeln
Code:
( ceil ( d13 / 1mm ) ) * 1mm
und
Code:
1mm * ( ceil ( d13 / 1mm ) )
!!!! Und zwar beträgt der Unterschied genau eine Zehnerpotenz! Ich weiß nicht ob das ein allgemeines Problem von IV ist, oder ob das nur bei mir auftritt, aber ich bin da schon sehr heftig drüber gestolpert. ------------------ Cheers, Jochen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Michael Puschner Moderator Rentner
Beiträge: 13003 Registriert: 29.08.2003 Toshiba Encore mit MS Office Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben. (Michael Anton)
|
erstellt am: 30. Mai. 2008 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für Rolli69
Zitat: Original erstellt von Fyodor: ... Ich weiß nicht ob das ein allgemeines Problem von IV ist, ...
Definitiv nein! Ich kann mir auch keinen Grund für ein solches Verhalten vorstellen, außer, dass die angeführten Gleichungen nicht so eingegeben wurden, wie zitiert. Zur Kontrolle habe ich die Terme aus dem Zitat per Zwischenablage in die Parametertabelle von IV2008sp2 kopiert. ------------------ Michael Puschner Autodesk Inventor Certified Expert Scholle und Partner GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |