ZRX¿ª·¢ÊÖ²á ÏÂÔØ±¾ÎÄ

ZcDbDatabaseReactor::objectOpenedForModify d ¶ÔÏó·´Ó¦Æ÷

ZcDbObjectReactor::erased ZcDbObjectReactor::modified ZcDbObjectReactor::openedForModify 2. Ôö¼ÓÊÂÎñ¹ÜÀí¹¦ÄÜ½Ó¿Ú a ³¤ÊÂÎñ¹ÜÀíÀà

ZcApLongTransactionManager::checkIn ZcApLongTransactionManager::checkOut ZcDbLongTransaction::addToWorkSet ZcDbLongTransaction::newWorkSetIterator ZcDbLongTransaction::removeFromWorkSet ZcDbLongTransaction::originBlock ZcDbLongTransaction::originObject ZcDbLongTransaction::workSetHas b³¤ÊÂÎñ¹¤×÷¼¯±éÀúÆ÷

ZcDbLongTransWorkSetIterator::start ZcDbLongTransWorkSetIterator::step

ZcDbLongTransWorkSetIterator::curObjectIsErased ZcDbLongTransWorkSetIterator::curObjectIsPrimary ZcDbLongTransWorkSetIterator::curObjectIsRemoved ZcDbLongTransWorkSetIterator::done ZcDbLongTransWorkSetIterator::objected c ÊÂÎñ¹ÜÀíÀà

ZcDbTransactionManager::getAllObjects ZcDbTransactionManager::getObject ZcDbTransactionManager::abortTransaction

ZcDbTransactionManager::addNewlyCreatedDBRObject ZcDbTransactionManager:: startTransaction d ÊÂÎñÀà

ZcTransaction::getAllObjects ZcTransaction::getObject

3. Ôö¼Ó»ù±¾UI½çÃæÀà CZdUiBaseDialog CZdUiDialog CZcUiDialog

ÉÏÃæµÄUIÀà½Ó¿Ú£¬×÷ΪZRXµÄ¼¸¸öºÜ»ù±¾µÄ UI¶Ô»°¿òÀà, ʵÏÖÁËBeginEditorComand¡¢CancelEditorCommand¡¢ CompleteEditorCommandµÈ¹¦Äܺ¯Êý¡£ ÔÚÓû§ÓëCAD½»»¥¹ý³ÌÖÐ,

½«²Ù×÷½¹µã´Ó¶Ô»°¿òÇл»µ½ÃüÁîÐУ¬ÌṩÁ˹¦ÄÜ»úÖÆ¡£

4. Ôö¼ÓÈ«¾Öº¯Êý zcedSetCurrentVport zcedGetCurViewportObjectId modelToPixel pixelToModel ucsNormalVector ucsXDir ucsYDir

zdsw_executeUICommand

5. ²¿·Ö½Ó¿ÚÀàµÄÍêÉÆ

a Õë¶ÔZcDbDababaseÀಿ·Ö³ÉÔ±º¯Êý¹¦ÄܽøÐмÓÇ¿ºÍÍêÉÆ b Ôö¼Ó¶ÔZcDbBody¡¢ZcDbShapeͼÐÎʵÌåÀàµÄÖ§³Ö

c Ôö¼Ó¶ÔZcApDocManager::sendStringToExecuted ½Ó¿Ú¹¦ÄܵĻù±¾Ö§³Ö£¬£¨×¢Ò⣺¸Ã½Ó¿Úº¯

ÊýĿǰֻ¶ÔµÚ¶þ²ÎÊýconst char* pszExecuteÓÐЧ£© d ÔöÇ¿¼°ÍêÉÆZcDb2dPolylineͼÐÎʵÌåÀà e ÍêÉÆZcDbObject¶ÔÏó»ùÀà

6. ¼æÈÝ´¦ÀíacrxGetApiVersionº¯Êýµ¼³ö

