Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Polyline Punkte Runden...?

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 Autodesk Produkte
Autor Thema:  Polyline Punkte Runden...? (2954 mal gelesen)
Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 04. Jun. 2014 23:19    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

Also ich versuche mal hier verständlich zu erklären was ich benötige.
Leider hab ich sogut wie keine Lisp Kenntnisse.

Folgende Funktionen sollten gegeben sein:

1. Egal welches Objekt (LWPOLYLINE,LINE,Block...KREISE,TEXT usw. ausgeschlossen) sollen die Scheitelpunkte Gerundet werden, und die Dezimalstelle auf was gerundet werden soll auch veränderbar sein.
Prinzip ab 5 aufwärts Runden und ab 4 abwärts, bis zu welcher Dezimalstelle gerundet werden soll. Ist dann festzulegen.

2. Das ganze soll in eine Haupt Lisp eingebunden werden und über ein Tastaturkurzbefehl z.b. "rd" abrufbar sein.

3. Das ganze soll auch in einer Blockreferenz funktionieren, somit fällt die DXF Option leider weg.

4. Man sollte einen Auswahlsatz zur verfügung haben, um mehrer Objekte gleichzeitig bearbeiten zu können.

Das ganze soll unter Autocad 2014 laufen, Expresstools usw. vorhanden.


Mir ist klar ich habe schon teils hilfe bekommen, die mich leider noch nicht an mein Ziel gebracht haben.
Daher bitte ich nochmal um Hilfe, ich hoffe es erbahmt sich jemand mir zu helfen.

Einen kleinen Obolus, ist selbstverständlich machbar.

Danke

[Diese Nachricht wurde von Bunnyguard am 04. Jun. 2014 editiert.]

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 04. Jun. 2014 23:42    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 Bunnyguard 10 Unities + Antwort hilfreich

Hier wurden doch schon die wesentlichen Möglichkeiten aufgezählt und auch einige Programmroutinen angeboten.
http://ww3.cad.de/foren/ubb/Forum54/HTML/031229.shtml

Mich interessiert eigentlich nur, wofür das alles gut sein soll? Was soll letztendlich der eigentliche Zweck dieser "gerundeten" Objektkoordinaten sein?

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 04. Jun. 2014 23:57    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

Zweck, naja ich sag es mal milde, der Kunde Wünscht die Zeichnungen so...

Ja richtig es sind teils Lösungen dabei, Problem ohne irgend Kenntnisse kann ich mir die nicht zusammenstellen wie ich Sie benötige.

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 05. Jun. 2014 03:53    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 Bunnyguard 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bunnyguard:
... Einen kleinen Obolus, ist selbstverständlich machbar. ...

Hallo Bunnyguard,

ich finde es gut, dass du dir grundsätzlich darüber im Klaren bist, dass du hier eine Dienstleistung anfragst, und daher auch eine mögliche Vergütung in den Raum stellst. Wenn du nun ein Angebot möchtest, dann sprich doch bitte die bekannten Personen hier aus dem Forum, die sich professionell mit der Programmierung beschäftigen, direkt an. Zum einen ist das Forum für Hilfestellungen bei der Programmierung gedacht und zum anderen ist es ja auch blöd, die Obolus-Verhandlungen hier über das Forum zu führen.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 05. Jun. 2014 08:11    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 Bunnyguard 10 Unities + Antwort hilfreich

"Kunde wünscht" ist natürlich für Dich als AN ein entscheidender Punkt.
Als Programmierer sehe ich aber immer noch nicht den Nutzen, warum sich der Kunde das wünscht.

Gibt es eine repräsentative Beispielzeichnung?

Warum wurde die Zeichnung nicht bereits mit "gerundeten" Koordinaten gezeichnet?


------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 05. Jun. 2014 09:15    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

