(defun c:CSV () (if (= ht nil)(setq ht 1)) (if (= scala nil)(setq scala(getreal "\n....... Scala scritte 1:"))) (if (= Hstanze nil)(setq Hstanze(getreal "\n....... Altezza delle stanze: "))) (setq hs(* 0.0015 scala)) (setq p "") (setq p(getpoint "\n....... Seleziona il punto all'interno della stanza: ")) (if (/= p nil)(progn (setvar "cmdecho" 0) (setq cpltype(getvar "PLINETYPE")) (setq clay(getvar "clayer")) (setvar "PLINETYPE" 1) (command "_layer" "_m" "aree_nuove" "") (command "_bpoly" "_a" "_b" "_e" "_o" "_p" "_x" p "") (setq poli(entlast)) (setq polix(entget poli)) (if (= (cdr(assoc 0 polix)) "LWPOLYLINE")(progn (command "_area" "_o" poli) (setq Area(getvar "Area")) (setq Perimetro(getvar "Perimeter")) (command "_layer" "_m" "aree_scritte" "") (command "_text" "_c" p hs "0" (strcat "Sp=" (rtos area 2 1) " m²") \r) (setq Volume(* Hstanze Area)) (command "_text" "_c" (polar p (* 1.5 pi) (* hs 1.5)) hs "0" (strcat "V=" (rtos Volume 2 1) " m³") \r) (setq Stot(+ Area Area (* Perimetro Hstanze))) (command "_text" "_c" (polar p (* 1.5 pi) (* hs 3)) hs "0" (strcat "Stot=" (rtos Stot 2 1) " m²") \r) )) (setvar "clayer" clay) (setvar "PLINETYPE" cpltype) )) (princ) ) (defun c:CS () (if (= ht nil)(setq ht 1)) (if (= scala nil)(setq scala(getreal "\n....... Scala scritte 1:"))) (setq hs(* 0.0015 scala)) (setq p "") (setq p(getpoint "\n....... Seleziona il punto all'interno dell'area: ")) (if (/= p nil)(progn (setvar "cmdecho" 0) (setq cpltype(getvar "PLINETYPE")) (setq clay(getvar "clayer")) (setvar "PLINETYPE" 1) (command "_layer" "_m" "aree_nuove" "") (command "_bpoly" "_a" "_b" "_e" "_o" "_p" "_x" p "") (setq poli(entlast)) (setq polix(entget poli)) (if (= (cdr(assoc 0 polix)) "LWPOLYLINE")(progn (command "_area" "_o" poli) (setq Area(getvar "Area")) (setq Perimetro(getvar "Perimeter")) (command "_layer" "_m" "aree_scritte" "") (command "_text" "_c" p hs "0" (strcat "S=" (rtos area 2 2)) \r) (command "_text" "_c" (polar p (* 1.5 pi) (* hs 1.5)) hs "0" (strcat "P=" (rtos Perimetro 2 2)) \r) )) (setvar "clayer" clay) (setvar "PLINETYPE" cpltype) )) (princ) ) (princ "\n") (princ "\ndigitare CS per scrivere superficie e perimetro") (princ "\ndigitare CSV per scrivere superficie e volume") (princ)