print1985 发表于 2011-8-1 17:22:52

请问可实现这样的倒角吗?

请问lsp可实现这样的倒角吗?

Andyhon 发表于 2011-8-1 17:26:55

看起可以的
得有更详细的规范

zhynt 发表于 2011-8-2 01:09:43

本帖最后由 zhynt 于 2011-8-2 09:37 编辑

下水管道三通?这个不难实现的。
(setq dist1 300)
(defun C:3t ()
(setq en1 (entsel "\n选择参考线,点取位置为倒角方向"))
(setq en2 (car (entsel "\n选择需倒角的线:")))
(setq dist (getreal (strcat "\n倒角距离:<" (rtos dist1) ">")))
(if (= dist nil)
    (setq dist dist1)
    (setq dist1 dist)
)
(setq en1_pt1 (cdr (assoc 10 (entget (car en1))))
en1_pt2 (cdr (assoc 11 (entget (car en1))))
)
(setq en2_pt1 (cdr (assoc 10 (entget en2)))
en2_pt2 (cdr (assoc 11 (entget en2)))
)
(setq jpt (inters en2_pt1 en2_pt2 en1_pt1 en1_pt2 nil))
(setq pt2 (polar jpt (angle jpt (cadr en1)) dist))
(if (< (distance jpt en2_pt1) (distance jpt en2_pt2))
    (progn
      (setq pt1 (polar jpt (angle en2_pt1 en2_pt2) dist))
      (setq
ent (subst (cons 10 pt1) (assoc 10 (entget en2)) (entget en2))
      )
      (entmod ent)
    )
    (progn
      (setq pt1 (polar jpt (angle en2_pt2 en2_pt1) dist))
      (setq
ent (subst (cons 11 pt1) (assoc 11 (entget en2)) (entget en2))
      )
      (entmod ent)
    )
)
(command "LINE" "NON" pt1 "NON" pt2 "")
)

raimo 发表于 2011-8-2 07:48:10

再次支持论坛雷锋 zhynt

ljpnb 发表于 2011-8-2 08:21:23

zhynt 发表于 2011-8-2 01:09 static/image/common/back.gif
下水管道三通?这个不难实现的。

测试了一下,程序还有点小问题,在选择参考线时,可以引用一下点击点来判断方向,这句 (setq pt2 (polar jpt (* 1.5 pi) dist))中(* 1.5 pi) 要可以变的。。。。

zhynt 发表于 2011-8-2 09:37:56

嗯,有道理,板凳已改

ljpnb 发表于 2011-8-2 11:06:30

zhynt 发表于 2011-8-2 09:37 static/image/common/back.gif
嗯,有道理,板凳已改

(setq pt2 (polar jpt (angle jpt (osnap (cadr en1) "nea")) dist))

zhynt 发表于 2011-8-2 14:04:42

嗯,受教了。

print1985 发表于 2012-3-28 16:39:58

各位老大 不好意思啊 当时忘回帖了 今天回来感谢你们
我试着改成支持PL线的 好像有点困难

半听可乐 发表于 2012-8-29 13:20:23

本帖最后由 半听可乐 于 2012-8-29 13:22 编辑

zhynt 发表于 2011-8-2 01:09 static/image/common/back.gif
下水管道三通?这个不难实现的。
朋友,程序有bug,请继续做好事吧
页: [1] 2
查看完整版本: 请问可实现这样的倒角吗?