|
发表于 2017-6-6 23:22:54
|
显示全部楼层
是啊,我知道哪里让人困惑了。我将尝试从编程的角度用最简单的术语来解释它。
我以编程方式将一个布局(包括所有关联的几何图形)复制到一个新布局中。acLayoutMgr。CopyLayout(源,目标);
[/ol]
新的目标布局是源布局的精确副本,除了名称(以及我在别处设置的tab键顺序)
源布局有多个块引用,每个块引用都有多个复制到目标布局的属性。我需要这些块参照具有唯一的名称,该名称由基本块名称(它是12个预定义名称之一)、布局名称(块参照所在的位置)以及在该布局中唯一标识该块的索引组成。因此,如果源布局命名为“当前”,目标布局命名为“未来”,则“当前”布局中名为“a-current-32”的块参考将是“未来”布局中的“a-future-32”。
我意识到在BlockTableRecord中需要一个新的块定义,因为最终每个块定义只能有一个块引用。
我的设想如下:
打开一个用户窗体;
将布局复制到新布局;
获取目标布局上所有块引用的集合;
对于未来布局中的每个块参考,
将现有块定义(即“a-Current-21”)复制到新的块定义(“a-Future-21”);
更新相关的块引用(“a-Current-21”)以指向新的块定义(“a-Future-21”);
重新生成编辑器;
关闭用户窗体;
我想解释它的一个非常简单的方法是“用引用原始块定义副本的新插入替换指定布局上的所有插入,同时用目标布局的布局名称替换源块定义名称中的布局名称。”
我真的希望这有意义,因为我不确定我知道如何解释它。 |
|