明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 629|回复: 4

[提问] 用LISP怎样表达填充边界无效?

[复制链接]
发表于 2022-5-7 08:03:45 | 显示全部楼层 |阅读模式
本帖最后由 qazxswk 于 2022-5-7 08:14 编辑

我们在用“HATCH”和“BOUNDARY ”时,如果在非闭合区域点取的时候,就会弹出未找到有效的填充边界的错误提示。那问题来了,怎样用LISP判断,所拾取点的区域填充边界无效呢。

我试了想通过是否生成了边界线来判断边界是否有效,例如:


(command "-boundary" pt "") (setq ent0 (entlast))
(if (= ent0 nil)(princ "\n拾取区域无效。"))


但这里的(entlast)范围太广了,可能是上上次创建的对象,所以这个办法不行。

不知道各位大神有什么思路,指教一下。
发表于 2022-5-7 09:37:38 | 显示全部楼层
先记下entlast,再去创建边界,然后再对比与保存的是否一样,一样说明没成功,不一样就成功了
 楼主| 发表于 2022-5-7 16:12:41 | 显示全部楼层
本帖最后由 qazxswk 于 2022-5-7 16:26 编辑
革天明 发表于 2022-5-7 09:37
先记下entlast,再去创建边界,然后再对比与保存的是否一样,一样说明没成功,不一样就成功了

按你的提示,我这样写了一下,好像有效果:
(setq s0 (entlast))
(command "-boundary" pta "")
(setq s1 (entlast))
(if (= s0 s1)(progn (princ "\n边界无效,")(exit)))

我是先假设s0为空的,然后用BO命令,如果BO没有创建边界,也就是s1为空时,s0与s1相同,整个命令就退出。
发表于 2022-5-8 17:20:11 | 显示全部楼层
qazxswk 发表于 2022-5-7 16:12
按你的提示,我这样写了一下,好像有效果:
(setq s0 (entlast))
(command "-boundary" pta "")

有用就行,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-29 13:31 , Processed in 0.171546 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表