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();