nentselp函数在模型与布局中返回结果不同————请高手指教
我的一个程序在插入一个图块以后
redraw将图块消隐
nentselp插入点
获取图块插入点处的图元
一直在模型空间中使用
没有任何问题
最近需要在布局中绘图
发现程序运行结果不对
然后在模型空间中也出现错误
几经调试
最终发现问题出在nentselp上
本人操作环境
xp+2004
下面是模拟程序
(defun c:tt()
(setq a (entsel "\n 请选择一个图块 :"))
(setq po (cadr a))
(setq bb (car a))
(redraw bb 2)
(not (not(nentselp po)))
)
【操作步骤1】
新建图纸加载以上程序并插入一个图块
在模型空间中运行程序
返回结果nil
【操作步骤2】
布局中新建一个视口
进入视口运行程序
返回结果T
【操作步骤3】
接下来再返回模型空间运行程序
返回结果T
【操作步骤4】
新建图纸加载以上程序并插入一个图块
布局中新建一个视口
返回模型空间运行程序
返回结果T
从以上4次运行结果看
第1次的nentselp未拾取到图元
这是正确的
因为图块已经消隐了
而后3次的nentselp都拾取到了消隐状态下的图块
它们都有一个共同的特点——操作发生在建立视口以后
请高手解答:
以上情况是什么原因造成的?
或者只是CAD版本的原因?
如何解决? 知道了是什么问题就好处理了
原来是消隐
现在改为临时entdel
需要时再entdel回来
程序上的修改倒是很简单
只是对这个问题出现的原因很好奇
换后面新版测试一下看看 程序在08测试没问题
看来就是版本的问题?
不管怎样
entdel 比 redraw 更保险
页:
[1]