Weil wir von einem "Super" Büro Vorlagen bekommen, die er mit dem Designer gemacht hat.
Aber die Konstruktion nicht ausgereift ist, deshalb sind wir als Konstruktions Büro dabei um die Konstruktion am Ende umzusetzen die auch Produktionstechnisch machbar sind.

Leider sind anscheind die im Büro in Niederlande nicht fähig gerundet zu zeichnen...
Und alles nochmal Zeichnen damit dieses passt, ist Zeitlich nicht drin...

Also die Lisp drüber jagen und schon hat man seine Vorlage wie man sie braucht...

Das ist der Grund 

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 05. Jun. 2014 19:02    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 Bunnyguard 10 Unities + Antwort hilfreich

Vielleicht dxfout -> Extras -> Optionen -> DXF-Optionen -
Anzahl d. Dezimalstellen?

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 05. Jun. 2014 19:35    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 Bunnyguard 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Geos:
Vielleicht dxfout -> Extras -> Optionen -> DXF-Optionen - Anzahl d. Dezimalstellen?


Wurde alles schon hier empfohlen
http://ww3.cad.de/foren/ubb/Forum54/HTML/031229.shtml
Bunnygard ist aber noch nicht zufrieden und hat einfach noch mal von Neuem nachgefragt.

Mit VARIA (für spezielles Runden einfach passend vorab skalieren) und DXFOUT lässt sich das aus meiner Sicht zwar auch optimal lösen, aber ...

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 08. Jun. 2014 22:15    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

Ich bekomme hier einen Fehler...

"Fehler: Überzählige CDR-Exemplare in Listenpaar mit Punkttrennung in Eingabe"

[CODE](defun koord_rnd (satz nachkomma)
  (foreach ent_data (mapcar 'entget
    (vl-remove-if-not
      '(lambda (dummy) (= (type dummy) 'ENAME))
      (mapcar 'cadr (ssnamex satz))
    )
    )
    (entmod
      (mapcar
'(lambda (data)
  (print data)
  (princ)
  (if (or (= (car data) 10) (= (car data) 11))
    (cons (car data)
  (mapcar '(lambda (wert)
      (atof (rtos wert 2 nachkomma))
    )
  (cdr data)
  )
    )
    data
  )
)
ent_data
      )
    )
  )
)

(defun c:rnd ()
  (command "_undo" "_be")
  (koord_rnd
    (ssget '((-4 . "     (0 . "LINE")
    (0 . "LWPOLYLINE")
    (0 . "INSERT")
    (-4 . "OR>")
    )
    )
    (getint "Nachkommastellen : ")
  )
  (command "_undo" "_e")
  (princ)
)

[/CODE


Vllt. hat jemand ne Idee ?

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 09. Jun. 2014 10:23    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 Bunnyguard 10 Unities + Antwort hilfreich

(princ hat auch eine Rückgabe, also lasse diese unnötigen Einträge weg und teste erneut.
(habe es mir auf die Schnelle am Phon angesehen)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 09. Jun. 2014 11:10    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

Code:

(defun koord_rnd (satz nachkomma)
  (foreach ent_data (mapcar 'entget
    (vl-remove-if-not
      '(lambda (dummy) (= (type dummy) 'ENAME))
      (mapcar 'cadr (ssnamex satz))
    )
    )
    (entmod
      (mapcar
'(lambda (data)
  (print data)
  (if (or (= (car data) 10) (= (car data) 11))
    (cons (car data)
  (mapcar '(lambda (wert)
      (atof (rtos wert 2 nachkomma))
    )
  (cdr data)
  )
    )
    data
  )
)
ent_data
      )
    )
  )
)

(defun c:rnd ()
  (command "_undo" "_be")
  (koord_rnd
    (ssget '((-4 . "    (0 . "LINE")
    (0 . "LWPOLYLINE")
    (0 . "INSERT")
    (-4 . "OR>")
    )
    )
    (getint "Nachkommastellen : ")
  )
  (command "_undo" "_e")
)




