| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Anzahl der Nachkommastellen (1606 mal gelesen)
|
smb Mitglied
Beiträge: 1176 Registriert: 02.08.2001 zu viele
|
erstellt am: 24. Okt. 2008 11:27 <-- editieren / zitieren --> Unities abgeben:
Hallo, wenn ich nachstehende Routine ausführe, bekomme ich meine Koordinaten mit zwei Nachkommastellen, welchen Wert muss ich ändern um sieben Nachkommastellen zu erhalten? Code: (defun c ktkoo (/ pkt txtstil txthoeh abstX abstY txtlayr linlayr machline) ;;;Variable Werte (setq txtstil "Standard" txtlayr "0" txthoeh 20 abstX 20 abstY 20 linlayr "0" machline nil; T oder nil -- T->Linie wird gezeichnet ) ;;; (while (setq pkt (getpoint "\nPunkt:")) (entmake (list '(0 . "TEXT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (cons 8 txtlayr) '(100 . "AcDbText") (cons 10 (list (+ (car pkt) abstX) (+ (cadr pkt) abstY) (caddr pkt))) (cons 40 txthoeh) (cons 1 (strcat (rtos (car pkt) 2 2) "-" (rtos (cadr pkt) 2 2) "-" (rtos (caddr pkt) 2 2))) '(50 . 0.0) '(41 . 1.0) '(51 . 0.0) (cons 7 txtstil) '(71 . 0) '(72 . 0) '(11 0.0 0.0 0.0) '(210 0.0 0.0 1.0) '(100 . "AcDbText") '(73 . 0) ) ) (if machline (entmake (list '(0 . "LINE") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (cons 8 linlayr) '(100 . "AcDbLine") (cons 10 pkt) (cons 11 (list (+ (car pkt) abstX) (+ (cadr pkt) abstY) (caddr pkt))) '(210 0.0 0.0 1.0) ) ) ) ) )
------------------ m.f.G. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 24. Okt. 2008 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für smb
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 24. Okt. 2008 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für smb
|
smb Mitglied
Beiträge: 1176 Registriert: 02.08.2001 zu viele
|
erstellt am: 24. Okt. 2008 15:31 <-- editieren / zitieren --> Unities abgeben:
|
s.wickel Mitglied Bauingenieur Wasserwirtschaft
Beiträge: 422 Registriert: 17.12.2001 Bricscad V7 - V11
|
erstellt am: 27. Okt. 2008 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für smb
Hallo! Ich verwende gerne den Code: Code: (rtos (cadr pkt) 2 (getvar "LUPREC"))
Dann richtet sich die Ausgabe nach der Einstellung in Autocad. Die Zahl der Nachkommastellen entsprichte dann der Anzahl, die man bei allen ACAD-Befehlen bekommt, die eine Zahl zurückgeben (Länge, Fläche etc.) Gruß, Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 27. Okt. 2008 15:02 <-- editieren / zitieren --> Unities abgeben: Nur für smb
Zitat: Original erstellt von s.wickel: Hallo!Ich verwende gerne den Code: Code: (rtos (cadr pkt) 2 (getvar "LUPREC"))
Dann richtet sich die Ausgabe nach der Einstellung in Autocad. Die Zahl der Nachkommastellen entsprichte dann der Anzahl, die man bei allen ACAD-Befehlen bekommt, die eine Zahl zurückgeben (Länge, Fläche etc.) Gruß, Stefan
Stimmt so nicht ganz. Wenn in DIMZIN das BIT8 (eigentlich das 4. Bit) gesetzt ist, werden nachfolgende Nullen unterdrückt. RTOS übernimmt sowieso immer bei fehlender Angabe die Einstellung LUPREC, also kannst Du es Dir ersparen. DIMZIN = 8 LUPREC = 4 (RTOS 15.5 2) -> "15.5" (RTOS 15.5 2 7) -> "15.5" DIMZIN = 0 LUPREC = 4 (RTOS 15.5 2) -> "15.5000" (RTOS 15.5 2 7) -> "15.5000000" [Diese Nachricht wurde von fuchsi am 27. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
s.wickel Mitglied Bauingenieur Wasserwirtschaft
Beiträge: 422 Registriert: 17.12.2001 Bricscad V7 - V11
|
erstellt am: 28. Okt. 2008 07:43 <-- editieren / zitieren --> Unities abgeben: Nur für smb
|