admin管理员组

文章数量:1574122

读取DWG文件将全部实体变为一个块


将DWG文件中所有DBObject组成一个块, 如果DWG文件中有属性参照, 则属性变为块属性.
我刚开始学习不久.Net AutoCAD的二次开发, 所以记录在这里我自己写的或者参照的一个些方法

/// <summary>
/// 将DWG文件所有DBObject组成一个块, 如果DWG文件中有属性, 则属性变为块属性
/// </summary>
/// <param name="insertPoint">插入点</param>
/// <param name="scale">插入比例</param>
/// <param name="blockName">块表记录名</param>
/// <param name="filePash">DWG文件路径</param>
/// <returns>块参照</returns>
public BlockReference InsertBlockReference(Point3d insertPoint, double scale, string blockName, string filePash)
{
    BlockReference blockReference = null;

    Document curDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; //获取当前文档
    using (DocumentLock docLock = curDoc.LockDocument()) //锁定文档
    {
        using (Transaction trans = curDoc.TransactionManager.StartTransaction()) //事务
        {
            try
            {
                BlockTable curBlockTb = trans.GetObject(curDoc.Da

本文标签: 实体文件AutoCADDWG