Ergab leider keine abhilfe...

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 09. Jun. 2014 13:54    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 Bunnyguard 10 Unities + Antwort hilfreich


VLIDE.gif

 
Hallo Bunnyguard,
anbei der Code wie es passt, in der Liste für SSGET war der Fehler drin.

Code:

(defun c:rnd ()
  (command "_undo" "_be")
  (koord_rnd
    (ssget '((-4 . "<OR")
            (0 . "LINE")
            (0 . "LWPOLYLINE")
            (0 . "INSERT")
            (-4 . "OR>"))
    )
    (getint "Nachkommastellen : ")
  )
  (command "_undo" "_e")
)

Vielleicht solltest Du den Visual-LISP-Editor verwenden, allein durch die Farbgebung siehst Du schon auf den ersten Blick, das hinter Deinem Gruppencode -4 etwas nicht stimmen kann (ich habe ein Screenshot beigefügt).

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Orthogonalvermassung Youtube

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

Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 09. Jun. 2014 14: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

Danke funktioniert jetzt 

Ist es auch möglich, das ich auf 0,5 runden lass und nicht nur auf volle ?

Sagen wir die zu rundende Zahl wäre 3313,3888

Wie sage ich dem das er die mir auf 3313,5 runden soll und nicht auf 3313?

Denn wenn ich nach 2 Kommastellen runden mache, rundet er mir ja auf 3313,4...
Möchte aber immer 0.5 Schritte haben...ist das möglich ?
Danke

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 09. Jun. 2014 17:33    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 Bunnyguard 10 Unities + Antwort hilfreich

Mein Vorschlag dazu: SKALIEREN (Befehl Varia)

Skaliere die ganze Zeichnung um Faktor 2, runde dann auf 0 Nachkommastellen ab und skaliere dann auf Originalgröße zurück um 0.5 (Dann hast du Koordinaten auf 0.5 abgerundet).
Das müsste auch mit der DXF Export Variante (also VARIA 2 , DXFOUT 0 > DXFÖFFNEN > VARIA 0.5) die gewünschten Ergebnisse bringen.

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 10. Jun. 2014 07:24    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 Bunnyguard 10 Unities + Antwort hilfreich

Hallo Bunnyguard,
runden auf 5 eventuell so?
Code:

