Servus Beisammen,
bin etwas unerfahren wie alle am Anfang und möchte gerne ein kleines Lisp-Programm verwenden.
Verändert habe ich dieses:
(defun c:ADD ( / Z1 Z2 OBJEKT OBJEKTDATEN )
(if (setq Z1(getreal "\nZahl eingeben: "))
(while (setq OBJEKT (car(entsel "\nText wählen : ")))
(setq OBJEKTDATEN(entget OBJEKT '("*")))
(if (member(cdr(assoc 0 OBJEKTDATEN)) '("TEXT" "MTEXT"))
(progn
(setq Z2 (atof (cdr(assoc 1 OBJEKTDATEN))))
(setq OBJEKTDATEN (subst(cons 1 (rtos (+ Z1 Z2) 2 2))
(assoc 1 OBJEKTDATEN)
OBJEKTDATEN
)
)
(entmod OBJEKTDATEN)
(command "_regen")
)
)
)
)
)
(hat super funktioniert...)
zu diesem:
(defun c:ADD ( / Z1 Z2 Z3 OBJEKT OBJEKTDATEN )
(if (setq Z1(getreal "\nZahl eingeben: "))
(while (setq OBJEKT (car(entsel "\nText wählen : ")))
(setq OBJEKTDATEN(entget OBJEKT '("*")))
(if (member(cdr(assoc 0 OBJEKTDATEN)) '("TEXT" "MTEXT"))
(progn
(setq Z3 (atof (cdr(assoc 1 OBJEKTDATEN))))
(setq OBJEKTDATEN (subst(cons 1 (rtos (+ Z1 Z2 Z3) 3 3 3))
(assoc 1 OBJEKTDATEN)
OBJEKTDATEN
)
)
(entmod OBJEKTDATEN)
(command "_regen")
)
)
)
)
)
in der Hoffnung, dass es nach der Addition nicht mehr auf 2 Stellen sondern auf 3 Stellen nach dem Komma aufrunden täte. Tut´s aber nicht....
Wer kennt Rat?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP