saitenheini 发表于 2022-7-6 22:52:44

不同位置上的参考块

大家好,
 
我创建了一些块,并用以下代码(C#)将它们引用到一个层:
 

myBlock.Layer = strLayerName;

 
现在我希望块被多个层引用。
如何将此块的引用设置为另一层,同时保持当前层引用?
 
谢谢你的帮助!
 
干杯,Max。

BlackBox 发表于 2022-7-6 23:01:22

 
易于理解的将块复制到位(即相同的插入点、比例等)到所需层:眨眼:

saitenheini 发表于 2022-7-6 23:05:33

谢谢你,伦德曼!
 
你是对的。它很简单而且有效。
 

               // Create a circle with a radius
               Circle r = new Circle();
               r.SetDatabaseDefaults();
               r.Center = new Point3d(x, y, 0);
               r.Radius = fltRadius;               
               r.Layer = strLayerName;
               
               // Add the new object to the block table record and the transaction
               btr.AppendEntity(r);
               acTrans.AddNewlyCreatedDBObject(r, true);
               
               Circle rClone = r.Clone() as Circle;
               rClone.Layer = strLayerName;
               btr.AppendEntity(rClone);
               acTrans.AddNewlyCreatedDBObject(rClone, true);

 
但是,如果我想将整个块复制到一个层,我必须做什么?

BlackBox 发表于 2022-7-6 23:10:24

 
 
不客气。
 
 
这个评论让我困惑。。。
 
块是单个对象(可以由其他块、组件等组成),但复制时,*应*复制每个子组件。
 
也许这将提供一些明确性:
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer's%20指南/索引。html
 
... 请参见“创建和编辑AutoCAD图元>创建对象>编辑命名和二维对象>复制对象>复制对象”中的C#示例代码

saitenheini 发表于 2022-7-6 23:13:15

看来,这是没有参考价值的。如果冻结层,我希望隐藏块。但块的实体在其他层上仍然可见。
我希望整个块在第一层(隐藏/可见),块的几个实体在不同的层中分别隐藏它们。
 
有什么想法吗?

saitenheini 发表于 2022-7-6 23:21:05

 
当我写“block”时,我想到了一个BlockTableRecord。此BlockTableRecord具有名称,但没有层属性。
例如,圆是具有属性层的实体。所以我想知道是否可以将BlockTableRecord分配给一个层?
 
也许搞错了。。。抱歉:不确定:

BlackBox 发表于 2022-7-6 23:25:16

 
::简单的解决方案:
 
为了不显示块,可以:
[列表]
[*]块及其子组件必须位于同一层(正在冻结)
[*]或块子组件的附加层也需要冻结。
::稍微复杂一点的解决方案:
 
开发一个编辑器反应器,这样当包围层冻结时,块的可见属性设置为False(如果块存在于块集合中)。
 
注意-该反应器还应处理层解冻时的情况,以便它还应将Visible属性设置为True。
 
编辑:
“visible属性”的引用来自ActiveX COM API,因为我目前无法访问Visual Studio,也无法从工作中访问ObjectARX SDK。

BlackBox 发表于 2022-7-6 23:29:41

 
不如果不使用插入到图形中的反应器强制实例,则无法将块集合(或其项)指定给特定图层。这可以由命令式回调函数触发,然后用所需名称创建所有块的选择集,然后逐步通过选择集并检查驻留层,如果不匹配,则更改块对象本身的层属性。

saitenheini 发表于 2022-7-6 23:35:47

非常感谢你的建议!
 
我会试试的。

BlackBox 发表于 2022-7-6 23:38:59

 
不客气。
 
当你完成后,一定要张贴成品(帮助他人)。
 
干杯
页: [1] 2
查看完整版本: 不同位置上的参考块