lzg8877 发表于 2013-6-14 20:57:20

请问那位朋友会做两相交线交点刷到中心点上

本帖最后由 Gu_xl 于 2013-6-14 22:27 编辑

  在旧图纸上很多中心线的交线 不在中心点上 要移到中心点 很是烦复易错 那个朋友可出手帮个忙 
  
 要求原图上中心线长度不变 主要是刷两交线 将此两线的中点放回到 相交的中间(交点是原来的 不能变)
 
  
两条线实现移到(原来的交点)做中心

七七0707 发表于 2013-6-14 21:22:25

平行线哪来的交点?文不对题!

lzg8877 发表于 2013-6-14 22:23:38

哦 是相交线 标题改不了了

lzg8877 发表于 2013-6-15 16:26:12

刷相交线 到中心 求帮助

nzl1116 发表于 2013-6-15 16:33:54

这应该很简单的

lzg8877 发表于 2013-6-15 21:17:03

等待 好心的朋友出手帮忙

cable2004 发表于 2013-6-15 22:56:13

(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)
)

lzg8877 发表于 2013-6-16 05:51:21

效果完美 再一次得到帮助 努力学习 谢谢
页: [1]
查看完整版本: 请问那位朋友会做两相交线交点刷到中心点上