我想过滤800长度的线。但是用DISTANCE 水平。垂直线能过滤。长度相等的斜线不能过滤;用( equal b-x 800 0.000000000001)这个设置一点误差就行! - (defun c:tt ()
- (setq ssad (ssadd))
- (setq ss (ssget))
- (setq i 0)
- (repeat (sslength ss)
- (setq SSB-en (ssname ss i)
- i (1+ i)
- )
- (setq b-ent (entget SSB-en))
- (setq pt10 (cdr (assoc 10 b-ent)))
- (setq pt11 (cdr (assoc 11 b-ent)))
- (setq b-x (distance pt10 pt11))
- (if
- ;( = b-x 800 );不行
- ;( equal b-x 800 0.000000000001);行
- (progn
- (ssadd SSB-en ssad)
- (setq ent1 (ssname ssad 0))
- (command "chprop" ent1 "" "c" 1 "")
- ) ;progn
- );if
- );repeat
- (princ)
- )
|