使用Visual studio c#爲例
首先在項目資源窗口右鍵選Referece添加AutoCAD 2018 Type Library
添加後using AutoCAD
using AutoCAD;
跟塊相關的代碼核心如下
AcadApplication acad = (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application");
AcadDocument doc = acad.ActiveDocument;
AcadModelSpace mspace = doc.ModelSpace;
AcadEntity ent;
foreach (AcadEntity elem in mspace) //遍歷所有的Entity
{
if (elem.ObjectName == "AcDbBlockReference") //如果是Block的話
{
AcadBlockReference blk = (AcadBlockReference)elem;
if (blk.Name.Contains("Drawing.Infor")) //如果Block的定義名稱包含Drawing.Info
{
object[] oAtts = (object[])blk.GetAttributes();
foreach (object oAtt in oAtts) //遍歷Block每一個Tag
{
AcadAttributeReference att = (AcadAttributeReference)oAtt;
Console.WriteLine(att.TagString + '\t' + att.TextString);
if (att.Ta