使用ObjectARX在AutoCAD2002中画直线
来源:互联网 发布:手机文本朗读软件 编辑:程序博客网 时间:2024/05/29 04:21
1)在VC6.0中,使用向导创建一个新的ObjectARX项目,名称叫CreateLine3。使用ObjectARX嵌入工具注册一个新的命令createline。
在【Command flags】选项组中,从【Document】列表中选择【Shared write】选项,取消选择【Use pickset】复选框,【Command】命令类型选择【Model】。
在【Group】文本框中输入CHAP2,【International】文本框中输入CreateLine,左键在【Local】文本框内单击,
系统自动添加CreateLine文本,使用系统自动给出的名称WhCHAP2CreateLine作为CreateLine命令执行的函数名称。
设置命令名称和标记之后,单击【Add】命令就能注册该命令。单击【OK】按钮关闭命令注册的对话框。如下图所示:
图(1)设置createline命令的属性
2)在XXXCommand.cpp中编写与createline命令相关函数:WhCHAP2CreateLine,内容如下:
//XXXCommand.cpp的代码内容
//// ObjectARX defined commands#include "StdAfx.h"#include "StdArx.h"#include "dbents.h"// This is command 'CREATELINE'void WhCHAP2CreateLine(){// TODO: Implement the command//在内存上创建一个新的AcDbLine对象AcGePoint3d ptStart(500,500,0);AcGePoint3d ptEnd(560,500,0);AcDbLine *pLine=new AcDbLine(ptStart,ptEnd);//获得指向块表的指针AcDbBlockTable *pBlockTable;acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,AcDb::kForRead);//获得指向特定的块表记录(模型空间)的指针AcDbBlockTableRecord *pBlockTableRecord;pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);//将AcDbLine类的对象添加到块表记录中AcDbObjectId lineId;pBlockTableRecord->appendAcDbEntity(lineId,pLine);pLine->setColorIndex(1); //设置直线为红色//关闭图形数据库的各种对象pBlockTable->close();pBlockTableRecord->close();pLine->close();}
3)按F7编译程序,按F5调试程序并加载cad.exe,打开AutoCAD2002后,在AutoCAD2002的命令行窗口输入命令:
appload
在工程的Debug目录里找到.arx文件,并加载.arx -->关闭,在AutoCAD2002的命令行窗口输入命令:
createline
效果如下:
图(2)输入appload命令加载.arx文件,输入createline命令执行画直线功能
- 使用ObjectARX在AutoCAD2002中画直线
- 使用ObjectARX在AutoCAD2002中画圆
- 使用C++在CAD中添加菜单栏(ObjectARX)
- 在ObjectARX中添加“块”
- 在XP上安装AutoCAD2002
- ObjectARX学习笔记(八)----中如何创建直线AcDbLine
- 2.4、在ObjectARX中创建对象
- 三、ObjectARX 创建一条直线
- 在ObjectARX的类定义中使用__declspec(dllimport)的危险
- ObjectArx 中反应器Reactor的使用
- 如何在窗口中画直线
- 在WindowFrom中画一条直线
- 使用GDI在桌面画直线
- 在.NET中进行AutoCAD二次开发(C#+ObjectArx)
- ObjectArx中,所属关系在deepclone和wblock的作用
- 在UiView中添加直线
- 在LCD19264 中任意位置画一条直线,或者删除一条直线
- OpenCV在图像中添加文字,画点,画直线
- Linux下RPM软件包的安装及卸载
- SAP Mobile Documents和SAP MDM Afaria的集成
- iBatis2学习笔记:SqlMap的配置总结(18条)
- 百度内推一面
- NIO机制初探
- 使用ObjectARX在AutoCAD2002中画直线
- ThinkPHP的验证码问题
- ios 各种动画animate效果
- [android] 从 SDcard 中进行文件的读取操作,含中文和数字
- krpano 教程 - action脚本运算函数
- 终于开始了
- hdu 2222
- 十二:微信公众帐号的类型(普通和会议)
- 黑马高新技术 注解篇