Message 1 of 30
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
HOW TO SEPARATE OBJECTS IN LINE TYPE AND ARC TYPE OBJECTS ..... AND AT THE END INFORM A HEIGHT TO ADD THE TEXT WITH THE LINEAR DIMENSION ON THE LINES AND ON THE OBJECTS ARCHED WITH THE LENGTH AND THE RAY.
THANK YOU FOR HELP !!!
THANK YOU FOR HELP !!!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;********************Soma comprimento********************** ;********************************************************** (defun c:ADD (/ ang1 ang2 comp ctd ent old-error-sl pt1 pt2 rad raio sel sname soma ss tipo) (setvar "cmdecho" 0) (defun @Error_sl (msg) (command "._regen") (setq *error* old-error) (print "*Comando cancelado*") (setvar "cmdecho" 1) (princ) ) (defun @selecao () (print "ADD LINHAS") (setq ss (ssget)) (if ss (progn (setq ctd 0) (repeat (sslength ss) (setq sname (ssname ss ctd)) (setq ent (entget sname)) (setq tipo (cdr (assoc 0 (entget (ssname ss ctd))))) (@soma) (setq ctd (1+ ctd)) ) ) (alert "Nenhuma OBJ selecionada !!!") ) ) (defun @individual () (while (setq ss (entsel (strcat "\nADD LINHAS :"))) (if ss (progn (setq sname (car ss)) (setq ent (entget (car ss))) (setq tipo (cdr (assoc 0 ent))) (redraw sname 3) (@soma) ) ) ) ) (defun @soma1 () (cond ((or (= tipo "PLINE") (= tipo "LWPOLYLINE") ) (progn (command "area" "o" sname) (setq soma (+ soma (getvar "perimeter"))) ) ) ((= tipo "LINE") (setq pt1 (cdr (assoc 10 ent))) (setq pt2 (cdr (assoc 11 ent))) (setq soma (+ soma (distance pt1 pt2))) ) ) ) (defun @soma2 () (cond ((or (= tipo "CIRCLE") (= tipo "SPLINE") (= tipo "ELLIPSE") ) (progn (command "area" "o" sname) (setq soma (+ soma (getvar "perimeter"))) ) ) ((= tipo "ARC") (setq raio (cdr (assoc 40 ent))) (setq ang1 (cdr (assoc 50 ent))) (setq ang2 (cdr (assoc 51 ent))) (if (< ang1 ang2) (setq rad (- ang2 ang1)) (setq rad (+ (* 2 PI) (- ang2 ang1))) ) (setq comp (* raio rad)) (setq soma (+ soma comp)) ) ) ) (setq old-error-sl *error*) (setq *error* @Error_sl) (setq soma 0) (if (not old-sel) (progn (initget "S I") (setq sel (getkword "\nTipo de seleção (Seleção / Individual) : ")) (if (not sel) (progn (setq sel "S") (setq old-sel "S") ) (setq old-sel sel) ) ) (progn (initget "S I") (setq sel (getkword (strcat "\nTipo de seleção (Seleção / Individual) <" old-sel ">: "))) (if (not sel) (setq sel old-sel) (setq old-sel sel) ) ) ) (cond ((= sel "S")(@selecao)) ((= sel "I") (progn (@individual) (command "._regen") ) ) ) (if soma (progn (alert (strcat "Distância acumulada: " (rtos soma 2 4))) (print (strcat "Distância acumulada: " (rtos soma 2 4))) ) ) (setvar "cmdecho" 1) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (PRINC)
Edited by
Discussion_Admin
Solved! Go to Solution.