| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Wie Produktkonfiguratoren Ihren Vertriebsprozess nachhaltig unterstützen |
Autor
|
Thema: SWX 2014 - Gleichungen Aufrunden (4578 mal gelesen)
|
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 02. Mrz. 2015 15:41 <-- editieren / zitieren --> Unities abgeben:
Hallo, vor kurzem haben wir auf SWX 2014 umgestellt, jetzt haben wir festgestellt, dass aufrunden in den Gleichungen nicht mehr funktioniert. Bisher funktionierte folgendes Schema problemlos: "D2@Skizze1" = -Int(-"D1@Skizze1") Jetzt wirft es uns einige Standardvorlagen durcheinander, bei der auf diese Weise gerundet wurde. Gibt es hierfür eine Lösung? Schonmal danke, Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbonisch Mitglied Maschinenbautechniker
Beiträge: 1053 Registriert: 25.02.2005 CSWA HP Z440 Windows 7 Professional 64 Bit Intel Xeon CPU E5-1630 @ 3.7 GHz (8 CPUs); 32 GB RAM NVIDIA Quadro M4000 UG 4.0.4.2 mit TC V9.1.2.10 SW2014 SP5 mit CAD-Desktop (SAP)
|
erstellt am: 02. Mrz. 2015 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Hallo Andreas =int ( Wert + 0.5 ) hier erreiche ich, dass auf- oder abgerundet wird. =round ( Wert + 0.5 ) hier erreiche ich, dass immer aufgerundet wird. ------------------ Gruß bbonisch Wer nicht träumt, der ist tot. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbonisch Mitglied Maschinenbautechniker
Beiträge: 1053 Registriert: 25.02.2005 CSWA HP Z440 Windows 7 Professional 64 Bit Intel Xeon CPU E5-1630 @ 3.7 GHz (8 CPUs); 32 GB RAM NVIDIA Quadro M4000 UG 4.0.4.2 mit TC V9.1.2.10 SW2014 SP5 mit CAD-Desktop (SAP)
|
erstellt am: 02. Mrz. 2015 15:59 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
|
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 02. Mrz. 2015 16:01 <-- editieren / zitieren --> Unities abgeben:
|
bbonisch Mitglied Maschinenbautechniker
Beiträge: 1053 Registriert: 25.02.2005 CSWA HP Z440 Windows 7 Professional 64 Bit Intel Xeon CPU E5-1630 @ 3.7 GHz (8 CPUs); 32 GB RAM NVIDIA Quadro M4000 UG 4.0.4.2 mit TC V9.1.2.10 SW2014 SP5 mit CAD-Desktop (SAP)
|
erstellt am: 02. Mrz. 2015 16:11 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Was für ganze Zahlen werden gerundet? da komm ich jetzt nicht ganz mit javascript:InsertSMI(' %20'); übrigens wird bei round entweder auf oder abgerundet. ------------------ Gruß bbonisch Wer nicht träumt, der ist tot. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 02. Mrz. 2015 16:55 <-- editieren / zitieren --> Unities abgeben:
z.B. runden wir bei Kettenlängen immer auf 2 ganze Glieder auf, siehe Anhang. Das ging vorher nach der Methode recht gut. Jetzt ist die Kette zu kurz. Ich meine bei einem Grenzfall z.B.
n=6 round("n" / 1.2 +.5) ergibt 6, stimmt nicht int("n" / 1.2 +.5) ergibt 5 ist korrekt n=5 round("n" / 1.2 +.5) ergibt 5 ist korrekt int("n" / 1.2 +.5) ergibt 4, stimmt nicht mit SWX 2012 kam mit
-int(-"n" / 1.2) immer das richtige Ergebnis. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbonisch Mitglied Maschinenbautechniker
Beiträge: 1053 Registriert: 25.02.2005 CSWA HP Z440 Windows 7 Professional 64 Bit Intel Xeon CPU E5-1630 @ 3.7 GHz (8 CPUs); 32 GB RAM NVIDIA Quadro M4000 UG 4.0.4.2 mit TC V9.1.2.10 SW2014 SP5 mit CAD-Desktop (SAP)
|
erstellt am: 02. Mrz. 2015 17:28 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 03. Mrz. 2015 06:28 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Hallo Andreas, bei mir in SWX 2014 funktioniert die Formel =abs(int(-"n"/1.2)) bzw. -int("n"/1.2)) bei n = 5 Ergebnis = 5 bei n = 6 Ergebnis = 5 Laufen bei dir evtl. noch andere Berechnungen die nun evtl. zu Rundungsfehlern führen könnten? Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 03. Mrz. 2015 07:06 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Bernd, leider nein, hab den Test in einem völlig neuem Bauteil gemacht. Gleiches Ergebnis auch, wenn alle Zusatzanwendungen deaktiviert sind. Kann es an einer Einstellung in den Systemoptionen liegen? edit: Soeben habe ich das ganze auf einem anderen Rechner mit komplett neuer Installation mit den Standard SWX-Einstellungen getestet, selbes Ergebnis. [Diese Nachricht wurde von MA-ndi am 03. Mrz. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 SWX (Pro) Flow 2020
|
erstellt am: 03. Mrz. 2015 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Guten Morgen, also ich habe hier mal einen Vergleich zwischen SWX2013 und 2014. und 2013 hat falsch gerechnet. Denn dort wird das Minus so wohl für die Rundsrichtung heran gezogen als auch als Vorzeichen der Zahl gewertet. Das ist Müll. und 2014 interpretiert das Minus nur noch als Vorzeichen, leider bin ich noch nicht dahinter gekommen, wie man die Rundsrichtung verstellt. herzlich Sascha Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 03. Mrz. 2015 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Hallo Andreas (und Kollegen) ich bekomme verschiedene Ergebnisse beim Windows-Rechner (Win7-64) und in Excel 2010 -Ganzzahl(-n) gibt etwas anderes als "negate(Int(-n))" Gruß, Christian Edith: Nachbau in Excelschreibweise wenn(n - Ganzzahl(n)=0; Ganzzahl(n); Ganzzahl(n)+1) krieg ich in SWX2012 gerade nur in 2 Zeilen aufgeteilt hin ... ??? probier mal Rund_N = int("N") - ("N" - int("N") > 0) in SWX2012 gibt ("N" - int("N") > 0) entweder 0 oder -1 bzw. nimm n/1.2 oder was da so rein soll. Gruß, Christian
[Diese Nachricht wurde von Christian_W am 03. Mrz. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 03. Mrz. 2015 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Hallo zusammen, Zitat: ...und 2013 hat falsch gerechnet. Denn dort wird das Minus so wohl für die Rundsrichtung heran gezogen als auch als Vorzeichen der Zahl gewertet. Das ist Müll.
Also meines Erachtens hat SWX 2013 richtig gerrechnet da programmiertechnisch (zumindest in VB) INT(-5,1)= -6 ist und nicht -5, die INT-Funktion rundet auf die nächst kleinere Ganzzahl (Integer) ab und diese ist bei -5,1 klar -6 da -6 < -5,1. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 03. Mrz. 2015 10:36 <-- editieren / zitieren --> Unities abgeben:
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 03. Mrz. 2015 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Zitat: Mein Casio Taschenrechner kennt die Funktion "intg" welche das gewünschte Ergebnis liefert.
na, dann brauchst du nur noch SWX beizubringen, dass es statt auf Windows-Bibliotheken auf den Casio zugreift. vielleicht gibt es einen 5 1/4 " Einschub dafür habe dir oben eine Alternative eingebaut, während ihr hier weitergeschrieben habt ...
Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 SWX (Pro) Flow 2020
|
erstellt am: 03. Mrz. 2015 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Aber anscheinend lag ich falsch er hat nicht zwei Funktionen durchgeführt sondern nur eine. Auch finde ich die Version von 2013 sinnvoller, da man durch den Vorzeichenwechsel einfach die gewünschte Rundungsrichtung definieren kann. Aber es stimmt in Inventor haben wir genau dafür zwei Funktionen floor und ceil. Geht aber nicht im SWX. für eine interene SWX Berechnung kann, man mit IF arbeiten oder einfach nur +1 aber dies könnte den Fall nicht berücksichtigen wenn /1,2 ein Ganze Zahl ergibt. mfg Sascha Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 03. Mrz. 2015 11:17 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Hallo, etwas merkwürdig ist es schon ... bei mir funktioniert es 2-stufig (SWX2012-64 + win7) N=6 N2=N/1.2 RundN2 = int("N2) - ("N2" - int("N2") >0) aber nicht 1-stufig RundN = int("N" / 1.2) - (("N"/1.2) - int("N"/1.2) > 0) ist das 2012-spezifisch oder übersehe ich da einen grundsätzlichen Fehler? Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 03. Mrz. 2015 11:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Christian, mit deiner Funktion klappt es, wenn ich addiere. = int ( "n" ) + ( "n" - int ( "n" ) > 0 ) Dann scheint es wirklich zu klappen. Mehrstufig scheint auch zu klappen, zumindest in SWX2014 SP5. Grüße Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 03. Mrz. 2015 12:28 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Hallo Andreas, Danke für die Rückmeldung bei mir (SWX2012) wird der Wert negativ, deshalb habe ich subtrahiert, bei dir scheint es also positiv zu werden, deshalb addiert? vielleicht sollte man vorsichtshalber so formulieren: N2 = = int ( "N2" ) + abs ( "N2" - int ( "N2" ) > 0 ) wie es sich bei mir mit der Mehrstufigkeit verhält - siehe Bild. Ich kann mir keinen Reim drauf machen ... Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 03. Mrz. 2015 12:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Christian, versteh ich auch nicht, was SWX2012 da hat, so einen Fall hab ich in dieser Version aber auch nie beobachtet. Ja, du hast recht, war negativ. Ich fasse mal zusammen: n1 = 6 n2 = "n1" / 1.2 Aufrunden = int ( "n2" ) + abs ( "n2" - int ( "n2" ) > 0 ) Klappt prächtig! Und wird es hoffentlich in 2015 und folgenden auch. Danke! Grüße Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 04. Mrz. 2015 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
|
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 04. Mrz. 2015 14:13 <-- editieren / zitieren --> Unities abgeben:
|
bbonisch Mitglied Maschinenbautechniker
Beiträge: 1053 Registriert: 25.02.2005 CSWA HP Z440 Windows 7 Professional 64 Bit Intel Xeon CPU E5-1630 @ 3.7 GHz (8 CPUs); 32 GB RAM NVIDIA Quadro M4000 UG 4.0.4.2 mit TC V9.1.2.10 SW2014 SP5 mit CAD-Desktop (SAP)
|
erstellt am: 04. Mrz. 2015 14:39 <-- editieren / zitieren --> Unities abgeben: Nur für MA-ndi
Hallo Andi die Funktion "round" rundet entweder auf oder ab round (5.5) ergibt 6 round (5.4) ergibt 5 willst du erreichen, dass immer gerundet wird, dann musst du round (n+.5) eingeben, also +0.5 willst du erreichen, dass immer abgerundet wird, dann musst du round (n-.5) eingeben, also -0.5 willst du auf ganze Zahlen aufrunden, dann kannst du round("n"/2+.4999)*2 eingeben, aber Achtung n ist abhängig von den Kommastellen, hier nicht mehr als 3 Kommastellen. Ich hoffe es stimmt auch was ich hier schreibe. javascript:InsertSMI(' %20'); ------------------ Gruß bbonisch Wer nicht träumt, der ist tot. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MA-ndi Mitglied
Beiträge: 11 Registriert: 02.03.2015 HP Z440 Workstation Intel Xeon E5-1630v3 @ 3,7 GHz 32GB RAM NVIDIA Quadro M4000 . Windows 7 Professional 64 Bit SP1 SWX 2016 x64 SP4 Pro.File 8.6
|
erstellt am: 04. Mrz. 2015 14:46 <-- editieren / zitieren --> Unities abgeben:
Hallo bbonisch, soweit klar, nur bei Christian bzw. rundet SWX2012 mit "round" bei x.5 entweder auf oder ab. Siehe sein Beispiel. Das Problem mit nur aufrunden oder abrunden wurde weiter oben schon gelöst. Grüße Andi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |