土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 给AutoCAD 增加超级编辑命令

给AutoCAD 增加超级编辑命令

发布于:2005-10-16 10:03:16 来自:建筑设计/CAD下载及教程 [复制转发]
---- AutoCAD在中国有很广泛的用户基础,同时也有很多专业的、业余的开发人员。从R13版本开始,Autodesk 提供了ARX开发工具,面向对象的特性使开发人员如沐春风。有关ARX编程与ADS编程的比较这里不再赘述,此处只讲如何用ARX实现我们所要求的功能,不足之处请指正。

---- 许多二次开发软件均提供超级编辑命令,如Genius 14、HMCAD 6.0等等。读者或许对这些命令很感兴趣,能不能自己开发类似的功能呢?只要您对C++和ARX编程有一些了解,利用Autodesk提供的ObjectARX SDK软件包(可以到Autodesk网址上免费下载),您能很方便的写出此类程序,虽说不能和专业人员提供的超级编辑命令相媲美,但也能给您带来不少方便。本文利用ObjectARX提供的范例程序(缺省安装ObjectARX SDK后的路径是X:\OBJECTARX\ARXLABS\LAB07)进行简单的修改即可实现我们所要求的功能。以下是采用ObjectARX SDK 2.0,在MSVC 5.0编译环境下测试通过。



---- 首先我们要修改enttemp.h文件:



---- 原文件如下:



class EntTemperature : public AcRxObject

{

public:

ACRX_DECLARE_MEMBERS(EntTemperature);

virtual double reflectedEnergy(AcDbEntity* pEnt) const = 0;

};

将斜体部分修改成如下:

virtual Adesk::Boolean HgyModify(AcDbEntity* pEnt)

const = 0;



---- 因为我们以后要以EntTemperature作为基类,而且HgyModify函数在继承类中要重写并要求实现动态调用,故此处必须声明为虚拟函数。Virtual关健字即为C++面向对象的重要的特性。

---- 第二、删除tempapp.def文件中的energy文本。



---- 第三、修改tempapp.cpp文件:



---- 1、 删除CircleTemperature、RigonTemperature及EllipseTemperature类的所有相关内容。



---- 2、 修改原文件中如下的内容:



class DefaultTemperature : public EntTemperature

{

public:

virtual double reflectedEnergy(AcDbEntity* pEnt) const;

};

double DefaultTemperature::reflectedEnergy

(AcDbEntity* pEnt) const

{

ads_printf("\nThis entity has no area, and no reflection.\n");

return -1.0;

}

修改后的内容如下:

class DefaultTemperature : public EntTemperature

{

public:

virtual Adesk::Boolean HgyModify(AcDbEntity* pEnt) const;

};



Adesk::Boolean DefaultTemperature::

HgyModify(AcDbEntity* pEnt) const

{

ads_printf("\nThe entity hasn’t defined,

and nothing to be modified.\n");
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 658 人订阅

猜你喜欢

阅读下一篇

在AutoCAD中设计用户专用线型

一、引言绘制复杂管线布置图时,往往在一张图纸上要求表示数十种管线。在AutoCAD R14中绘制管线布置图时,一般用普通的粗虚线和粗实线区别表示厂房内和厂房外的这数十种新辅管线,然后在线旁用字母或汉字标注管线名称。其次,在图中还要求用细线和点划线表示道路和建筑物,用细线加标注表示原有管线,各个分厂的分管线也要加以区别(一般用标注右上角加一撇、两撇等方法加以区别)。另外,图中还大量标注了各路管线起始点、拐点、交点的辅设坐标位置,因此图面十分拥挤混乱,这使得图样的绘制、校对和审核都十分困难,极容易漏画、错画、误审、误判,给总体规划的决策带来极大的不便,也给以后的按图施工埋下不少隐患。如果能将标注的字母或汉字夹注在管线中,当然可以使拥挤的图面变得较为清晰、简洁。笔者在AutoCAD R14中发现有类似的线型,如“------GAS------GAS”是在管线沿途夹注了GAS字样,正好符合要求。可是AutoCAD R14仅提供两种这样的线型,远远不能满足需求。这就需要设计用户专用线型,以满足应用要求。

回帖成功

经验值 +10