// (C) Copyright 2002-2003 by Autodesk, Inc. // // Permission to use, copy, modify, and distribute this software in // object code form for any purpose and without fee is hereby granted, // provided that the above copyright notice appears in all copies and // that both that copyright notice and the limited warranty and // restricted rights notice below appear in all supporting // documentation. // // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE // UNINTERRUPTED OR ERROR FREE. // // Use, duplication, or disclosure by the U.S. Government is subject to // restrictions set forth in FAR 52.227-19 (Commercial Computer // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) // (Rights in Technical Data and Computer Software), as applicable. //
//----------------------------------------------------------------------------- //----- acrxEntryPoint.h //----------------------------------------------------------------------------- #include "StdAfx.h"
//----------------------------------------------------------------------------- #define szRDS _RXST("")
//----------------------------------------------------------------------------- //----- ObjectARX EntryPoint class CArxProject2App : public AcRxArxApp {
public: CArxProject2App () : AcRxArxApp () {}
virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) { AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ; // TODO: Add your initialization code here
return (retCode) ; }
virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) { AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ; // TODO: Add your code here
AcDbObjectId CreateLine() { AcGePoint3d startPoint(10,10,0); AcGePoint3d endPoint(20,20,0); AcDbLine *pLine=new AcDbLine(startPoint,endPoint); AcDbBlockTable *pBlockTable; AcDbCurDwg()->GetBlockTable(pBlockTable,AcDbL::kForRead); AcDbBlockTableRecord *pBlockTableRecord; pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite); pBlockTable->close(); AcDbObjectId lineId; pBlockTableRecord->appendAcDEntity(lineId,pLine); pBlockTableRecord->close(); pLine->close(); return lineId; } return (retCode) ; }
virtual void RegisterServerComponents () { }
// ----- ArxProject2.test command (do not rename) static void ArxProject2test(void) { // Add your code for command ArxProject2.test here } } ;
//----------------------------------------------------------------------------- IMPLEMENT_ARX_ENTRYPOINT(CArxProject2App)
ACED_ARXCOMMAND_ENTRY_AUTO(CArxProject2App, ArxProject2, test, MyCommand1, ACRX_CMD_TRANSPARENT, NULL)
上面是我的代码,有什么不对吗?
在VC.NET上写的2004ARX