ÔÚÏÈǰµÄ°æ±¾À½«ARX³ÌÐòÒÆÖ²µ½ZRXµÄ¹¤³ÌÖУ¬ÐèÒªÊÖ¶¯½«¹¤³ÌÀï .def ÎļþÀïµÄacrxGetApiVersionµ¼³öº¯Êý½øÐÐ×¢ÊÍ»òÕßɾ³ýµô£¬·ñÔòVC±àÒëϵͳ»áÌáʾ¡°error LNK2001: unresolved external symbol acrxGetApiVersion¡­¡±Á´½Ó´íÎ󡣸ð汾Õë¶ÔÕâ¸öÎÊÌâ×öÁËÈÝ´í´¦Àí£¬Óû§ÔÚÒÆÖ²µÄ¹¤³ÌÖв»ÐèÒªÔÙÈ¥ÐÞ¸Ä.defÎļþÁË¡£

>>>¸ü¶àÏêϸ˵Ã÷Çë²Î¿¼¡¶ZRX¿ª·¢Ö¸ÄÏ¡·¡£

ZZR¸Å ÊöÊö RXX ¸ÅZRX¼ò ½é

ZRX¡ª¡ªZWCAD Runtime eXtension, ÊÇZWCADÌṩһÌ×ÃæÏò¶ÔÏóµÄC++Ó¦ÓóÌÐò½Ó¿Ú¡£Óû§Ê¹ÓÃÕâÌ×½Ó¿Ú¿ÉÒÔ¿ª·¢¸÷ÖÖZWCAD¹¦ÄÜÓ¦ÓõijÌÐò£¬°üÀ¨¼¸ºÎͼÐεĴ´½¨¡¢´´½¨×Ô¶¨ÒåÀà¡¢¶àÎĵµÓ¦Óá¢Ê¼þ·´Ó¦Í¨¸æ¡¢¶ÔDWGÊý¾Ý¿â½øÐвÙ×÷µÈ¡£ Æä´Î£¬ ZRXÔÚZWCADµÄ¹«¿ªµÄ½Ó¿ÚÉÏʵÏÖÁËARX¶ÔÓ¦µÄÀàºÍº¯Êý£¬ÔÚ´úÂë·ç¸ñºÍ½á¹¹ÉÏ£¬ZRXÍêÈ«¼æÈÝARX´úÂ룬ԭARX³ÌÐòÔÚ¼¸ºõ²»¸ÄÈκδúÂëµÄǰÌáÏ£¬Í¨¹ýÖØÐ±àÒë±ã¿ÉÖ±½ÓÒÆµ½ÔÚZWCADƽ̨ÉϽøÐÐÔËÐС£ÕâÑù´ó´óÌá¸ß¿ª·¢Óû§µÄ´ÓARX³ÌÐòÏòZRX³ÌÐòµÄÒÆÖ²Ð§ÂÊ£¬Õû¸ö´úÂëÒÆÖ²³É±¾¼¸ºõΪ¡°0¡±¡£ Ô­ARXÔ´´úÂëÔÚZRXÉϱàÒë³öÀ´µÄDLL¼ÓÔØµ½ZWCAD, ÔËÐÐʱ»á°ÑARXµÄ½Ó¿Úµ÷ÓÃת½Óµ½ZRX.dll¶¯Ì¬Á¬½Ó¿â, È»ºóZRX.dll¶¯Ì¬¿â°Ñ½Ó¿Úµ÷ÓÃת½Óµ½ZWCAD¡£ ×îÖÕ£¬ZWCAD¾Í¿ÉÒ԰ѽӿڵ÷ÓÃת½Óµ½Óû§µÄARX´úÂëÖУ¬ÒÔ´ïµ½Ö´ÐÐÏà¹ØµÄ¹¦ÄÜÃüÁî¡£

¿ª·¢»·¾³ÒªÇó

