![]() |
有一组数据批量复制平行线
有一组数据批量复制平行线
www.dimcax.com 有一组数据批量复制平行线 我想要这样的效果。线段ab,以a为基点,导入n个数据,向下复制n条平行线。 图片: 用下面的程序可拷贝任意多的平行线. (defun gbg3 ( / b1 n i1 k k1 bb1 d c1 c2 ) (setq c3 0 a1 nil a2 nil a3 nil a4 nil a5 nil a6 nil a7 nil a8 nil a9 nil a10 nil b1 nil c1 nil b1 (substr a (strlen a) 1)) (if (= b1 ",")(setq x (+ (strlen a) 1))(setq a (strcat a ",") x (+ (strlen a) 1))) (setq i1 1 k "a" i 1 k1 1) (repeat x (setq bb1 (substr a i1 1)) (if (= bb1 ",") (repeat 1 (setq d (read (strcat k (itoa i)))) (setq c1 (substr a k1 (- i1 k1)) k1 (+ i1 1)) (if (and (= c1 "")(= i 1))(setq c1 "0")) (setq c2 'd c2 c1) (set d c1) (setq i (+ i 1) i1 (+ i1 1)) ) (setq i1 (+ i1 1)) ) ) (setq lii (- i 1)) (setq k nil) ) (defun c:cpp () (setq os (getvar "osmode")) (setvar "osmode" 39) (prompt "选择要拷贝的线段:") (setq en (car (entsel))) (setq en1 (entget en) p1 (cdr (assoc 10 en1)) p2 (cdr (assoc 11 en1)) an (angle p1 p2) an1 (+ an (* pi 0.5))) (setvar "osmode" 0) (prompt "输入线段间的距离后面的线相对前面的线的距离,数字间用逗号隔") (setq a (getstring)) (gbg3) (command "copy" en """m"p1) (setq ii 1 b 0) (repeat lii (setq d (eval(read (strcat "a" (itoa ii)))) dd (read d)) (setq b (+ b dd) p3 (polar p1 an1 b)) (command p3) (setq ii (+ ii 1)) ) (command "") ) gbg 谢谢啊。您是一个高手啊。就是我的数据怎么导入到cad中。先运行宏,再怎么导入数据呢。 是用什么编的呢,导到vb还是lisp,vba还是什么地方啊,麻烦您讲一下。 小问题,我知道 菜单" (工具)___(加载引用程序)___(启动组) 那是用lisp编的 |
| 所有的时间均为北京时间。 现在的时间是 08:08 PM. |