Hab ein Problem das die Lisp die ich die ganze Zeit in Autocad 2014 genutzt habe in Autocad 2015 nicht mehr funktioniert...
Wieso auch immer
Hier mal den Code:
(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)
)
(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)
(DT:ROUND2 WERT 0.25)
)
(cdr data)
)
)
data
)
)
ent_data
)
)
)
)
(defun c:rd ()
(command "_undo" "_be")
(koord_rnd
(ssget '((-4 . "<OR")
(0 . "LINE")
(0 . "LWPOLYLINE")
(0 . "INSERT")
(-4 . "OR>"))
)
(getint "Bestätigen um im Raster 0.25 der Scheitelpunkte zu runden ")
)
(command "_undo" "_e")
)
Befehlzeile sagt:
Objekte wählen:
Bestätigen um im Raster 0.25 der Scheitelpunkte zu runden
(-1 . <Objektname: 7ffffb96650> )
(0 . "LWPOLYLINE")
(330 . <Objektname: 7ffffb439f0> )
(5 . "50205")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "1_Möblierung-2")
(100 . "AcDbPolyline")
(90 . 4)
(70 . 1)
(43 . 0.0)
(38 . 0.0)
(39 . 0.0)
(10 4472.25 10197.5)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(10 4457.0 10168.5)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(10 4480.75 10156.3)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(10 4496.0 10185.3)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(210 0.0 0.0 1.0) _undo Aktuelle Einstellungen: Automatisch = Ein, Steuerung = Alle, Zusammenfügen = Ja, Layer = Ja
Anzahl der rückgängig zu machenden Operationen eingeben oder [Auto/Steuern/Beginn/Ende/Markierung/Rück] <1>: _e
Befehl: nil
Danke für die Hilfe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP