删除矩形内竖线
本帖最后由 kzd2004 于 2024-1-17 08:50 编辑如图,当我画矩形的时候,自动删除里面的竖线,自己用trim编写的好卡,求助高人帮忙。 (defun c:tt (/ p1 p2 en )
(setq p1 (getpoint "\n指定点:"))
(setq p2 (getcorner p1 "\n指定点:"))
(command "rectang" p1 p2)
(setq en (entlast))
(command ".trim" en """f" "non" p1 "non" p2 "" "")
(princ)
)
本帖最后由 kzd2004 于 2024-1-15 20:02 编辑
xyp1964 发表于 2024-1-15 12:44
谢谢你,正是需要的,大佬能给我源码吗?
大佬不回复,给画了个饼,请问还有知道的吗?请帮忙,谢谢。 本帖最后由 x_s_s_1 于 2024-1-18 08:44 编辑
胡编乱造版
(defun c:tt(/ en en1 en2 en3 f pt1 pt2)
(setq pt1 (getpoint "\n第一点:")
pt2 (getcorner pt1 "\n第二点:"))
(vl-cmdf "rectangle" "non" pt1 "non" pt2)
(setq en(vlax-ename->vla-object (entlast))
en1 (car (vlax-invoke en 'offset 1e-3))
en2 (car (vlax-invoke en 'offset -1e-3)))
(if(> (vlax-get en1 'length) (vlax-get en2 'length))
(setq en3 en1
en1 en2
en2 en3))
(setq f(mapcar
'cdr
(vl-remove-if-not '(lambda (x) (= 10 (car x)))
(entget (vlax-vla-object->ename en1)))))
(vla-delete en1)
(vla-delete en2)
(vl-cmdf "trim"
(vlax-vla-object->ename en)
""
"f"
"non"
(car f)
"non"
(cadr f)
"non"
(caddr f)
"non"
(cadddr f)
"non"
(car f)
""
""))
楼上,对直线、多义线支持有缺陷,会删除框外的线段 kwok 发表于 2024-1-15 10:42
(defun c:tt (/ p1 p2 en )
(setq p1 (getpoint "\n指定点:"))
(setq p2 (getcorner p1 "\n指定点: ...
谢谢你了。 kwok 发表于 2024-1-15 10:42
(defun c:tt (/ p1 p2 en )
(setq p1 (getpoint "\n指定点:"))
(setq p2 (getcorner p1 "\n指定点: ...
请问"non"这个是什么意思? kzd2004 发表于 2024-1-17 22:17
请问"non"这个是什么意思?
临时取消捕捉。
页:
[1]