CAD二次开发之“添加对象到模型空间”
来源:互联网 发布:淘宝企业店铺扣点吗 编辑:程序博客网 时间:2024/05/07 15:13
模型空间是一条名为BlockTableRecord.ModelSpace的特殊块表记录(添加到其中的对象会在模型空间图纸中绘制出其形状),
将对象添加到模型空间的方法与将对象添加到块表记录的方法一样。
using System;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
[assembly: CommandClass(typeof(Sample.AddToModelSpace))]
namespace Sample
{
class AddToModelSpace
{
[CommandMethod("ToModelSpace")]
public void ModelSpace()
{
Database db = HostApplicationServices.WorkingDatabase;
DBText txt = new DBText(); txt.Position = new Point3d();
txt.TextString = "BimCAD.org"; ToModelSpace(txt, db);
}
/// <summary>
/// 将一个图形对象加入到指定的Database的模型空间
/// </summary>
/// <param name="ent">实体对象</param>
/// <param name="db">数据库</param>
/// <returns></returns>
public static ObjectId ToModelSpace(Entity ent, Database db)
{
ObjectId entId; using (Transaction trans = db.TransactionManager.StartTransaction())
{
BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
entId = btr.AppendEntity(ent); trans.AddNewlyCreatedDBObject(ent, true); trans.Commit();
}
return entId;
}
}
} 加载程序后运行"ToModelSpace"模型空间显示如下:
end
- CAD二次开发之“添加对象到模型空间”
- CAD二次开发(C#)之Application 对象
- CAD二次开发(C#)之Document 对象
- auto CAD .NET二次开发之 添加,删除实体(entity)
- CAD二次开发(C#)之添加文字样式
- CAD二次开发
- auto CAD .NET二次开发 之 交互操作
- C#CAD二次开发图案填充对象边界提取
- auto CAD 二次开发 c#.net 之JIG画多段线(polyline)
- WSS3SDK之:通过对象模型添加链接
- CAD二次开发相关
- .NET cad 二次开发入门
- CAD .net二次开发 过滤器
- VB CAD插件二次开发
- Cad二次开发(一)
- Cad二次开发(二)
- Cad二次开发(三)
- 学习笔记——cad.net 清空模型空间、保存模型空间
- int av_dup_packet(AVPacket *pkt)
- 非常流行的十款jQuery插件推荐
- error C2065: CoInitializeEx' : undeclared identifier 解决方法
- mysql -error 1005 (errno:150)
- 详解Silverlight和WPF互相扩展(转载)
- CAD二次开发之“添加对象到模型空间”
- Java关于日期的自编的类
- Emacs 编辑环境,第 1 部分.
- Flex中CSS例子
- 你愿意做我的code吗?
- Java关于阳阴历转换(网上找的)
- Flex与Javascript互相通信
- 【解决方案】/bin/sh^M:损坏的解释器: 没有该文件或目录
- 关于MFC下检查和消除内存泄露的技巧