本帖最后由 菜卷鱼 于 2013-12-26 09:08 编辑
自己编了一个标公差的东西,假如用nentsel提取群码再修改,要regen之后才能显示修改后的值 荣entsel提取群码在修改,虽然能实时更新,但是提取的值不是准确值,比如说标注的尺寸是48.0, 用nentsel提取群码,用下面的程序加公差,要regen一次才能显示出修改后的效果,并且双击一下尺寸它又变回来了, 假如用entsel提取群码,标准的尺寸值提取出来是“<>”,而不是48.0,虽然能实时更新尺寸,但是程序里面的if对它来说 没有限制,标注的公差不一定正确
求高人指教啊!!
(defun c:gc() (setq en (nentsel "\n 选择对象:" )) (setq ens (entget (car en ))) (setq s0 (assoc 0 ens)) (setq s0a (cdr s0)) (setq s1 (assoc 1 ens )) (setq s1a (cdr s1)) (setq s2 (assoc 2 ens )) (setq s2a (cdr s2)) (setq s3 (assoc 3 ens )) (setq s3a (cdr s3)) (if (and (>= s1a 30)(< s10 200)) (setq dx "%%p0.15") (if (and (>= s1a 200)(< s10 500)) (setq dx "%%p0.2") (if (and (>= s1a 500)(< s10 1000)) (setq dx "%%p0.3") (if (and (>= s1a 1000)(< s10 1500)) (setq dx "%%p0.5") (if (and (>= s1a 1000)(< s10 1500)) (setq dx "%%p1")))))) (setq ns1a (strcat s1a dx)) (setq ns1 (cons 1 ns1a)) (setq ens (subst ns1 s1a)) (entmod ens) (prin1) )
该贴已经同步到 菜卷鱼的微博 |