找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 638|回复: 1

[求助]:合并线段是不是只能用于正交UCS,

[复制链接]
发表于 2002-12-8 23:35:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在非正交坐标系里面合并的2个线段会消失
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2002-12-9 13:06:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
最初由 lzhksoft 发布
[B]在非正交坐标系里面合并的2个线段会消失 [/B]

\Lisp\Obj_curve.lsp 文件中,以下部分增加蓝色代码即可,下版工具箱更正。

  1. (defun c:Curve_JOIN (/ OBJ1 OBJ2 wmend2)
  2.   (defun wmend2 (e0 e1 / mm mma 2pi p1 p2 p3 p4 q1 q2 qa1 qa2 r a1 a2 d d1
  3.                     tfla tfs
  4.                 )
  5.     (if (not (equal (car e0) (car e1)))
  6.       (progn
  7.         (setq mm 0.1
  8.               mma -0.1
  9.               2pi (+ pi pi)
  10.         )
  11.         (xdrx_setenttodb (car e0))
  12.         (if (setq p1 (xdrx_getentdxf 10)
  13.                   tfla (= "LINE" (xdrx_getentdxf 0))
  14.             )
  15.           (setq p2 (xdrx_getentdxf 11))
  16.           (setq r (xdrx_getentdxf 40)
  17.                 a1 (xdrx_getentdxf 50)
  18.                 a2 (xdrx_getentdxf 51)
  19.           )
  20.         )
  21.         (xdrx_setenttodb (car e1))
  22.         (cond
  23.           ((and
  24.              tfla
  25.              (= "LINE" (xdrx_getentdxf 0))
  26.              (< (abs (xdrx_p2ldist (setq q1 (xdrx_getentdxf 10)
  27.                                          q2 (xdrx_getentdxf 11)
  28.                                    )
  29.                                    p1 p2
  30.                      )
  31.                 ) mm
  32.              )
  33.              (< (abs (xdrx_p2ldist q1 p1 p2)) mm)
  34.            )
  35.             (setq d 0)
  36.             (mapcar
  37.               '(lambda (pt1 pt2)
  38.                  (if (> (setq d1 (distance pt1 pt2))
  39.                         d
  40.                      )
  41.                    (setq d d1
  42.                          p3 pt1
  43.                          p4 pt2
  44.                    )
  45.                  )
  46.                )
  47.               (list p1 p1 p1 p2 p2 q1)
  48.               (list q1 q2 p2 q1 q2 q2)
  49.             )
  50.             (entdel (car e0))
  51.             (xdrx_modent 10 p3 11 p4)
  52.           )
  53.           ((and
  54.              (not tfla)
  55.              (= "ARC" (xdrx_getentdxf 0))
  56.              (equal (xdrx_getentdxf 10) p1 mm)
  57.              (equal (xdrx_getentdxf 40) r mm)
  58.            )
  59.             (setq a (angle p1 (last e1))
  60.                   qa1 (- a (xdrx_getentdxf 50))
  61.                   qa2 (- (xdrx_getentdxf 51) a)
  62.                   tfs (> (if (> qa1 mma)
  63.                            qa1
  64.                            (+ 2pi qa1)
  65.                          ) (if (> qa2 mma)
  66.                              qa2
  67.                              (+ 2pi qa2)
  68.                            )
  69.                       )
  70.             )
  71.             (entdel (car e0))
  72.             (if tfs
  73.               (xdrx_modent 51 a2)
  74.               (xdrx_modent 50 a1)
  75.             )
  76.           )
  77.           ((command ".fillet" "r" 0 ".fillet" e0 e1))
  78.         )
  79.       )
  80.     )
  81.   )
  82.   (if (and
  83.         (setq OBJ1 (xdrx_entsel "\n请拾取第一根线(LINE)或弧(ARC) <退出>:" '
  84.                                 ((0 . "line,arc"))
  85.                    )
  86.         )
  87.         (setq OBJ2 (xdrx_entsel "\n再拾取第二根线(LINE)或弧(ARC)进行连接 <退出>: "
  88.                                 '((0 . "line,arc"))
  89.                    )
  90.         )
  91.       )
  92.     (progn
  93.       (xdrx_begin)
  94.       [COLOR=BLUE](xdrx_ucson)[/COLOR]
  95.       (wmend2 OBJ1 OBJ2)
  96.       [COLOR=BLUE]((xdrx_ucsoff)[/COLOR]

  97.       (xdrx_end)
  98.     )
  99.   )
  100.   (princ)
  101. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-19 22:43 , Processed in 0.172671 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表