Files
envi-code/SourceCode/Code2026/tg_shs/shs_annotate/shs_annotate.cpp
T

549 lines
19 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
// AxisNet.cpp : Defines the initialization routines for the DLL.
2026-09-28 15:28:50 +08:00
//
#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
2026-10-04 00:04:20 +08:00
// Zyu modify 100316 删除CTemporaryResourceOverride时调整资源
2026-09-28 15:28:50 +08:00
/*
#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;
}
2026-10-04 00:04:20 +08:00
// 轴网
2026-09-28 15:28:50 +08:00
void InsAAxis(){}
void RClipA();
void ClipAxis();
void Wall2Axis();
void ManualDimAxis();
2026-10-04 00:04:20 +08:00
// sg add 110928,根据结构专业的需求,增加单根轴线的功能
2026-09-28 15:28:50 +08:00
void TAxislineCmd();
void AxisGrid();
//void DelAxis();
//void TogAxisFlag();
static ArxCommandTable g_cmdTable[] = {
{_T("TInsAAxis"), InsAAxis, 0},
};
void DimIndoor();
void DimThird();
2026-10-04 00:04:20 +08:00
// sg add 120120,楼梯标注
2026-09-28 15:28:50 +08:00
void DimStairLen();
2026-10-04 00:04:20 +08:00
//add by lgy 20120324 绘制云线
2026-09-28 15:28:50 +08:00
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();
2026-10-04 00:04:20 +08:00
void SymbElev3();//总图标高
2026-09-28 15:28:50 +08:00
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();
2026-10-04 00:04:20 +08:00
void MutiAxisLabel(); // 一轴多号,sg add 100520
2026-09-28 15:28:50 +08:00
void DimAngle();
void DimDiameter();
void CheckCoord();
void FindAndReplace();
void ReplaceFindText();
void StaticVolume();
void StaticProjectVolumeTable();
void TestMater();
void Sheet2Word();
2026-10-04 00:04:20 +08:00
void Sheet2Excel(); // 导出Excel,sg add 090909
void Excel2Sheet(); // 导入Excel,sg add 090914
2026-09-28 15:28:50 +08:00
2026-10-04 00:04:20 +08:00
// 沈睿 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(); // 统一字高
2026-09-28 15:28:50 +08:00
2026-10-04 00:04:20 +08:00
void CopyCellContentBlock(); // 插入图块单元2008/10/21
2026-09-28 15:28:50 +08:00
//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();
2026-10-04 00:04:20 +08:00
// sg add 091223,轴改线型
2026-09-28 15:28:50 +08:00
void Axis2Dote();
2026-10-04 00:04:20 +08:00
// add by xly on 100926 递增文字命令接口
2026-09-28 15:28:50 +08:00
void PassTextCmd();
2026-10-04 00:04:20 +08:00
// add by zyc 20120423 TDimIsometry 尺寸等距命令
2026-09-28 15:28:50 +08:00
void DimIsometry();
2026-10-04 00:04:20 +08:00
void ArrangeElev(); // 20120425 TArrangeElev 标高对齐命令
2026-09-28 15:28:50 +08:00
#include "RoadGradeDlg.h"
void SymbRoadGrade();
//add wlw 121212
2026-10-04 00:04:20 +08:00
void FreedomDim(); //自由标注 框选全部实体
void DoubleLineDim(); //双层标注 带轴线的俩点标注
void DivideDimSeg(); //标注区间拆分
void ParallelDim();//平行标注 单体图下平行线标注
void RoadWideDim();//道路宽度标注 总图下平行线标注
void ArcRadDim(); //转弯半径
2026-09-28 15:28:50 +08:00
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
2026-10-04 00:04:20 +08:00
//{_T("TBreakDim"), BreakDim, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//增补尺寸
2026-09-28 15:28:50 +08:00
//{_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},
2026-10-04 00:04:20 +08:00
//{_T("TDimTPold"), DimTwoPointOld, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},//wlw 9.0的两点标注
2026-09-28 15:28:50 +08:00
//{_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},
2026-10-04 00:04:20 +08:00
//{_T("TDimIndoor"), DimIndoor,ACRX_CMD_MODAL}, //内墙标注
2026-09-28 15:28:50 +08:00
//{_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},
2026-10-04 00:04:20 +08:00
//{_T("TZElev"), SymbElev3, ACRX_CMD_MODAL},//总图标高
2026-09-28 15:28:50 +08:00
//{_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},
2026-10-04 00:04:20 +08:00
//{_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}, // 插入图块单元
2026-09-28 15:28:50 +08:00
//{_T("TSplitSheet"),SplitSheet, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},
//{_T("Sheet2Word"),Sheet2Word, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET},
2026-10-04 00:04:20 +08:00
//{_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
2026-09-28 15:28:50 +08:00
//{_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);
2026-10-04 00:04:20 +08:00
//add by lgy 20120322 编辑剖切剖面实体
2026-09-28 15:28:50 +08:00
extern int EditSymbSection(AcDbObjectId id);
2026-10-04 00:04:20 +08:00
//add by lgy 20120418 编辑云线
2026-09-28 15:28:50 +08:00
extern int EditCloudLine(AcDbObjectId id);
2026-10-04 00:04:20 +08:00
//add by lgd 20130822 编辑内饰符号
2026-09-28 15:28:50 +08:00
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,
2026-10-04 00:04:20 +08:00
//add by lgy 20120322 编辑剖面剖切
2026-09-28 15:28:50 +08:00
g_pOldEditSymbSection = NULL,
2026-10-04 00:04:20 +08:00
//add by lgy 20120418 编辑云线
2026-09-28 15:28:50 +08:00
g_pOldEditCloudLine = NULL,
2026-10-04 00:04:20 +08:00
//add by lgd 20130822 编辑内饰符号
2026-09-28 15:28:50 +08:00
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));
}
2026-10-04 00:04:20 +08:00
//add by lgy 20120322 编辑剖切剖面
2026-09-28 15:28:50 +08:00
g_pOldEditSymbSection = TDbSymbSection::SetEditMethod(EditSymbSection);
2026-10-04 00:04:20 +08:00
//add by lgy 20120418 编辑云线
2026-09-28 15:28:50 +08:00
g_pOldEditCloudLine = TDbSymbModi::SetEditMethod(EditCloudLine);
#if (ADS>16)
2026-10-04 00:04:20 +08:00
//内饰符号 add by lgd 20130822
2026-09-28 15:28:50 +08:00
g_pOldEditInSight = TDbInSight::SetEditMethod(EditInSight);
#endif
2026-10-04 00:04:20 +08:00
//引出标注
2026-09-28 15:28:50 +08:00
g_pOldEditLeader=TDbSymbMultiLeader::SetEditMethod(EditLeader);
2026-10-04 00:04:20 +08:00
//箭头引注
2026-09-28 15:28:50 +08:00
g_pOldEditArrow=TDbSymbArrow::SetEditMethod(EditArrow);
2026-10-04 00:04:20 +08:00
//作法标注
2026-09-28 15:28:50 +08:00
g_pOldEditComposing=TDbSymbComposing::SetEditMethod(EditComposing);
2026-10-04 00:04:20 +08:00
//索引图名
2026-09-28 15:28:50 +08:00
g_pOldEditSymbIndex=TDbSymbDrawingIndex::SetEditMethod(EditSymbIndex);
2026-10-04 00:04:20 +08:00
//索引符号
2026-09-28 15:28:50 +08:00
g_pOldEditIndexPointer=TDbSymbIndexPointer::SetEditMethod(EditIndexPointer);
2026-10-04 00:04:20 +08:00
//标高标注
2026-09-28 15:28:50 +08:00
g_pOldEditSymbElevation=TDbSymbElevation::SetEditMethod(EditSymbElevation);
2026-10-04 00:04:20 +08:00
//图名标注
2026-09-28 15:28:50 +08:00
g_pOldEditDrawingName=TDbDrawingName::SetEditMethod(EditDrawingName);
g_pOldEditAxisNet=TDbAxisLabelSet::SetEditMethod(EditAxisNet);
g_pOldEditSheet=TDbSheet::SetEditMethod(EditSheet);
2026-10-04 00:04:20 +08:00
//单行文字
2026-09-28 15:28:50 +08:00
g_pOldEditText=TDbText::SetEditMethod(EditLineText);
2026-10-04 00:04:20 +08:00
//多行文字
2026-09-28 15:28:50 +08:00
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);
2026-10-04 00:04:20 +08:00
//add by lgy 20120322 编辑剖面剖切
2026-09-28 15:28:50 +08:00
TDbSymbSection::SetEditMethod(g_pOldEditSymbSection);
2026-10-04 00:04:20 +08:00
//add by lgy 20120418 编辑云线
2026-09-28 15:28:50 +08:00
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()
{
2026-10-04 00:04:20 +08:00
// ACAD的Demand loading机制在键入命令加载时, 发送了两次本消息
2026-09-28 15:28:50 +08:00
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;
}