AutoCAD.NET学习笔记之绘制、插入图形和块

本文是AutoCAD.NET学习笔记,主要探讨如何访问内部数据库、块表,以及如何在模型空间中绘制和插入图形,特别是详细介绍了插入块的操作。内容包括通过Transaction.GetObject获取ObjectId,使用AppendEntity添加图形,以及模拟AutoCAD的Insert命令插入块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AutoCAD打印模型的图元的基本组成是“块”,其存储于内部数据库中的块表之中。

目录

访问内部数据库的方法

访问块表的方法

块表、模型空间

绘制、插入图形

插入块


访问内部数据库的方法

var db = HostApplicationServices.WorkingDatabase

 或者通过document访问:

var doc = Application.DocumentManager.MdiActiveDocument;

var db = doc.Database;

区别是前者不需要AutoCAD的运行环境。

访问块表的方法

AutoCAD内部数据库中的信息的查询(get)操作都可以通过Transaction.GetObject方法获得ObjectId,块表也不例外。

通常这样写以自动释放资源:

using(var tran = db.TransactionManager.StartTransaction())
{
    var blockTable = tran.GetObject(db.BlockTableId,OpenMode.Read) as BlockTable;
    // 其他操作
    tran.Commit(); // 最后要提交数据库操作
}

块表、模型空间

块表blockTable的每一条记录BlockTableRecord就是一个块,所有的BlockTableRecord记录中有一条特殊的记录叫做ModelSpace(模型空间),就是我们常规的绘图用的空间。

var modelSpace = tran.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值