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;
|
|
|
|
|
|
}
|
|
|
|
|
|
|