【求助】平行多段线对角连线
本帖最后由 daidong013 于 2012-6-30 10:23 编辑高手们看看这个工具怎么实现?最好可以点选和批量框选
!
已经很好了 本帖最后由 sen.sam 于 2012-6-30 10:37 编辑
如果一条多段线是从另一条偏距出来的应该还是挺简单的,依次取出多段线的顶点连线就行了 本帖最后由 daidong013 于 2012-6-30 10:46 编辑
sen.sam 发表于 2012-6-30 10:36 http://bbs.mjtd.com/static/image/common/back.gif
如果一条多段线是从另一条偏距出来的应该还是挺简单的
多谢!多段线都是偏距出来的!高手可以整个出来吗?!~ 抛砖引玉,写个简单的,期待高手写个可以框选的。(defun c:tt(/ ent1 ent2ptlist1ptlist2 lnum num)
(setq ent1(entget (car (entsel"\n选取第一条线:"))))
(setq ent2(entget (car (entsel"\n选取第二条线:"))))
(mapcar '(lambda(X)
(if (= 10 (car x))
(setq ptlist1 (cons (cdr x) ptlist1))
)
)
ent1
)
(mapcar '(lambda(X)
(if (= 10 (car x))(setq ptlist2 (cons (cdr x) ptlist2)))
)
ent2
)
(setq lnum(length ptlist1) num 0)
(repeat lnum
(command "line" (nth num (reverse ptlist1)) (nth num(reverse ptlist2)) "")
(setq num( + num 1))
)
(princ)
) sen.sam 发表于 2012-6-30 11:57 static/image/common/back.gif
抛砖引玉,写个简单的,期待高手写个可以框选的。
多谢多谢!~~基本复合要求了!
期待高手们可以写个框选的!~~ 干嘛不在画这些多段线时就让程序来实现呢. 干嘛不在画这些多段线时就让程序来实现呢. (LOAD "C:/Users/Administrator/Desktop/连线.lsp")
语法错误
(defun c:tt(/ ent1 ent2 ptlist1 ptlist2 x y)
(setq ent1 (entget (car (entsel "\n选取第一条线: "))))
(setq ent2 (entget (car (entsel "\n选取第二条线: "))))
(foreach x ent1 (if (= 10 (car x)) (setq ptlist1 (cons (cdr x) ptlist1))))
(foreach x ent2 (if (= 10 (car x)) (setq ptlist2 (cons (cdr x) ptlist2))))
(mapcar
'(lambda (x y) (entmake (list '(0 . "LINE") (cons 10 x) (cons 11 y))))
ptlist1
ptlist2
)
(princ)
)
ZZXXQQ 发表于 2012-7-1 07:00 static/image/common/back.gif
ZZXXQQ版主可以改个可以批量框选的吗?!~~期待
页:
[1]
2