Files
envi-code/SourceCode/Code2026/tg_shs/shs_annotate/shs_annotate.cpp
T
2026-09-28 15:28:50 +08:00

550 lines
19 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// AxisNet.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#include <afxdllx.h>
#include "actrans.h"
#include <rxregsvc.h>
//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<int> cmdecho(_T("CMDECHO"), 0);
XPushVar<int> 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<ELEMENTS(g_cmdTable); i++) {
XString sCmdName(256);
sCmdName << _T("C:") << GetFullCmdName(g_cmdTable[i].szCmdGlobal);
ads_defun(sCmdName, i);
}
return RTNORM;
}