s1222s 发表于 2022-7-6 08:03:24

难道没有“VL”的东西就不可能准备这个lisp吗。我不需要它,并希望成为纯lisp没有视觉lisp和使用左或右的方向。

BIGAL 发表于 2022-7-6 08:08:06

你所要做的就是使用polar命令计算出其他墙蒙皮上的交点,然后使用打断和绘制线等,始终选择内线或外线,然后你就知道墙位于哪个方向。我发布的示例是通过纯老式lisp创建的。但是我现在要走VL的路,删除了很多编码。
 

pi3 is 270 deg
door line pts b d
wall w2 w3 w4 double skin wall
(setq pt3 (polar b (+ pi3 (angle b d)) (+ w2 w3 w4)))

s1222s 发表于 2022-7-6 08:10:58

对不起,但什么是:
 
车门线路pts b d
墙w2 w3 w4双层外墙

pBe 发表于 2022-7-6 08:13:08

有人点香草吗?
 
(defun c:brV ( / osm d w1 w2 pt1 pt2 pt3 pt4)
(setq osm (getvar 'Osmode))
(setvar 'osmode 0)
(setq d (getdist "\nEnter Door width: "))
(setq        w1 (entsel "\nPick one side of the wall: ")
w2 (entsel "\nPick other side of the wall: ")
)
(command "_line"
   (setq pt1 (osnap (cadr w1) "_nea"))
   (setq pt2 (osnap (cadr w2) "_per"))
   ""
)
(setvar 'osmode 512)
(setq dir (Getpoint pt1 "\nPick point for Direction:"))
(setvar 'osmode 0)
(command
   "_line"
   (setq pt3 (polar pt1 (angle pt1 dir) d))
   (osnap (setq pt4 (polar pt3 (angle pt1 pt2) (distance pt1 pt2)))
   "_per"
   )
   ""
)
(command "_break" (car w1) pt1 pt3)
(command "_break" (car w2) pt2 pt4)
(setvar 'osmode osm)
(princ)
)
 
用法:
命令:brv

BIGAL 发表于 2022-7-6 08:17:58

当我在上面进一步发布PBe代码时,你们只需要选择线,一旦选择门的左侧,从末端进入距离,所以通过polar知道门的右侧,然后就可以做break。当您在墙的左侧拾取门时,不需要方向的拾取点,这意味着要选择哪条路。即使倒置,你也会很快习惯左右。
 
我会发布代码,但它是抄袭的。

s1222s 发表于 2022-7-6 08:22:17

我明白了,谢谢。

martinle 发表于 2022-7-6 08:27:13

 
你好,PBE!
 
Lisp程序。不幸的是,我不能使用对象捕捉。在这个Lisp中是否可能?
 
问候Martin
页: 1 [2]
查看完整版本: 如何在2段上绘制打断