在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
从听说autolisp到现在已经20年了, 学了一点点, 可惜中间没能坚持下来, 放弃了!
今天在画图, 图纸是从revit转成dwg的, 其中有些文本的朝向是错误的, 如果手工旋转很是费事, 于是想写个小程序来完成, 可惜很久没有启动Visual Studio了, 况且使用的autocad版本为2008, 之前没有针对这个版本配置过, 于是放弃了编写.net程序的想法, 想使用visuallisp来实现! 东西都忘光了, 好在知道怎么查帮助, 总算写出来了, 写程序的时间估计跟手工旋转哪些文本的时间差不多, 不过我实在是懒, 不想干简单重复的事。
源码贴在这里: (defun c:qt () (setq ss (ssget '((0 . "MTEXT")(50 . 3.1415926535897))) l (sslength ss) i 0 ) (if (> l 0) (repeat l (progn (setq ent (ssname ss i)) (setq entd (entget ent)) (setq pt (cdr (assoc 10 entd)) w (cdr (assoc 42 entd)) h (cdr (assoc 40 entd)) ) (setq newpt (list (- (car pt) w) (+ (cadr pt) h) (caddr pt) ) ) (setq entd (subst (cons 10 newpt) (assoc 10 entd) entd ) ) (setq entd (subst '(50 . 0) (assoc 50 entd) entd ) ) (entmod entd) (setq i (+ 1 i)) ) ) )
) |
请发表评论