一种将块定义导入AutoCAD的C#方法

时间:2015-06-11 21:46:34

标签: c# autocad-plugin

我正在尝试编写一种方法,以编程方式将块导入到绘图中,以便我的.NET插件可以将这些块的实例放入绘图中。现在我的方法看起来像这样:

        /// <summary>
        /// Method to programatically import all the blocks in a given list
        /// </summary>
        public static void ImportBlocks(string[] filesToTryToImport)
        {
            //Importing all the blocks
            for (int i = 0; i < filesToTryToImport.Count(); i++)
            {
                if (filesToTryToImport[i].EndsWith(".dwg"))
                {
                    try
                    {
                        Transaction tr = _database.TransactionManager.StartTransaction();
                        DocumentLock docLock = _activeDocument.LockDocument();
                        using (tr)
                        using (docLock)
                        {
                            BlockTable blkTbl = tr.GetObject(_database.BlockTableId, OpenMode.ForRead) as BlockTable;
                            // ToDo: Add files 
                        }
                    }
                    catch (Autodesk.AutoCAD.Runtime.Exception ex)
                    {
                        _editor.WriteMessage("\nError during copy: " + ex.Message);
                    }
                }
            }
        }

我想要的是,当我去插入一个块时,其文件路径在字符串数组filesToTryToImport中的所有块都显示为选项

enter image description here

因此,例如,如果One-Inch-Block最初不在列表中,但是它的文件路径作为传递给此方法的数组中的字符串传递,则它成为一个选项。

0 个答案:

没有答案