Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  entget & grosse Werte

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:  entget & grosse Werte (1543 mal gelesen)
BBlackBird
Mitglied


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

Beiträge: 1
Registriert: 15.12.2004

erstellt am: 15. Dez. 2004 18:47    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

Hi,

ich habe folgendes Problem: Wenn ich z.B.mit "entget" von einer Linie den Start und Endpunkt abfrage und die Koordinaten der Linie über 35000 liegen bekomme ich max 1 Nachkommastelle.
Bei Kleineren Werten bekomme ich mehrere Nachkommastellen, was reichen würde.
Kennt jemand einen Weg, wie ich diese Werte mit mehr Genauigkeit bekomme?

Bspielprogramm
(setq el (entget (car (entsel "\nObjekt waehlen: "))))

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: 15. Dez. 2004 19:00    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 BBlackBird 10 Unities + Antwort hilfreich

entget bringt unformatierte Zahlen mit 8 Ziffern.
Also die Zahlen formatiert ausgeben,
für den Xwert wäre das

(RTOS (NTH 1 (ASSOC 10 el)) 2 8)

Siehe dazu auch diesen Beitrag http://ww3.cad.de/foren/ubb/Forum145/HTML/000819.shtml

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

Udo Hübner
----------
1. Sind Sie im Zweifel, murmeln Sie.
2. Sind Sie in Schwierigkeiten, delegieren Sie.
3. Sind Sie verantwortlich, denken Sie nach.

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 18. Dez. 2004 00:00    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 BBlackBird 10 Unities + Antwort hilfreich

Das kann ich mal wieder so nicht stehen lassen:

> Wenn ich z.B.mit "entget" von einer Linie den Start und Endpunkt
> abfrage und die Koordinaten der Linie über 35000 liegen bekomme ich
> max 1 Nachkommastelle

Das ist falsch! Die Anzahl der signifikanten Stellen des Datentyps Double ist > 14. Du bekommst immer die volle Genauigkeit einer doppelt genauen Fließkommazahl (deswegen heißt der Double nämlich Double). Bei 5 Stellen vor dem Komma hast du also noch mindestens 9 hinter dem Komma.

> entget bringt unformatierte Zahlen mit 8 Ziffern
Quatsch. Einzelheiten siehe oben.

Dein Problem, Herr/Frau Namenlos bzw. Stotternder Schwarzer Vogel, ist die Lisp-Bildschirmausgabe, also die Anzeige-Genauigkeit. Die wird von Systemvariablen beeinflußt und ist tatsächlich auf max. 8 Stellen hinterm Komma begrenzt - aber das hat keinerlei Einfluß auf die interne Rechengenauigkeit!

Wirf mal die Suche an mit Stichwörtern wie rtos, double usw., und du wirst einige interessante Threads dazu finden, nicht nur hier in diesem Forum.

Gruß, Axel Strube-Zettler


------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

[Diese Nachricht wurde von mapcar am 18. Dez. 2004 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: 18. Dez. 2004 10: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 BBlackBird 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von mapcar:
Das kann ich mal wieder so nicht stehen lassen:
...
> entget bringt unformatierte Zahlen mit 8 Ziffern : mein (Udos) Text
Quatsch. Einzelheiten siehe oben.
...
Dein Problem, ... ist die Lisp-Bildschirmausgabe, also die Anzeige-Genauigkeit. Die wird von Systemvariablen beeinflußt und ist tatsächlich auf max. 8 Stellen hinterm Komma begrenzt - aber das hat keinerlei Einfluß auf die interne Rechengenauigkeit!
...
Gruß, Axel Strube-Zettler

Zu meiner Ehrenrettung:
Ja, das war missverständlich formuliert und die Angabe von 8 Ziffern war falsch. Aber ich hatte ja auch auf einen anderen Beitrag verwiesen, da habe ich es so formuliert: http://ww3.cad.de/foren/ubb/Forum145/HTML/000819.shtml#000003

Zitat:
Original erstellt von CAD-Huebner:
... AutoCAD rechnet intern mit 16 signifikanten Stellen.
Die unformatierte Lispausgabe zeigt die Werte allerdings nur mit 7 Ziffern an.
...



<---
@Axel
Ein Einfluss von Systemvariablen auf die Anzeige unformatierter Lispausdrücke konnte ich nicht nachvollziehen. Ebenso konnte ich die Angabe von 8 Nachkommastellen nicht nachvollziehen (maximal 5 bei Zahlen >1 und 9 bei Zahlen < 1 sind erreichbar), da hast du dann wohl meine erste Falschangabe übernommen.
--->
Hier noch mal zur unformatierten Anzeige eines Lisp-Ausdruckes auf der Visual-Lisp-Konsole oder der Befehlszeile:
Es werden max. 6 signifikante Ziffern angezeigt und ein Dezimaltrennzeichen (der Punkt). Zahlen größer gleich 1000000.0 und Zahlen kleiner 0.0001 werden in Exponentialschreibweise dargestellt.
Befehl: (PROGN 0.12345678)
0.123457
Befehl: (PROGN 0.00012345678)
0.000123457 hier sind nur 6 Ziffern signifikant aber 9 Nachkommastellen!
Befehl: (PROGN 123.0)
123.0
Befehl: (PROGN 123.01)
123.01
Befehl: (PROGN 123.012)
123.012
Befehl: (PROGN 123.0123)
123.012
Befehl: (PROGN 123.01234)
123.012
Befehl: (PROGN 123012.3)
123012.0     auch hier sind nur 6 Ziffern signifikant!
Befehl: (PROGN 123012.7)
123013.0
Befehl: (PROGN 1230123.4)
1.23012e+006
Befehl: (PROGN 0.0000091)
9.1e-006

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

Udo Hübner

[Diese Nachricht wurde von CAD-Huebner am 18. Dez. 2004 editiert.]

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 19. Dez. 2004 19:25    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 BBlackBird 10 Unities + Antwort hilfreich

Richtig, Udo,

ich habe da Lisp-Rückgabe und AutoCAD-Bildschirmausgabe durcheinandergebracht - also z.B. die Ausgabe im Liste-Befehl. Da wird die Anzahl der Stellen hinter dem Komma von LUPREC / AUPREC gesteuert und geht bis max. 8 einstellbaren. Die Ausgabe von Lisp-Zahlenwerten geht ihre eigenen Wege, wie du gezeigt hast.

Ach ja, das progn braucht man da nicht: !0.00001 => 1.0e-005

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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