没有合适的资源?快使用搜索试试~ 我知道了~
首页ObjectARX程序设计入门 ARX 学习笔记
ObjectARX程序设计入门 ARX 学习笔记
需积分: 9 28 下载量 56 浏览量
更新于2023-03-03
评论 1
收藏 63KB DOC 举报
ObjectARX程序设计入门 AutoCAD图形实际上是一系列存放在一个AcDbDatabase类型的数据库中的AcDb对象。AcDbDatabase数据库中所有的对象都有一个句柄,在一个图形(DWG)文件中,对象句柄是唯一的,用来标识对象。AutoCAD图形实体(AcDbEntity类对象)只是AcDbDatabase数据库的一种特殊的对象,用户可以在图形窗口看到并编辑它。AcDbDatabase数据库中的对象还有符号表、词典和其它与AcDb类对象相关的符号。数据库中所有的图形实体....
资源详情
资源评论
资源推荐
/*********************************************************
// 代码说明 ARX 二次开发学习笔记
//
//编号:0001
//日期:09:23 2006-6-12
//QQ:85258604
//网名:£ 草下飞 £
//E-MAIL:nbxiong2002@yahoo.com.cn
//BLOG:nbxiong.blog.com.cn
*********************************************************/
今天上午把人民邮电的《用 OBJECTARX 开发》浏览了一遍,一二三章看完了,以后的会
马上跟进的~~
希望一切顺利搞定哦!朋友们和我一起努力吧!!
/*********************************************************
//
●█〓██▄▄▄▄▄▄ ●●●●●●
▄▅██████▅▄▃▂
██████████████
◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤
//
*********************************************************/
/*********************************************************
// 代码说明 ACAD 数据库学习笔记
//
//编号:0002
//日期:15:23 2006-6-12
//QQ:85258604
//网名:£ 草下飞 £
//E-MAIL:nbxiong2002@yahoo.com.cn
//BLOG:nbxiong.blog.com.cn
*********************************************************/
从对 ACAD 数据库结构组织的学习中可以发现,当初 AUTODESK 工程师们做这个的时候
也是花费了不少的心血的哦 现不管
能不能心领神会,先表以敬意!
数据文件储存大部分数据,开发的成功取决于对数据库文件的操作熟练程度。
ObjectARX 程序设计入门--1、图形数据库操作
AutoCAD 图形实际上是一系列存放在一个 AcDbDatabase 类型的数据库中的 AcDb 对象。
AcDbDatabase 数据库中所有的对象都有一个句柄,在一个图形(DWG)文件中,对象句
柄 是 唯 一 的 , 用 来 标 识 对 象 。 AutoCAD 图 形 实 体 (AcDbEntity 类 对 象 ) 只 是
AcDbDatabase 数 据 库 的 一 种 特 殊 的 对 象 , 用 户 可 以 在 图 形 窗 口 看 到 并 编 辑 它 。
AcDbDatabase 数据库中的对象还有符号表、词典和其它与 AcDb 类对象相关的符号。
数据库中所有的图形实体和对象都可以使用 ObjectARX 技术,通过程序设计来进行修改
和编辑。这一点其实也就是 AutoCAD 二次开发的基本出发点和最终目标。
AcDbDatabase 既然是数据库,它必然具备数据库的基本组织结构。它由多个表(Table)
和表中的记录(Record)构成。AcDbDatabase 数据库包括九个符号表和一个命名对象词
典。
AcDbDatabase 数据库使用了面向对象的数据库(OODB)技术,用传统的数据库的术语来
说,它甚至不是第一范式(1NF)的,记录的组织形式与普通的数据库有较大的不同。
<这大概是很多人没把 AutoCAD 图形看作数据库的原因。>
在 AutoCAD 命令行运行 LISP 函数 entget 可以清楚地看到实体在 AcDbBlockTable 块表
中的记录组织形式。当然,在 ObjectARX 技术中,关于数据库记录的细节进行了数据封
装,对数据库的表和记录进行操作要通过访问各个类的成员函数来实现。
AcDbDatabase 数据库
|------AcDb 符号表
| |------块表(AcDbBlockTable)
| |------尺寸标注样式表(AcDbDimStyleTable)
| |------层表(AcDbLayerTable)
| |------线型表(AcDbLinetypeTable)
| |------已注册应用程序表(AcDbRegAppTable)
| |------字体样式表(AcDbTextStyleTable)
| |------用户坐标系表(AcDbUCSTable)
| |------视口表(AcDbViewportTable)
| |------视图表(AcDbViewTable)
|-------命名对象词典
1.实体添加过程(写数据库)
AcDbDatabase *pDB=new AcDbDatabase();//获取数据库创建模拟空间
AcDbBlockTable *pDBT;//获取块表(符号表)
pDbT->getSymbolTable(pDB,AcDb::kForRead);
AcDbBlockTableRecord *pDBTRec;//获取块表记录(模型空间记录)
pDBT->getAt(ACDB_MODEL_SPACE, pDBTRec, AcDb::kForWrite); //设置对象属性
pDBT->close(); //关闭对象空间
AcDbEntity* ent=new ...;//创建新的实体(数据记录接口)
pDBTRec->appendAcDbEntity(ent);
ent->close();
pDBTRec->close();
pDB->saveas("xxx.dwg");
delete pDB;
2.数据库全局操作
acdbCurDwg(); //获取当前图形数据库指针
readDwgFile(char *filename); //读入图形文件
saveAs(char *filename) //保存
acadSaveAsR13(AcDbDatabase *Rb)
acadSaveAsR14(AcDbDatabase *Rb)
insert(AcDbObjectId &blockid,const char *pBlockName,AcDbDatabase *pDb);
setCecolor(const AcCmColor &color);
cecolor(); //为数据库发挥一个颜色值
setCeltype(AcDbObjectId); //通过 ID 设置线形
celtype(); //返回现在的线形
setLtscale(doulbe); //
ltScale(); //新线型比例因子
setCeltscale(double);
celtscale(); //对象缩放比例
setpsltscake(Adesk::Boolean);
psltscale();
/********************************************************************
注:以上为关于线形的设置和比例缩放的详细介绍在文章最后的备注部分
********************************************************************/
setClayer(AcDbObjectId);
clayer(); //设置当前图层
3.数据库引用编辑
acdbOpenObject(T_OBJECT * &obj,AcDbObjectId objid,AcDb:penMode openmode,bool
openerase=false);
acdbGetObjectId(AcDbObjectId &objid,const ads_name objname);
小结:
ACAD 数据库模块为预留二次开发接口的时候绝大部分参考了 STL 模板原型和 MFC 类库
剩余10页未读,继续阅读
ooozzzyyyxxxooo
- 粉丝: 8
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0