用LISP怎样表达填充边界无效?
本帖最后由 qazxswk 于 2022-5-7 08:14 编辑我们在用“HATCH”和“BOUNDARY ”时,如果在非闭合区域点取的时候,就会弹出未找到有效的填充边界的错误提示。那问题来了,怎样用LISP判断,所拾取点的区域填充边界无效呢。
我试了想通过是否生成了边界线来判断边界是否有效,例如:
(command "-boundary" pt "") (setq ent0 (entlast))
(if (= ent0 nil)(princ "\n拾取区域无效。"))
但这里的(entlast)范围太广了,可能是上上次创建的对象,所以这个办法不行。
不知道各位大神有什么思路,指教一下。
先记下entlast,再去创建边界,然后再对比与保存的是否一样,一样说明没成功,不一样就成功了 本帖最后由 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相同,整个命令就退出。
qazxswk 发表于 2022-5-7 16:12
按你的提示,我这样写了一下,好像有效果:
(setq s0 (entlast))
(command "-boundary" pta "")
有用就行, 学习一下:lol
页:
[1]