Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Anzahl der Nachkommastellen

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:  Anzahl der Nachkommastellen (1606 mal gelesen)
smb
Mitglied



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

Beiträge: 1176
Registriert: 02.08.2001

zu viele

erstellt am: 24. Okt. 2008 11: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

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


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 24. Okt. 2008 11: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 smb 10 Unities + Antwort hilfreich

hi,
rtos...

aus der hilfe:
Command: (setq x 17.5)

17.5

Convert the value of x to a string in decimal format, with 2 decimal places:

Command: (setq fmtval (rtos x 2 2))

"17.50"

mfg heiko

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 24. Okt. 2008 11: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 smb 10 Unities + Antwort hilfreich

Hi,

Schau mal hier.

Gruß, Carsten

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

smb
Mitglied



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

Beiträge: 1176
Registriert: 02.08.2001

zu viele

erstellt am: 24. Okt. 2008 15:31    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! 

------------------
m.f.G.

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

Bricscad V7 - V11

erstellt am: 27. Okt. 2008 12:37    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 smb 10 Unities + Antwort hilfreich

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


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 27. Okt. 2008 15: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 smb 10 Unities + Antwort hilfreich

 
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


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

Beiträge: 422
Registriert: 17.12.2001

Bricscad V7 - V11

erstellt am: 28. Okt. 2008 07: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 smb 10 Unities + Antwort hilfreich

Oh, das war mir noch nicht aufgefallen. Aber man lernt nie aus. Das macht den Code wieder etwas einfacher.

Danke für die Info.

Stefan

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