ZRXSDK for ZWCAD 2010 (ÒÔϼò³ÆZRX)£¬Ç¿ÁÒ½¨ÒéÓû§²ÉÓÃMicrosoft Visual C++ 2008 ¿ª·¢Æ½Ì¨ ºÍ ZWCAD 2010 ƽ̨¡£

¹¦ÄÜÌØÐÔÁоÙ

1£®³£Óûù±¾¹¦ÄÜ£¬ÈçDWGÊý¾Ý¿â¶Áд·ÃÎÊ£¬×¢²áÃüÁ»ñÈ¡Óû§ÊäÈëµã»òÕß×Ö·û´®µÈ£» 2£®Êý¾Ý¿âͼÐÎʵÌ壬 ÈçZcDbLine¡¢ZcDbCircle¡¢ZcDbArcµÈ£» 3£®À©Õ¹Êý¾ÝºÍÀ©Õ¹×ֵ䣬 XData & XDictionary£»

4£®×Ô¶¨ÒåʵÌåºÍ¶ÔÏ󣬴ÓZcDbObject¡¢ZcDbEntity»òÆäËüÀàÅÉÉú£»

5£®Îĵµ¹ÜÀí¹¦ÄÜ£¬ÌṩÎĵµ¹ÜÀíÆ÷ZcApDocManager ,ÎĵµÀàZcApDocumentµÈ½Ó¿Ú£» 6£®·´Ó¦Æ÷¹¦ÄÜ£¬ÌṩÊý¾Ý¿â·´Ó¦Æ÷£¬Îĵµ·´Ó¦Æ÷£¬±à¼­Æ÷·´Ó¦Æ÷£¨°üÀ¨ ÃüÁî·´Ó¦Æ÷£¬Êó±ê

ÓÒ¼üÏûÏ¢µÈ£©£¬¶ÔÏó·´Ó¦Æ÷£¬ÓÀ¾Ã·´Ó¦Æ÷£» 7£®Í϶¯Jigs£¬ZcEdJig£»

8£®Ð­ÒéÀ©Õ¹£¨Protocol Extensions£©£»

9£®¼¸¸ö»ù±¾UI½çÃæÀàµÄÖ§³Ö£¬CZcUiDialog¡¢CZdUiDailog¡¢CZdUiBaseDialog¡£

ZRX±àÂëÌØÕ÷

ZRX API Ö÷ÒªµÄÌØÕ÷¾ÍÊÇ¿ÉÒÔͬʱ¼æÈÝÁ½Ì×ÐÎʽµÄ³ÌÐò±àÂ룬¼È¿ÉÒÔ¼æÈÝ×Ô¼º±¾ÉíµÄZRX³ÌÐò±àÂëÓÖ¿ÉÒÔ¼æÈÝARX³ÌÐò±àÂë¡£ÀýÈçÓÐÏÂÃæµÄÁ½ÖÖÐÎʽ±àÂ룬ÔÚZWCADƽ̨É϶¼ÊÇ¿ÉÒÔÕý³£ÔËÐеģº

ZRX ³ÌÐò±àÂ룺

void drawSimpleLine() { }

ZcGePoint3d pntStart; ZcGePoint3d pntEnd;

if (RTNORM != zcedGetPoint( NULL, \

return;

if (RTNORM != zcedGetPoint( NULL, \

return;

ZcDbLine* pLine = new ZcDbLine(pntStart, pntEnd); ZcDbObjectId eId;

addEntityToDb(eId, pLine); pLine->close();

ARX ³ÌÐò±àÂ룺 void drawSimpleLine() { }

AcGePoint3d pntStart; AcGePoint3d pntEnd;

if (RTNORM != acedGetPoint( NULL, \

return;

if (RTNORM != acedGetPoint( NULL, \

return;

AcDbLine* pLine = new AcDbLine(pntStart, pntEnd); AcDbObjectId eId;

addEntityToDb(eId, pLine); pLine->close();