(defun c:runden5 ( / NACHKOMMA VORKOMMA WERT)
  (if(setq wert (getreal "\nWert eingeben:"))
    (progn
      (setq vorkomma (fix wert))
      (cond((> (- wert vorkomma) 0.75)
            (setq vorkomma (+ vorkomma 1)
                  nachkomma 0.0))
          ((> (- wert vorkomma) 0.25)
            (setq nachkomma 0.5))
          ('T (setq nachkomma 0.0)))
      (+ vorkomma nachkomma))
    )
  )

Mußt Du aber noch prüfen ob in allen Varianten die korrekten Ergebnisse rauskommen.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

Orthogonalvermassung Youtube

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

Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 10. Jun. 2014 09:24    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

Danke, werds heute mittag mal  prüfen ob das gewünschte Ergebnis immer raus kommt 

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 10. Jun. 2014 13: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 Nur für Bunnyguard 10 Unities + Antwort hilfreich

Komisch

(atof (rtos wert 2 nachkomma))

macht doch genau das, wenn nachkomma auf 1 steht 
Oder hab ich da was nicht verstanden.

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 10. Jun. 2014 13:48    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 Bunnyguard 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andreas Kraus:
(atof (rtos wert 2 nachkomma)) macht doch genau das, wenn nachkomma auf 1 steht  
Oder hab ich da was nicht verstanden.

Offensichtlich: Oder

Hier noch mal die Aufgabenstellung anders formuliert:
Runden von übergebener Zahl, also Variable wird die Anzahl der Nachkommastellen angegeben.
Mit der Besonderheit, dass die letzte Stelle auf 0 oder 5 ab/aufgerundet werden soll.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 10. Jun. 2014 14:04    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 Bunnyguard 10 Unities + Antwort hilfreich

Aha, letzte Stelle nur 0 oder 5 und nicht nur einfach runden.
Jetzt hab ichs auch.

Langes WE mit viel Sonne. So was vertrag ich nicht.
Zitat aus: Otto: Der Ritter und die Jungfrau
Die Sonne hat sein Gehirn schon so ein Bisschen .... aber sonst geht's ihm noch ganz gut. 

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 10. Jun. 2014 14:43    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 Bunnyguard 10 Unities + Antwort hilfreich

mal ne Rundungsfunktion

;;; - ------------------------------------------------------------------------------ - ;
;;; - Funktionsname : DT:ROUND2                                                      - ;
;;; - Beschreibung  : Rundungsfunktion - Rundet den  übergebenen Wert auf ein        - ;
;;; -                 Vielfaches der unter BASIS angegeben Zahl.                     - ;
;;; -                 Bei fehlerhaften Argumenten wird "nil" zurückgeliefert         - ;
;;; - Parameter     : ZAHL    [INT/REAL]                                             - ;
;;; -                 BASIS   [INT/REAL]                                             - ;
;;; - Rückgabe      : RUNDUNGSWERT [wie BASIS]                                       - ;
;;; - Beispiel      : (ROUND2 12.63 0.5) -> 12.5 od. (ROUND2 162.7 5) -> 165         - ;
;;; - ------------------------------------------------------------------------------ - ;
(defun DT:ROUND2 (ZAHL BASIS / TEMP )
  (if (and(numberp ZAHL) (=(numberp BASIS))(> BASIS 0))
    (progn     
      (setq TEMP (/ (abs ZAHL)  BASIS))
      (cond 
        ( (> (- TEMP (fix TEMP)) 0.5) (setq TEMP (+ (fix TEMP) 1)))
        ( (< (- TEMP (fix TEMP)) 0.5) (setq TEMP    (fix TEMP)  ))
        ( (= (- TEMP (fix TEMP)) 0.5)         
          (if (equal (/ (fix TEMP) 2.0) (fix(/ (fix TEMP) 2.0)) 0.001)
            (setq TEMP    (fix TEMP)  )
            (setq TEMP (+ (fix TEMP) 1))
          ) 
        )
      )     
      (setq TEMP (* BASIS TEMP (if (< Zahl 0 ) -1.0 1.0)))
    )
  )
  (if (=(type BASIS)'INT) (fix TEMP) TEMP)   
)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 11. Jun. 2014 09:43    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 Bunnyguard 10 Unities + Antwort hilfreich

Noch eine Idee.
Allerdings ohne die Abfragen ob eine Zahl übergeben wurde usw.

Code:

(defun c:round2 (zahl basis)
  (cond
    ((= (rem zahl basis) 0.0)
     zahl
    )
    ((< (rem zahl basis) basis)
     (- zahl (rem zahl basis))
    )
    ((> (rem zahl basis) basis)
     (+ zahl (- basis (rem zahl basis)))
    )
  )
)

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

[Diese Nachricht wurde von Andreas Kraus am 11. Jun. 2014 editiert.]

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 11. Jun. 2014 10:07    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 Bunnyguard 10 Unities + Antwort hilfreich

Grade gesehen.
es geht noch kürzer.
(und irgendwie geht c:round2 nicht, ich habs zu c:round geändert)

Code:

(defun c:round (zahl basis)
  (cond
    ((<= (rem zahl basis) basis)
    (- zahl (rem zahl basis))
    )
    ((> (rem zahl basis) basis)
    (+ zahl (- basis (rem zahl basis)))
    )
  )
)

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jun. 2014 10:34    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 Bunnyguard 10 Unities + Antwort hilfreich

@Andreas: du rundest nur ab :
Befehl: (c:round 123.65 0.1) -->  123.6
Befehl: (c:round 123.75 0.1) -->  123.7

Ist vielleicht bei vielen Sachen egal, aber manchmal nicht ... Guck mal in die Rundungsregeln. ( zur geraden Ziffer hin runden )

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 11. Jun. 2014 12:38    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 Bunnyguard 10 Unities + Antwort hilfreich

Huch .. ja
Berechnung korrigiert mit:
(/ basis 2.0)

ABER
Das ist ja ein Sch...

Wen ich z.B. die 123.65 nehme und 0.1 als Basis habe bekomme ich
(rem zahl basis) -> 0.05
und
(/ basis 2.0) -> 0.05

Aber wenn ich (> (/ basis 2.0) (rem zahl basis)) mache bekomme ich ein T

Was soll denn das ?

(= (/ basis 2.0) (rem zahl basis)) -> Nil

Da versteckt sich doch ein Rundungsfehler oder ?

Wenn ich zeichenketten vergleiche geht's.
(defun c:round (zahl basis)
  (cond
    ((< (rtos (rem zahl basis) 2 8) (rtos (/ basis 2.0) 2 8) )
    (- zahl (rem zahl basis))
    )
    ((>= (rtos (rem zahl basis) 2 8)(rtos (/ basis 2.0) 2 8) )
    (+ zahl (- basis (rem zahl basis)))
    )
    (t zahl)
  )
)

Ist doch doof oder ?

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jun. 2014 12:53    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 Bunnyguard 10 Unities + Antwort hilfreich

... vielleicht equal statt = nehmen ..... <<Klick>>

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 11. Jun. 2014 13:11    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 Bunnyguard 10 Unities + Antwort hilfreich

Und was ist mit dem größer als/kleiner als ?

Das geht ja auch nicht.
Mir fällt da spontan keine andere Alternative ein als mit rtos zu arbeiten.

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 12. Jun. 2014 18:11    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 Bunnyguard 10 Unities + Antwort hilfreich

Meine Version:

Code:
(defun f#runden (#zahl #auf / )
  (* (atof (rtos (/ #zahl #auf) 2 0)) #auf)
)

Befehl: (f#runden 163.35 0.5)
163.5

Befehl: (f#runden 163.15 0.5)
163.0

Befehl: (f#runden 163.15 0.2)
163.2

Befehl: (f#runden 163.28 0.2)
163.2

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 13. Jun. 2014 08:49    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 Bunnyguard 10 Unities + Antwort hilfreich

(f#runden 2.25 0.1) -> 2.3  ... sollte aber 2.2 sein
(f#runden 2.35 0.1) -> 2.4  ... ok

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 13. Jun. 2014 12:08    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 Bunnyguard 10 Unities + Antwort hilfreich

Sorry Thomas, vielleicht steh ich auf der Leitung, aber warum willst Du einmal bei x.x5 (2.25) ab - und ein andermal (2.35) aufrunden?

Ich würds so sehen (und wollts auch so haben):
2.15 - 2.24 => 2.20
2.25 - 2.34 => 2.30 ...

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 13. Jun. 2014 12:22    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 Bunnyguard 10 Unities + Antwort hilfreich

so sind die Rundungsregeln --> Wikipedia .... hat auch statistische Gründe .. oder bei Summenbildung aus gerundeten Werten, dass die Rundungsfehler sich ausgleichen usw.

Bei den meistwen CAD-Anwendungen sollte das egal sein, aber halt nicht überall ( z.b. Finanzwesen ... wenn da nur immer abgerundet wird, bleibt ne hübsche Summe übrig, fragt sich , für wen)

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 13. Jun. 2014 12:27    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 Bunnyguard 10 Unities + Antwort hilfreich

http://de.wikipedia.org/wiki/Rundung#Kaufm.C3.A4nnisches_Runden

"Das Kaufmännische Runden geschieht wie folgt:

    Ist die Ziffer an der ersten wegfallenden Dezimalstelle eine 0,1,2,3 oder 4, dann wird abgerundet.
    Ist die Ziffer an der ersten wegfallenden Dezimalstelle eine 5,6,7,8 oder 9, dann wird aufgerundet."


http://de.wikipedia.org/wiki/Rundung#Mathematisches_Runden

"Die Mathematische [i](auch geodätische oder unverzerrte) Rundung ist wie folgt definiert:[1]

    Folgt auf die letzte beizubehaltende Ziffer eine 0, 1, 2, 3 oder 4, so wird abgerundet.
    Folgt auf die letzte beizubehaltende Ziffer eine 5 (gefolgt von weiteren Ziffern, die nicht alle null sind), 6, 7, 8 oder eine 9, so wird aufgerundet.
    Folgt auf die letzte beizubehaltende Ziffer lediglich eine 5 (oder eine 5, auf die nur Nullen folgen), so wird derart gerundet, dass die letzte beizubehaltende Ziffer gerade wird."[/i]

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Geos
Mitglied
Vermessungstechniker i.R.


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

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 13. Jun. 2014 12:46    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 Bunnyguard 10 Unities + Antwort hilfreich

Mathematisches Runden - so hätte ich das auch gesehen ...
aber die 3. Regel
Zitat:
Folgt auf die letzte beizubehaltende Ziffer lediglich eine 5 (oder eine 5, auf die nur Nullen folgen), so wird derart gerundet, dass die letzte beizubehaltende Ziffer gerade wird

kannte ich bis jetzt nicht. (könnte es sein, dass es die in meiner Schulzeit noch nicht gab? und während meiner aktiven Zeit ist sie mir auch nie untergekommen. Jedenfalls wieder was gelernt ...)

------------------
Schöne Grüße
Ernst

www.geopaint.at

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

Bunnyguard
Mitglied



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

Beiträge: 365
Registriert: 15.12.2009

erstellt am: 17. Jun. 2014 09:13    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

Ist es möglich das immer im 0.25 Raster zu Runden ?

Also 4234,366  --->  4234,5
oder 4234,345  --->  4234,25
oder 4234,655  --->  4234,75


Danke für die Hilfe...

PS: Objektwahl sollte enthalten sein...

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 17. Jun. 2014 09:18    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 Bunnyguard 10 Unities + Antwort hilfreich

Ja

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 17. Jun. 2014 14:34    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 Bunnyguard 10 Unities + Antwort hilfreich

Möglich ist alles.
Ich hatte im Beitrag das hier schon geschrieben:

Code:
(defun round (zahl basis)
  (cond
    ((< (rtos (rem zahl basis) 2 8) (rtos (/ basis 2.0) 2 8))
    (- zahl (rem zahl basis))
    )
    ((>= (rtos (rem zahl basis) 2 8) (rtos (/ basis 2.0) 2 8))
    (+ zahl (- basis (rem zahl basis)))
    )
    (t zahl)
  )
)

Dabei wird eine Zahl auf den nächsten Wert in einem "Raster" gebracht. Ist die Zahl genau mittig wird aufgerundet.
Wenn du aus dem >= ein > machst wird eine Zahl die genau mittig ist nicht verändert.

Allerdings ist ein Nachkommawert von 0.366 (aus deinem Beispiel) bei einem Raster von 0.25 näher an der 0.25 als an der 0.5, also wird abgerundet.
Erst bei 0.375 würde aufgerundet auf 0.5.
Klar würde man 0.366 aufrunden aber bei der "normalen" Rundung ist das Raster anders. Wenn du das änderst, ändert sich auch das Ergebnis.

Bei einem Raster von 0.5 wird natürlich aufgerundet, halbierst du das Raster bekommst du weitere Zwischenwerte.

------------------
Geht nicht, gibts nicht

Gruß
Andreas

http://kraus-cad.de

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)2023 CAD.de | Impressum | Datenschutz