(defun c:CCS ( / mn mx peditaccept plinecnt pntnX pntxX ss)
(vl-load-com)
(command "-layer" "on" "Defpoints" "thaw" "Defpoints" "")
(if
(setq ss (ssget "_X" '((0 . "Arc,Line,lwpolyline")
(8 . "S-COLS,A-WALL-SHEL-EXST"))))
(progn
(setq peditaccept (getvar 'peditaccept))
(setvar 'peditaccept 1)
(setvar 'peditaccept peditaccept)
)
)
(setq plinecnt 0)
(if (setq ss (ssget "_X" '((0 . "LWPOLYLINE")(8 . "S-COLS,A-WALL-SHEL-EXST"))))
(repeat (sslength ss)
(vla-getboundingbox (vlax-ename->vla-object (ssname ss plinecnt)) 'mn 'mx)
(setq mn (vlax-safearray->list mn))
(setq mx (vlax-safearray->list mx))
(setq pntnX (nth 0 mn)) (setq pntnY (nth 1 mn))
(setq pntxX (nth 0 mx)) (setq pntxY (nth 1 mx))
(setq dvx (- pntxX pntnX));added
(setq dvy (- pntxY pntnY));added
(scheck);added
; (InsText (strcat "Size" " = "(rtos (- pntxX pntnX) 4 16) " x " (rtos (- pntxY pntnY) 4 16)) (list pntxX pntnY 0.0));original code
(InsText (strcat "Size" " = "(rtos (- pntxX pntnX) 4 16) " x " (rtos (- pntxY pntnY) 4 16) " - " dvSize) (list pntxX pntnY 0.0));modified
(setq plinecnt (1+ plinecnt))
)
)
);end defun
(defun InsText ( BlkName pt / )
(entmakex
(list
(cons 0 "TEXT")
(cons 8 "Defpoints")
(cons 1 BlkName)
(cons 10 Pt)
(cons 40 5)
(cons 41 0.8)
)
)
);end defun
(defun scheck ()
(if
(and (= dvx 4.0) (= dvy 4.125)
)
(setq dvSize "W4x13")
(setq dvSize "nil")
)
(if
(and (= dvx 5.0) (= dvy 5.0)
)
(setq dvSize "W5x16")
(setq dvSize "nil")
)
(if
(and (= dvx 5.0) (= dvy 5.125)
)
(setq dvSize "W5x18.5")
(setq dvSize "nil")
)
(if
(and (= dvx 5.0) (= dvy 5.125)
)
(setq dvSize "W5x19")
(setq dvSize "nil")
)
(if
(and (= dvx 4.0) (= dvy 5.875)
)
(setq dvSize "W6x9")
(setq dvSize "nil")
)
)
Use cond function. Or you can use associated lists - I think it will be more functionality.
Should i write code sample?
Like THIS (http://www.theswamp.org/index.php?topic=48847.msg539666#msg539666) ? :)QuoteUse cond function. Or you can use associated lists - I think it will be more functionality.
Should i write code sample?
A code sample would be great if possible.