// AxisNet.cpp : Defines the initialization routines for the DLL. // #include "stdafx.h" #include #include "actrans.h" #include //add by zzg on 081203 //#include "TLineToPolyLine.h" //#include "TLineToPolyDlg.h" #include "acextensionmodule.h" // #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif // Zyu modify 100316 删除CTemporaryResourceOverride时调整资源 /* #if (ADS<=14) extern "C" HINSTANCE _hdllInstance; #else extern "C" { HINSTANCE _hdllInstance; } */ HINSTANCE _hdllInstance = NULL; AC_IMPLEMENT_EXTENSION_MODULE(arxmfcDLL); extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) { /* _hdllInstance = hInstance; return 1; // ok */ if (dwReason == DLL_PROCESS_ATTACH) { _hdllInstance = hInstance; arxmfcDLL.AttachInstance(hInstance); } else if (dwReason == DLL_PROCESS_DETACH) { arxmfcDLL.DetachInstance(); } return TRUE; } //#endif /* //extern void InitAol(const TCHAR *); MY_RES_HERE; static AFX_EXTENSION_MODULE arxmfcDLL; extern "C" BOOL APIENTRY //name modified InitModule(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)//name modified { if (dwReason == DLL_PROCESS_ATTACH) { // Extension DLL one-time initialization if(!AfxInitExtensionModule(arxmfcDLL, hInstance)) return 0; CTemporaryResourceOverride::SetDefaultResource(hInstance); // Insert this DLL into the resource chain new CDynLinkLibrary(arxmfcDLL); //Init for AOL } else if (dwReason == DLL_PROCESS_DETACH) { AfxTermExtensionModule(arxmfcDLL); //AfxMessageBox(_T("Terminating!\n")); } return 1; // ok } */ void OnLoadApp(); void OnUnloadApp(); int OnDwgLoaded(); int OnDoFunc(); extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) { switch (msg) { case AcRx::kInitAppMsg: //InitModule(_hdllInstance, DLL_PROCESS_ATTACH, NULL); acrxUnlockApplication(pkt); #if(ADS>14) acrxDynamicLinker->registerAppMDIAware(pkt); #endif OnLoadApp(); break; case AcRx::kLoadDwgMsg: OnDwgLoaded(); break; case AcRx::kInvkSubrMsg: OnDoFunc(); break; case AcRx::kSaveMsg: break; case AcRx::kUnloadDwgMsg: //Bug no message coming break; case AcRx::kUnloadAppMsg: OnUnloadApp(); //InitModule(_hdllInstance, DLL_PROCESS_DETACH, NULL); break; } return AcRx::kRetOK; } // 轴网 void InsAAxis(){} void RClipA(); void ClipAxis(); void Wall2Axis(); void ManualDimAxis(); // sg add 110928,根据结构专业的需求,增加单根轴线的功能 void TAxislineCmd(); void AxisGrid(); //void DelAxis(); //void TogAxisFlag(); static ArxCommandTable g_cmdTable[] = { {_T("TInsAAxis"), InsAAxis, 0}, }; void DimIndoor(); void DimThird(); // sg add 120120,楼梯标注 void DimStairLen(); //add by lgy 20120324 绘制云线 void DrawCloud(); void MergeDim(); void BreakDim(); void ConvertDim(); void ResetDimP(); void ResetDimT(); void DimChText(); void RemoveDimSeg(); void TogDimAngular(); void DimTextMirror(); void DimWallThick(); void DimContinue(); void DimTrimOrExt(); void DimTwoPointOld(); void DimTwoPoint(); void DimWallCen(); void CheckDim(); void DimAdjust(); void DimTogAdjust(); void DimRadius(); void DimArcLen(); void TextLine(); void SymbDrawingName(); void TextStyleEx(); void TextConvert(); void TextTogAdjust(); void TextAdjust(); void MergeText(); void TextMLine(); void TextMask(); void UnTextMask(); void BIG5_GB(); void Dbf2Sheet(); void NewSheet(); void EditRow(); void EditColumn(); void SheetFullEdit(); void EditCell(); void MergeCell(); void SymbArrow(); void SymbSection(); void SymbSection1(); void SymbElev1(); void SymbElev2(); void SymbElev3();//总图标高 void SymbLeader(); void SymbSymmetry(); void SymbNorthThumb(); void SymbIndex(); void SymbIndexPointer(); void SymbIndexSect(); void SymbComposing(); void SymbArrowText(); // shen rui add void RuptureLine(); void SymbCoord(); void StaticOpenings(); void StaticProjectOpeningTable(); void OpTableTextStyle(); void DimAxisBy2Curve(); void AutoLabelAxis(); void AutoLabelAxisAngle(); void ChAxisLabel1(); void ChAxisLabel2(); void InsAxis(); void InsRadAxis(); void AddAxisLabel(); void DelAxisLabel(); void ShowAndHideAxisDim(); void ExchangeAxisNo(); void MutiAxisLabel(); // 一轴多号,sg add 100520 void DimAngle(); void DimDiameter(); void CheckCoord(); void FindAndReplace(); void ReplaceFindText(); void StaticVolume(); void StaticProjectVolumeTable(); void TestMater(); void Sheet2Word(); void Sheet2Excel(); // 导出Excel,sg add 090909 void Excel2Sheet(); // 导入Excel,sg add 090914 // 沈睿 ADD extern void CopyCellAndPlus(); // 单元递增 extern void CopyCellContent(); // 单元复制 extern void InputSheetCell(); // 表格填写 extern void SheetDelMerge(); // 撤销合并 extern void SheetDelRow(); // 删除表行 extern void SheetInsertRow(); // 增加表行 extern void CopyCellAndPlus(); // 表行递增 extern void DimBreak(); // 打断尺寸 2004/5/17 extern void EqualTextHeight(); // 统一字高 void CopyCellContentBlock(); // 插入图块单元2008/10/21 //by lcf void SplitSheet(); void MergeSheet(); void QuickDim(); void ConbineDim(); void AverageDim(); void ArrangeDim(); void BIG5_GB(); void WordLib(); //by cwk void CheckElev(); void DivideDim(); void OuterDim(); //by fxj void SumCellDigit(); void SymbCut(); //add by xlc on 070726 void MergeAxis(); //add by zzg on 081203 //void MakeLineToPolyLine(); // sg add 091223,轴改线型 void Axis2Dote(); // add by xly on 100926 递增文字命令接口 void PassTextCmd(); // add by zyc 20120423 TDimIsometry 尺寸等距命令 void DimIsometry(); void ArrangeElev(); // 20120425 TArrangeElev 标高对齐命令 #include "RoadGradeDlg.h" void SymbRoadGrade(); //add wlw 121212 void FreedomDim(); //自由标注 框选全部实体 void DoubleLineDim(); //双层标注 带轴线的俩点标注 void DivideDimSeg(); //标注区间拆分 void ParallelDim();//平行标注 单体图下平行线标注 void RoadWideDim();//道路宽度标注 总图下平行线标注 void ArcRadDim(); //转弯半径 void RoadElev(); static ArxCommandTable g_acedCmdTable[]={ //{_T("TAxisDimp"), ManualDimAxis, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TAxisline"), TAxislineCmd, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TClipAxis"), ClipAxis, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TRectClipAxis"), RClipA, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TWall2Axis"), Wall2Axis, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TMergeDim"), MergeDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TConvDim"), ConvertDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("QuickDim"), QuickDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//add by lcf //{_T("TConbineDim"),ConbineDim,ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//add by lcf //{_T("TAverageDim"),AverageDim,ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//add by lcf //{_T("TDivideDim"),DivideDim,ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//add by cwk //{_T("TOuterDim"),OuterDim,ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//add by cwk //{_T("TArrangeDim"),ArrangeDim,ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//add by lcf //{_T("TBreakDim"), BreakDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//增补尺寸 //{_T("TResetDimP"), ResetDimP, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TResetDimT"), ResetDimT, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TChDimText"), DimChText, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDimDel"), RemoveDimSeg, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDimTog"), TogDimAngular, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDimTxtMir"), DimTextMirror, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDimWall"), DimWallThick, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("DimMP"), DimContinue, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("DimTP"), DimTwoPoint, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDimTPold"), DimTwoPointOld, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//wlw 9.0的两点标注 //{_T("TDimTrimExt"), DimTrimOrExt, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TCheckDim"), CheckDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDim3"), DimThird, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDimAdjust"), DimAdjust, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("DimRad"), DimRadius, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("DimDia"), DimDiameter, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("DimAng"), DimAngle, ACRX_CMD_MODAL}, {_T("DimArc"), DimArcLen, ACRX_CMD_MODAL}, //{_T("TDimIndoor"), DimIndoor,ACRX_CMD_MODAL}, //内墙标注 //{_T("TDimStair"), DimStairLen, ACRX_CMD_MODAL}, //{_T("RevCloud"), DrawCloud, ACRX_CMD_MODAL}, {_T("StyleEx"), TextStyleEx, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TText"), TextLine, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TMText"), TextMLine, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("DrawingName"), SymbDrawingName, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TTextConv"), TextConvert, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TTextAdjust"), TextAdjust, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TTextAdjTog"), TextTogAdjust, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TTextMerge"), MergeText, ACRX_CMD_MODAL},//|ACRX_CMD_USEPICKSET},removed by whl on 040923 //{_T("TTextMask"), TextMask, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TUTextMask"), UnTextMask, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TBIG5_GB"), BIG5_GB, ACRX_CMD_MODAL}, //{_T("TRepFind"), FindAndReplace, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TRepText"), ReplaceFindText, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TEqualTextHeight"),EqualTextHeight,ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDbf2Sheet"), Dbf2Sheet, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TNewSheet"), NewSheet, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TRowEdit"), EditRow, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TColEdit"), EditColumn, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TCellEdit"), EditCell, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TCellMerge"), MergeCell, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TSheetEdit"), SheetFullEdit, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TStatOp"), StaticOpenings, ACRX_CMD_MODAL}, //{_T("TPrjOp"), StaticProjectOpeningTable, ACRX_CMD_MODAL}, //{_T("TWDTabStyle"), OpTableTextStyle, ACRX_CMD_MODAL}, //{_T("TStatVolume"), StaticVolume, ACRX_CMD_MODAL}, //{_T("TPrjVolume"), StaticProjectVolumeTable, ACRX_CMD_MODAL}, //{_T("TCheckCoord"), CheckCoord, ACRX_CMD_MODAL}, {_T("Arrow"), SymbArrow, ACRX_CMD_MODAL}, //{_T("TRupture"), RuptureLine, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("Section"), SymbSection, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TSection1"), SymbSection1, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TElev"), SymbElev1, ACRX_CMD_MODAL}, {_T("MElev"), SymbElev2, ACRX_CMD_MODAL}, //{_T("TZElev"), SymbElev3, ACRX_CMD_MODAL},//总图标高 //{_T("TCheckElev"), CheckElev, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("Leader"), SymbLeader, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("Symmetry"), SymbSymmetry, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("NorthThumb"), SymbNorthThumb, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("IndexDim"), SymbIndex, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("IndexPtr"), SymbIndexPointer, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("Composing"), SymbComposing, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("Coord"), SymbCoord, ACRX_CMD_MODAL}, //{_T("TAxisDim"), AutoLabelAxis, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TAxisAng"), AutoLabelAxisAngle, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TAxisDim2p"), DimAxisBy2Curve, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TReAxisNo"), ChAxisLabel1, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TAxisNo"), ChAxisLabel2, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TInsAxis"), InsAxis, ACRX_CMD_MODAL},//modified by whl on 060303 //{_T("TAddLabel"), AddAxisLabel, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDelLabel"), DelAxisLabel, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TShowLabel"), ShowAndHideAxisDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 轴号隐现 //{_T("TChAxisNo"), ExchangeAxisNo, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 主附转换 //{_T("TMutiLabel"), MutiAxisLabel, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 一轴多号 //{_T("TCopyCell"), CopyCellContent, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 单元复制 //{_T("TInputSheet"), InputSheetCell, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 表格填写 //{_T("TDelMerge"), SheetDelMerge, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 撤销合并 //{_T("TSheetDelRow"), SheetDelRow, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 删除表行 //{_T("TSheetInsertRow"), SheetInsertRow, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},// 增加表行 //{_T("TCopyAndPlus"), CopyCellAndPlus, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 表行递增 //{_T("TDimDivide"), DivideDimSeg, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 打断尺寸 //{_T("TDimBreak"), DimBreak, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 拆分尺寸 //{_T("TCellInsertBlock"), CopyCellContentBlock, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 插入图块单元 //{_T("TSplitSheet"),SplitSheet, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("Sheet2Word"),Sheet2Word, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("Sheet2Excel"),Sheet2Excel, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 导出Excel,sg add 090909 //{_T("Excel2Sheet"),Excel2Sheet, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, // 导入Excel,sg add 090914 //{_T("TMergeSheet"),MergeSheet, ACRX_CMD_MODAL}, //{_T("TWordLib"), WordLib, ACRX_CMD_MODAL}, //{_T("TAxisGrid"),AxisGrid,ACRX_CMD_MODAL},//add by whl on 060320 //{_T("TSumCellDigit"),SumCellDigit, ACRX_CMD_MODAL}, {_T("SymbCut"),SymbCut,ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TMergeAxis"),MergeAxis,ACRX_CMD_MODAL},//add by xlc //{_T("TAxisDote"), Axis2Dote, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TPassText"), PassTextCmd, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TDimIsometry"), DimIsometry, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TArrangeElev"), ArrangeElev, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TFreedomDim"), FreedomDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, {_T("DoubleLineDim"), DoubleLineDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{ _T("TRoadGrade"), SymbRoadGrade, ACRX_CMD_MODAL }, {_T("ParallelDim"), ParallelDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TRoadWideDim"), RoadWideDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{_T("TArcRadDim"), ArcRadDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET}, //{ _T("TRoadElev"), RoadElev, ACRX_CMD_MODAL }, #ifndef NDEBUG {_T("TM"), TestMater, ACRX_CMD_MODAL| ACRX_CMD_USEPICKSET}, #endif }; int OnDoFunc() { int cindex; XPushVar cmdecho(_T("CMDECHO"), 0); XPushVar blipmode(_T("BLIPMODE"), 0); cindex = ads_getfuncode(); int nRet=RTNORM; if (cindex >= 0 && cindex < ELEMENTS(g_cmdTable)) { XPushUndo vTemp; (*g_cmdTable[cindex].pFun)(); ads_retvoid(); } else nRet=RTERROR; return nRet; } extern int EditSheet(AcDbObjectId id); extern int EditMutiText(AcDbObjectId id); extern int EditLineText(AcDbObjectId id); extern int EditLeader(AcDbObjectId id); extern int EditArrow(AcDbObjectId id); extern int EditComposing(AcDbObjectId id); extern int EditIndexPointer(AcDbObjectId id); extern int EditSymbIndex(AcDbObjectId id); extern int EditAxisNet(AcDbObjectId id); extern int EditSymbElevation(AcDbObjectId id); extern int EditDrawingName(AcDbObjectId id); extern int EditDim(AcDbObjectId id); extern int EditSymbCut(AcDbObjectId id); //add by lgy 20120322 编辑剖切剖面实体 extern int EditSymbSection(AcDbObjectId id); //add by lgy 20120418 编辑云线 extern int EditCloudLine(AcDbObjectId id); //add by lgd 20130822 编辑内饰符号 extern int EditInSight(AcDbObjectId id); static AecObjectEditMethod g_pOldEditAxisNet=NULL, g_pOldEditLeader=NULL, g_pOldEditArrow=NULL, g_pOldEditSheet=NULL, g_pOldEditComposing=NULL, g_pOldEditText=NULL, g_pOldEditMText=NULL, g_pOldEditSymbIndex=NULL, g_pOldEditIndexPointer=NULL, g_pOldEditSymbElevation=NULL, g_pOldEditDrawingName=NULL, g_pOldEditDim=NULL, g_pOldEditSymbCut=NULL, //add by lgy 20120322 编辑剖面剖切 g_pOldEditSymbSection = NULL, //add by lgy 20120418 编辑云线 g_pOldEditCloudLine = NULL, //add by lgd 20130822 编辑内饰符号 g_pOldEditInSight = NULL; void OnLoadApp() { TchAddCommand(_T("wfA"), g_acedCmdTable, ELEMENTS(g_acedCmdTable)); int nCustomFlag=GetCustomFlag(); if(!(nCustomFlag&CUSTOM_NO_DMLOAD)) { InitDLRegistry(_hdllInstance, _T("wfA")); UpdateDLRegistry(_T("wfA"), g_cmdTable, ELEMENTS(g_cmdTable)); UpdateDLRegistry(_T("wfA"), g_acedCmdTable, ELEMENTS(g_acedCmdTable)); } //add by lgy 20120322 编辑剖切剖面 g_pOldEditSymbSection = TDbSymbSection::SetEditMethod(EditSymbSection); //add by lgy 20120418 编辑云线 g_pOldEditCloudLine = TDbSymbModi::SetEditMethod(EditCloudLine); #if (ADS>16) //内饰符号 add by lgd 20130822 g_pOldEditInSight = TDbInSight::SetEditMethod(EditInSight); #endif //引出标注 g_pOldEditLeader=TDbSymbMultiLeader::SetEditMethod(EditLeader); //箭头引注 g_pOldEditArrow=TDbSymbArrow::SetEditMethod(EditArrow); //作法标注 g_pOldEditComposing=TDbSymbComposing::SetEditMethod(EditComposing); //索引图名 g_pOldEditSymbIndex=TDbSymbDrawingIndex::SetEditMethod(EditSymbIndex); //索引符号 g_pOldEditIndexPointer=TDbSymbIndexPointer::SetEditMethod(EditIndexPointer); //标高标注 g_pOldEditSymbElevation=TDbSymbElevation::SetEditMethod(EditSymbElevation); //图名标注 g_pOldEditDrawingName=TDbDrawingName::SetEditMethod(EditDrawingName); g_pOldEditAxisNet=TDbAxisLabelSet::SetEditMethod(EditAxisNet); g_pOldEditSheet=TDbSheet::SetEditMethod(EditSheet); //单行文字 g_pOldEditText=TDbText::SetEditMethod(EditLineText); //多行文字 g_pOldEditMText=TDbMText::SetEditMethod(EditMutiText); g_pOldEditDim=TDbDimension2::SetEditMethod(EditDim); g_pOldEditSymbCut=TDbSymbCut::SetEditMethod(EditSymbCut); } void OnUnloadApp() { acedRegCmds->removeGroup(_T("wfA")); TDbSheet::SetEditMethod(g_pOldEditSheet); TDbText::SetEditMethod(g_pOldEditText); TDbMText::SetEditMethod(g_pOldEditMText); TDbSymbMultiLeader::SetEditMethod(g_pOldEditLeader); //add by lgy 20120322 编辑剖面剖切 TDbSymbSection::SetEditMethod(g_pOldEditSymbSection); //add by lgy 20120418 编辑云线 TDbSymbModi::SetEditMethod(g_pOldEditCloudLine); TDbInSight::SetEditMethod(g_pOldEditInSight); TDbAxisLabelSet::SetEditMethod(g_pOldEditAxisNet); TDbSymbIndexPointer::SetEditMethod(g_pOldEditIndexPointer); TDbSymbArrow::SetEditMethod(g_pOldEditArrow); TDbSymbComposing::SetEditMethod(g_pOldEditComposing); TDbSymbDrawingIndex::SetEditMethod(g_pOldEditSymbIndex); TDbSymbElevation::SetEditMethod(g_pOldEditSymbElevation); TDbDrawingName::SetEditMethod(g_pOldEditDrawingName); TDbDimension2::SetEditMethod(g_pOldEditDim); TDbSymbCut::SetEditMethod(g_pOldEditSymbCut); } int OnDwgLoaded() { // ACAD的Demand loading机制在键入命令加载时, 发送了两次本消息 int i; for(i=0;i