(defun c:CEC () (setvar "cmdecho" 0) (if (not equi)(c:CEC-x)) (setq qt(getreal "\n....... Quota curva iniziale : ")) (setq P1(getpoint "\n....... Primo punto dell'intercetta:")) (setq P2(getpoint P1 "\n....... Secondo punto dell'intercetta:")) (setq GruppoPoly(ssget "_F" (list P1 P2) (list (cons -4 "")))) (setq i 0 Zpunto-new qt) (repeat (sslength GruppoPoly) (setq Polyx(entget(ssname GruppoPoly i))) (if (= (cdr(assoc 0 Polyx)) "POLYLINE") (progn (setq punto(cdr(assoc 10 Polyx))) (setq punto-new(list (car punto) (cadr punto) Zpunto-new)) (setq Polyx (subst (cons 10 punto-new) (assoc 10 Polyx) Polyx))(entmod Polyx) ) (progn(setq Polyx (subst (cons 38 Zpunto-new) (assoc 38 Polyx) Polyx))(entmod Polyx)) ) (setq Zpunto-new(+ Zpunto-new equi)) (setq i(1+ i)) ) (princ "\n Lavoro eseguito!")(princ) ) (defun c:CEC-x () (setq equi(getreal "\n....... Equidistanza : ")) (princ) ) (princ "\n Digitare CEC per lanciare il programma!") (princ "\n Digitare CEC-X per cambiare equidistanza!") (princ)