在我看来,把文本变成一个块,然后尽可能多地克服这个块,这是最简单的方法。
我只是想弄明白为什么需要为此编写一个程序。
我同意这是一个很好的练习,可以用于其他用途。
用户在autocad中键入多行文字
运行程序
选择文本
复制和修改vlr的程序连接对象反应器,并将句柄写入对象扩展数据
用户复制原始文本,触发复制的vlr,并调用将反应器和扩展数据附加到新对象的例程
此外,扩展数据例程必须更新原始文本对象以包含新对象句柄,并且新对象必须包含原始句柄。
现在,用户编辑其中一个文本对象,修改的vlr被称为
对修改的Vlr的回调将获得除当前对象中的句柄之外的所有句柄,然后运行例程,替换所有其他句柄中的文本,以匹配编辑的文本。
到目前为止你同意吗?是/否?
如何保持所有其他vlr修改的回调被触发?
你可以写一个比较函数,如果文本是相同的,不要更改它,但我认为(我可能错了),即使你访问一个对象,不要更改它,只是这个动作会导致修改的vlr被激发,这会导致无限循环。 说得好,约翰
我同意,使用块是执行这项任务的最简洁的方式——但为了便于讨论,让我们说,用户希望将文本作为文本对象(只是为了让事情变得有趣!)。
好的,在这一点上(注意你的警告),我倾向于离开一个对象反应器,使用一个命令反应器——例如从“ddedit”这样的命令反应。
我倾向于使用ssgetfirst函数来收集相关实体并提取扩展数据,但这可能不是最好的方法。
只是我的想法,
李 我认为指挥反应堆是一个很好的选择
复制了一个组合命令反应器和一个对象反应器呢
为扩展数据附件复制的对象反应器vlr
命令反应堆进行更改
插入对话框或命令行选项以更改所有链接的对象,选择对象或仅退出以更改此对象。 我有一条短信,想在多个地方展示
我所做的是复制文本,但当更改文本时,我必须在每个文本中进行更改
创建一个字段,这很好,我通常创建一个字段
所以我想知道是否有一个lisp可以一步创建一个字段
但有一个诀窍
选择文本时,如果是字段,lisp将绘制一条到主文本的垂直线
Thanx全部
和往常一样,李是第一个得到回复的人
页:
1
[2]