magicheno 发表于 2020-3-6 15:17:22

mikewolf2k 发表于 2020-3-6 14:05
给排水的管道相对简单,我说的是工艺管道的。

工艺的用不到呢,我就用用给排水的

magicheno 发表于 2020-3-6 15:17:58

1291500406 发表于 2020-3-4 14:17
(defun c:bb( / textlist bbobj bbpt pt1 pt2 midpt bbangle string)(vl-load-com)
(set 'textlist(list " ...简化了下,效果还不错
(defun c:jn( / textlist bbobj bbpt pt1 pt2 midpt bbangle string)(vl-load-com)
(set 'textlist(list "dn50" "dn75" "dn110""dn160" "dn200" "dn315" "dn400" "dn500" "dn600" "dn700" "dn800" "dn900" "dn1000" "DN15" "DN25""DN32" "DN40" "DN50" "DN70" "DN80" "DN100" "DN150" "DN200" "DN250" "DN300" "De50" "De75" "De110""De160" "De200" "De315" "De400" "De500" "De600" "De700" "De800" "De900" "De1000"))
(while(not(vl-catch-all-apply 'vla-getentity(list(vla-get-utility(vla-get-activedocument(vlax-get-acad-object)))'bbobj'bbpt"\n请选择文字")))
(if(=(vla-get-ObjectNamebbobj)"AcDbText")(progn(vla-GetBoundingBox bbobj 'pt1 'pt2)
(set ' midpt(mapcar(function(lambda (x y)(* (+ x y)0.5)))(vlax-safearray->list pt1)(vlax-safearray->list pt2)))
(if (wcmatch (vla-get-TextString bbobj) "De*,DN*,dn*")(progn(set 'bbangle(*(/(angle midpt (vlax-safearray->list bbpt))pi)180.0))
(if (and(>bbangle 90.0)(< bbangle 270.0))
(if(set 'string(cadr(member(vla-get-TextString bbobj)(reverse textlist))))(vla-put-TextString bbobj string ))
(if(set 'string(cadr(member(vla-get-TextString bbobj)textlist)))(vla-put-TextString bbobj string ))
))))))
(vl-catch-all-apply 'vlax-release-object (list bbobj))
(princ))
页: 1 [2]
查看完整版本: 如何通过自定义固定数量的递增变换功能