550 lines
19 KiB
C++
550 lines
19 KiB
C++
// 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;
|
||
}
|
||
|