xiaocainiao 发表于 2025-3-5 18:16:24

请教一下!在lisp中使用TR修剪能否修剪特定类型或特定图层图元

请教一下大家!


在lisp中调用CAD自带的TR修剪命令、
使用栏选模式修剪时、能否设置仅修剪直线、或者指定图层的线条

(command "trim" "" "f" p1 p2 "" "")

就是这种模式、我试了(command "trim" "" (ssget "f" (list p1 p2) '(("LINE")))"" "")
这样的方法貌似不太行



wzg356 发表于 2025-3-6 00:55:51

本帖最后由 wzg356 于 2025-3-6 15:14 编辑

可以,一个一个来,有可能漏剪,多来几次就行
(setq ss(ssget "f"(list p1 p2)......)

(command "_trim" e "")
(foreach e(ssnamex ss)
(command (list (cadr e) (cadr(cadddr e))));cadr(cadddr ....绕晕了 要求结果是(图元名 坐标)
)                              
(command "")

xiaocainiao 发表于 2025-3-6 07:04:53

wzg356 发表于 2025-3-6 00:55
可以,一个一个来,有可能漏剪,多来几次就行
(setq ss(ssget "f"(list p1 p2)......)



谢谢 我试一下

xyp1964 发表于 2025-3-6 14:01:51




xiaocainiao 发表于 2025-3-6 14:44:13

xyp1964 发表于 2025-3-6 14:01


谢谢院长、就是这个效果

wzg356 发表于 2025-3-6 15:13:30

本帖最后由 wzg356 于 2025-3-6 15:14 编辑

xiaocainiao 发表于 2025-3-6 07:04
谢谢 我试一下
cadr(cadddr ....绕晕了要求结果是(图元名 坐标) --- 就像手工操作(entsel)的结果

院长搞好了

xiaocainiao 发表于 2025-3-6 16:16:41

wzg356 发表于 2025-3-6 15:13
cadr(cadddr ....绕晕了要求结果是(图元名 坐标) --- 就像手工操作(entsel)的结果

院长搞好了

谢谢!已经搞懂了、我之前以为可以直接用ssget过滤呢、没想到给他转换成图元名加坐标的形式

韩飞翔 发表于 2025-3-7 11:31:17

我也展示一个
页: [1]
查看完整版本: 请教一下!在lisp中使用TR修剪能否修剪特定类型或特定图层图元