asd19400 发表于 2014-10-21 19:46:56

批量数字范围变色

本帖最后由 asd19400 于 2014-10-22 01:46 编辑

直接上图,对话框设置大概如下图思路,至少做5组可以选择的范围,如果能做猫老师的那种动态对话框肯定是最好的。最好能判断下错误,实在不行,将就用用了~,
下面这段代码是以前收集的,不过只能一个一个的操作,比较麻烦(defun c:FB ( / a1 k1 k2 k3 ss)
   (vL-Load-com)
   (setq ss (ssget '((0 . "text"))))
   (setq K1 (getreal "\n 下限<200>:"))
   (if (null K1) (setq K1 200))
   (setq K2 (getreal "\n 上限<300>:"))
   (if (null K2) (setq K2 300))
    (setq K3 (getreal "\n 输入颜色代号<1>:"))
   (if (null K3) (setq K3 1))

(foreach x (ss->list ss)
(setq a1 (atof (Vlax-Get (Vlax-Ename->Vla-Object x) 'TextString )))
    (IF(< k1 a1 k2) (ch_dxfx 62 (FIX K3))))
(princ)
)
   
(defun ss->list (ss / i lst)
(setq i -1)
(repeat (sslength ss)
    (setq lst (append
                lst
                (list (ssname ss (setq i (1+ i))))
            )
    )
)
)
   
(defun ch_dxf(en num ch / old_num new_num ent)
    (if(setq ent   (entget en)
      new_num (cons num ch)
      old_num (assoc num ent)
)
      (entmod (subst new_num old_num ent))
      (entmod (reverse (cons new_num (reverse ent))))
    ))

xyp1964 发表于 2014-10-21 19:46:57

;; 区域自定义


菡萏 发表于 2014-10-21 20:43:20

用OpenDcl来做这个对话框很容易!

asd19400 发表于 2014-10-30 14:54:09

菡萏 发表于 2014-10-21 20:43 static/image/common/back.gif
用OpenDcl来做这个对话框很容易!

希望出手搞下

asd19400 发表于 2014-11-5 13:21:33

xyp1964 发表于 2014-10-30 21:38 static/image/common/back.gif
;; 区域自定义

1~7应该是一个颜色,这个地方是不是有点问题,另外最好能自定义颜色,颜色太浅了 看起来挺折腾的

doro 发表于 2014-11-5 17:45:09

xyp1964 发表于 2014-10-30 21:38 static/image/common/back.gif
;; 区域自定义

哪里可以下到院长的新函数库

linsenwd 发表于 2022-10-15 20:01:45

xyp1964 发表于 2014-10-21 19:46
;; 区域自定义

大神你好
你写的程序 tt(批量数字范围变色).LSP
输入显示
; 错误: no function definition: XYP-CMDLA0
页: [1]
查看完整版本: 批量数字范围变色