Lee Chu Chu 发表于 2022-7-5 20:57:06


(defun c:test ()
(setq PT1 (getpoint))
(setq PT2 (getpoint PT1))
(command "line" PT1 PT2)
(command)
(setq obj1 (entget (entlast)))
(setq typeinfo1 (substr (cdr (assoc 0 obj1))1))
(setq layerinfo1 (substr (cdr (assoc 8 obj1))1))

(setq ent (car PT2))
(if (not ent)
        (princ "yay!")
)
(command "line" pause pause)
(command)
(setq obj2 (entget (entlast)))
(setq typeinfo2 (substr (cdr (assoc 0 obj2))1))
(setq layerinfo2 (substr (cdr (assoc 8 obj2))1))

(if (and (= typeinfo1 typeinfo2) (= layerinfo1 layerinfo2))
        (princ "\nit works\n")
)
(princ)
)

 
这就是我现在所拥有的,如果我画一条线,它找到了一条与这两条线倒角的同一层的现有线。唯一的问题是,我正在努力编程它检查的部分,看看在我画的第一条线的第二个点上,是否有一条与它相交的现有线

hanhphuc 发表于 2022-7-5 21:02:27

 
这是一个很好的开始你尝试自己编码
也许是这样?
(定义c:测试(/PT1 PT2 PT3 PT4 en ss1 ss2);;;hanhphuc 13.02.2015;;;带倒角的绘制线(mapcar‘setvar’(chamfera chamferb)’(5.0 5.0));[颜色=“红色”]

Lee Chu Chu 发表于 2022-7-5 21:07:04

这个程序实际上做什么?因为我已经有了一个比画两条线然后切角要简单得多的程序?

hanhphuc 发表于 2022-7-5 21:09:57

 
代码被引用到第7个帖子
它只是使用命令倒角来绘制,并不复杂。
 
如果你有代码为什么不早点发布?
 
或者也许你正在寻找vla intersectWith method?
 
干杯

hanhphuc 发表于 2022-7-5 21:15:28

哦如果你的意思是90度倒角,
如果您试图编码
然后,如果手动执行,请尝试起草并发布步骤(即:伪代码)
如果你陷入困境,也许这可以帮助其他人尝试
页: 1 [2]
查看完整版本: Lisp为两个相交点倒角