明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: magicheno

[提问] 如何通过自定义固定数量的递增变换功能

[复制链接]
 楼主| 发表于 2020-3-6 15:17 | 显示全部楼层
mikewolf2k 发表于 2020-3-6 14:05
给排水的管道相对简单,我说的是工艺管道的。

工艺的用不到呢,我就用用给排水的
 楼主| 发表于 2020-3-6 15:17 | 显示全部楼层
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-ObjectName  bbobj)"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))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-14 06:43 , Processed in 0.138813 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表