gpt4 book ai didi

c# - 使用 C# 以编程方式将 AutoCAD 实体连接到 block 中

转载 作者:行者123 更新时间:2023-11-30 14:09:14 25 4
gpt4 key购买 nike

我正在尝试编写一种方法,提示用户选择他们想要合并到一个 block 中的所有实体,然后将它们连接到一个 block 中并返回 block 引用。现在看起来像这样。

        /// <summary>
/// Returns all entities in an AutoCAD drawing in a list
/// </summary>
public static List<Entity> GetEntitiesInDrawing()
{
List<Entity> entitiesToReturn = new List<Entity>(); //Blocks that will be returned
Transaction tr = _database.TransactionManager.StartTransaction();
DocumentLock docLock = _activeDocument.LockDocument();

using (tr)
using (docLock)
{
BlockTableRecord blockTableRecord = (BlockTableRecord)tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(_database), OpenMode.ForRead);
foreach (ObjectId id in blockTableRecord)
{
try
{
Entity ent = (Entity)tr.GetObject(id, OpenMode.ForWrite);
entitiesToReturn.Add(ent);
}
catch (InvalidCastException)
{
continue;
}
}
}
return entitiesToReturn;
}
/// <summary>
/// Prompts the user for a number of entities and then joins them into a block
/// </summary>
public static BlockReference JoinEntities()
{
BlockReference blkToReturn = null;
List<Entity> entitiesToJoin = PromptUserForEntities();
foreach (Entity ent in entitiesToJoin)
{
// ToDo: Join entities into blkToReturn
}
return blkToReturn;

}

我的问题是我不知道如何或是否可以获取实体列表并将它们加入 block 引用中。

最佳答案

Kean 在他的博客中对此进行了介绍:Creating an AutoCAD block using .NET

关于c# - 使用 C# 以编程方式将 AutoCAD 实体连接到 block 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com