給AutoCAD 增加超級(jí)編輯命令

2013-05-05  by:廣州有限元分析、培訓(xùn)中心-1CAE.COM  來(lái)源:仿真在線

---- AutoCAD在中國(guó)有很廣泛的用戶(hù)基礎(chǔ),同時(shí)也有很多專(zhuān)業(yè)的、業(yè)余的開(kāi)發(fā)人員。從R13版本開(kāi)始,Autodesk 提供了ARX開(kāi)發(fā)工具,面向?qū)ο蟮奶匦允归_(kāi)發(fā)人員如沐春風(fēng)。有關(guān)ARX編程與ADS編程的比較這里不再贅述,此處只講如何用ARX實(shí)現(xiàn)我們所要求的功能,不足之處請(qǐng)指正。

---- 許多二次開(kāi)發(fā)軟件均提供超級(jí)編輯命令,如Genius 14、HMCAD 6.0等等。讀者或許對(duì)這些命令很感興趣,能不能自己開(kāi)發(fā)類(lèi)似的功能呢?只要您對(duì)C++和ARX編程有一些了解,利用Autodesk提供的ObjectARX SDK軟件包(可以到Autodesk網(wǎng)址上免費(fèi)下載),您能很方便的寫(xiě)出此類(lèi)程序,雖說(shuō)不能和專(zhuān)業(yè)人員提供的超級(jí)編輯命令相媲美,但也能給您帶來(lái)不少方便。本文利用ObjectARX提供的范例程序(缺省安裝ObjectARX SDK后的路徑是X:\OBJECTARX\ARXLABS\LAB07)進(jìn)行簡(jiǎn)單的修改即可實(shí)現(xiàn)我們所要求的功能。以下是采用ObjectARX SDK 2.0,在MSVC 5.0編譯環(huán)境下測(cè)試通過(guò)。

---- 首先我們要修改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;

---- 因?yàn)槲覀円院笠訣ntTemperature作為基類(lèi),而且HgyModify函數(shù)在繼承類(lèi)中要重寫(xiě)并要求實(shí)現(xiàn)動(dòng)態(tài)調(diào)用,故此處必須聲明為虛擬函數(shù)。Virtual關(guān)健字即為C++面向?qū)ο蟮闹匾奶匦浴?/P>

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

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

---- 1、 刪除CircleTemperature、RigonTemperature及EllipseTemperature類(lèi)的所有相關(guān)內(nèi)容。

---- 2、 修改原文件中如下的內(nèi)容:


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;
}
修改后的內(nèi)容如下:
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");


開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:給AutoCAD 增加超級(jí)編輯命令 AutoCAD培訓(xùn) AutoCAD培訓(xùn)課程 AutoCAD圖紙?jiān)O(shè)計(jì) AutoCAD在線視頻 AutoCAD技術(shù)學(xué)習(xí)教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢(xún):點(diǎn)擊咨詢(xún) 點(diǎn)擊咨詢(xún)
項(xiàng)目QQ咨詢(xún):點(diǎn)擊咨詢(xún)
email:kf@1cae.com