请问那位朋友会做两相交线交点刷到中心点上
本帖最后由 Gu_xl 于 2013-6-14 22:27 编辑在旧图纸上很多中心线的交线 不在中心点上 要移到中心点 很是烦复易错 那个朋友可出手帮个忙
要求原图上中心线长度不变 主要是刷两交线 将此两线的中点放回到 相交的中间(交点是原来的 不能变)
两条线实现移到(原来的交点)做中心 平行线哪来的交点?文不对题! 哦 是相交线 标题改不了了 刷相交线 到中心 求帮助 这应该很简单的 等待 好心的朋友出手帮忙 (defun C:tt ( / ang1 ang2 dis1 dis2 ent1 ent2 int p1 p2 pp1 pp2 ss t1 t2 tt1 tt2)
(princ "选择两根直线")
(if (and
(setq ss (ssget(List (cons 0 "line"))))
(= 2 (sslength ss))
)
(progn
(setq ent1 (entget (ssname ss 0))
ent2 (entget (ssname ss 1))
t1 (cdr (assoc 10 ent1))
t2 (cdr (assoc 11 ent1))
p1 (cdr (assoc 10 ent2))
p2 (cdr (assoc 11 ent2))
int (inters t1 t2 p1 p2 )
ang1 (angle t1 t2)
ang2 (angle p1 p2)
dis1 (/ (distance t1 t2) 2.)
dis2 (/ (distance p1 p2) 2.)
tt1(polar int ang1 dis1)
tt2(polar int ang1 (* -1 dis1))
pp1(polar int ang2 dis2)
pp2(polar int ang2 (* -1 dis2))
)
(setq ent1 (subst (cons 10 tt1)(assoc 10 ent1) ent1))
(entmod (subst (cons 11 tt2)(assoc 11 ent1) ent1))
(setq ent2 (subst (cons 10 pp1)(assoc 10 ent2) ent2))
(entmod (subst (cons 11 pp2)(assoc 11 ent2) ent2))
)
)
(princ)
) 效果完美 再一次得到帮助 努力学习 谢谢
页:
[1]