qazxswk 发表于 2022-5-7 08:03:45

用LISP怎样表达填充边界无效?

本帖最后由 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,再去创建边界,然后再对比与保存的是否一样,一样说明没成功,不一样就成功了

qazxswk 发表于 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 "")


有用就行,

zys344940209 发表于 2022-5-9 18:53:13

学习一下:lol
页: [1]
查看完整版本: 用LISP怎样表达填充边界无效?