Files
envi-code/SourceCode/Code2026/inc/EarThwormDef.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

3826 lines
118 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.
#pragma once
#ifndef DBXEARTHWORM_MODULE
#define DBXEARTHWORM_MODULE _T("DBXEARTHWORM_MODULE")
#endif
#ifndef WM_COMPAREDWGMSG
#define WM_COMPAREDWGMSG (WM_USER+0x1001)
#endif
#ifndef WM_COMPAREDOCDELETED
#define WM_COMPAREDOCDELETED (WM_USER+0x1002)
#endif
#ifndef WM_SHOWANNOTATES
#define WM_SHOWANNOTATES (WM_USER+0x1003)
#endif
#ifndef WM_PARTCOMPAREDWGMSG
#define WM_PARTCOMPAREDWGMSG (WM_USER+0x1004)
#endif
#ifndef WM_ERASECOMPAREAREA
#define WM_ERASECOMPAREAREA (WM_USER+0x1005)
#endif
#ifndef WM_DOCNOWPLOT
#define WM_DOCNOWPLOT (WM_USER+0x1006)
#endif
#ifndef WM_VIEW_LBUTTONDOWN
#define WM_VIEW_LBUTTONDOWN (WM_USER+0x1007)
#endif
#define UIICOMMONDLLEXPORT
#ifndef COLOR_WATERMARK
#define COLOR_WATERMARK 230
#endif
#ifndef MAX_BYTELEN
#define MAX_BYTELEN 34
#endif
#if ARX < 19
#define nullptr NULL
#endif
#ifndef MAX_BIM_DATA_LEN
#define MAX_BIM_DATA_LEN 1000
#endif
typedef struct GlobalContext
{
int g_nCirDeviation; //弧,圆 分段
int g_nEleGripPos; //标高节点显示位置 0 廊顶 1中线 2廊底
int g_lockPass; //是否通过锁 1394 通过 其他不通过
HWND hWnd; //临时的和子工程界面交互的窗口
}GLOBALCONTEXT;
typedef enum EFnctType
{
kStartOrEnd = 0, //起始位置
kEspJoint = 1, //分段缝
kDrainWell = 2, //集水井
kPipeDoghouse = 3, //管类投料口
kCableDoghouse = 4, //线缆类投料口
kHeatDoghouse = 5, //热力投料口
kVenDoghouse = 6, //通风口
kFirwWall = 7, //防火墙
kEscapeHatch = 8, //逃生人孔
kFireOutlet = 9, //消防引出口
kEWOutLethouse = 10, //水电管廊引出口
kHTOutLetHouse = 11, //热力舱引出口
kCrossUplifted = 12, //管廊交叉隆起
kUserDoghouse = 13, //任意开口上下左右
kSinkOutletRoom = 14, //管廊交叉交叉下沉,预制结构
kSinkOutletRoom20 = 15, //管廊交叉上部八边形上部结构
kSinkOutletRoom21 = 16, //管廊交叉下沉八边形下部结构
kProModel = 17, //族结构节点
kStackNode = 18, //桩号,里程节点
kBDOutLetHouse = 19, //直埋引出
kSubEspJoint = 20, //变形缝,每个分段下的变形缝,不产生新分段,和上述节点同
kRoomBroaden = 21, //舱室墙体拓宽
kRoomArcFillet = 22, //管廊连接倒圆结构
kVerticalWell = 23, //圆形或方型竖井
//以下非功能数值
kGripCtrlView = 999, //控制视图用
kGripCtrlErase = 1000, //节点删除夹点
kSegGradient = 1001, //段坡度
kSegElevation = 1002, //段标高
kSegCtrlOffset = 1003, //本段偏移
kSegStretchNew = 1004, //拉伸产生新的对象
kSegStretchDir = 1005, //按角度拉伸产生新的对象
kGripMsgContinue = 1006,
kGripPoint = 9999 //夹点,特殊标记
}EFNCTTYPE;
typedef struct EWFnctNode
{
double dDistFromPre; //本段长度位置点;距离上个节点的长度
EFnctType eFnType; //功能类型
float fNodeDef[64]; //节点尺寸
TCHAR szStake[65]; //桩号
TCHAR szLockId[39]; //锁定id
TCHAR szNodeSpec[MAX_PATH];//等级描述
TCHAR szNodeDefSpec[2*MAX_PATH];//附件等级,
int nRoomIndex; //舱索引
int nFlag; //
EWFnctNode* pFncNodeNext; //本段附属节点,如防火墙,各中口
int nProModelBufLen;//异型建模内存长度
byte* pProModelBuffer;//异型建模数据
//注 EWFnctNode 增加会影响文件格式Dwgin/out!!!!!!!!!!!!!!
}EWFNCTNODE;
typedef struct EWFnctNodePos
{
EWFnctNode node;
AcGePoint3d ptPos;
AcGeVector3d vtDir;
double dGradient;
AcDbObjectId idOwner;
}EWFNCTNODEPOS;
typedef struct GripAppData //夹点应用程序定义
{
short nIndex; //夹点索引
AcGePoint3d ptGrip; //夹点位置
AcGeVector3d vtDir; //方向
short nPos; //夹点位置解释
short nRoomIndex; //
short nSegIndex; //节段索引
short nSubSegIndex;//子节段索引,缝
TCHAR szTip[256]; //夹点提示
TCHAR szLockId[39];//锁定id,如果有
AcDbObjectId idHost; //
double dDistAtPoint; //盾构纵断位置
}GRIPAPPDATA;
typedef struct GripMessage
{
int nType;//0 EWFnctNode 1 GripAppData 2 ctrlview 3 mod ele 4 move 5 infMsg 6 upwall -1 未知
AcDbObjectId idHost;
AcDbObjectId idAsso;
PVOID pParam; //参数
Adesk::Int16 nData; //消息触发的接口 -1 表示全部触发
TCHAR szLockId[39]; //锁定id,如果有
TCHAR szUser[39]; //user指定
double fData;
short nSegindex;
short nSubSegIndex; //
bool bCmdPosted;//在反应器中是否已经发出标记
AcGeVector3d vtOffset; //位移
AcGePoint3d ptGrip; //夹点
AcGePoint3d ptRelt; //预留
}GRIPMESSAGE;
#define PIPE_BROKENNUM 256
#define GRIP_LENGTH 256
#define GRIP_MAXNUM 256 // Rem:
typedef struct EWFnctNodeGrip
{
EFnctType eFnType; //功能类型
EFnctType eFnTypeOn; //节点类型
TCHAR szLockId[65]; //锁定id
TCHAR szStake[65]; //桩号
AcGePoint3d ptPos; //grip点
short nRoomIndex; //舱室索引
short nSegIndex; //段索引
short nSubSegIndex; //子分段索引
}EWFNCTNODEGRIP;
typedef enum EPosition //夹点位置解释
{
eStart = 0, //夹点 Start 点
eMid = 1, //夹点 中点
eEnd = 2, //夹点 End点
eBr1 = 3, //夹点 分支点1
eBr2 = 4, //夹点 分支点2
eBr3 = 5, //夹点 分支点3
eBr4 = 6, //夹点 分支点4 1~4一般用于三通,四通
eInf1 = 7, //夹点 接口点1
eInf2 = 8, //夹点 接口点2
eInf3 = 9, //夹点 接口点3
eInf4 = 10, //夹点 接口点4
eInf5 = 11, //夹点 接口点5
eInf6 = 12, //夹点 接口点6
eInf7 = 13, //夹点 接口点7
eInf8 = 14, //夹点 接口点8
eInf9 = 15, //夹点 接口点9
eInf10 = 16, //夹点 接口点10 1~10 用于小型设备的接口
eFlag = 17, //旗帜
eEdit = 18, //修改标记
eDim0 = 19, //夹点 标注0
eDim1 = 20, //夹点 标注1
eDim2 = 21, //夹点 标注2 0~2 用于埋标注的夹点解释
eAdjust0 = 22, //调整点
eHitEdit = 23, //单击修改
eSizeMid0 = 30, //夹点 尺寸0
eSizeMid1 = 31, //夹点 尺寸1
eSizeMid2 = 32, //夹点 尺寸2
eSizeMid3 = 33, //夹点 尺寸3 0~3 用于尺寸拉动的夹点
eCommand0 = 40, //夹点 命令点0
eCommand1 = 41, //夹点 命令点1
eCommand2 = 42, //夹点 命令点2
eCommand3 = 43, //夹点 命令点3 0~3 用于启动命令的夹点
eCommand4 = 44, //夹点 命令点
eCommand5 = 45, //夹点 命令点
eCommand6 = 46, //夹点 命令点
eCommand7 = 47, //夹点 命令点
eCommand8 = 48, //夹点 命令点
eCommand9 = 49, //夹点 命令点
eCommand10 = 50, //夹点 命令点
eCommand11 = 51, //夹点 命令点
eCommand12 = 52, //夹点 命令点
eCommand13 = 53, //夹点 命令点
eCommand14 = 54, //夹点 命令点
eCommand15 = 55, //夹点 命令点
eCommand16 = 56, //夹点 命令点
eCommand17 = 57, //夹点 命令点
eCommand18 = 58, //夹点 命令点
eCommand19 = 59, //夹点 命令点
eCommand20 = 60, //夹点 命令点
eInfErase = 61, //接口删除命令,合并管子
}EPOSITION;
typedef enum GripFnc
{
eModify = 0,//修改
eErase = 1,//删除
eElPt = 2,//标高
eGradPt = 3,//坡度
eMovePt = 4,//拖拽
eInfo = 5,//信息查询
}GRIPFNC;
typedef struct AecGripData
{
short nIndex; //夹点索引
short nColor;
AcGePoint3d ptGrip; //夹点位置
AcGePoint3d ptDim[3]; //标注
short nDimType; //标注类型
AcGeVector3d vtDir; //方向
EPosition ePos; //夹点位置解释
short nPos; //夹点位置解释
short nRoomIndex; //
short nSegIndex; //节段索引
short nSubSegIndex;//子节段索引,缝
TCHAR szTip[256]; //夹点提示
TCHAR szID[256];
TCHAR szLockId[39];//锁定id,如果有
double dDistAtPoint;//盾构纵断位置,或管壁厚
AcDbObjectId idHost;
AcDbEntity* pOwner;
}AECGRIPDATA;
typedef struct PointDir
{
AcGePoint3d pt;
AcGeVector3d vt;
}POINTDIR;
//连个节点之间为一个 segment 一个 segment按20米制造, 中间有伸缩缝
//
// EWSegment
//<--------------------------------------------------------------------------->
//缝node 缝node 缝node 缝node 缝node
//+-----------------+-------------------------+----------------------+--------+
// | | |
// | | |
// --*--*... --*--*... ---*--*...
// 附属口 附属口 附属口,
//
//
//
//
// [@#] 外部附属对象 [@#] 外部附属对象 [@#] 外部附属对象
//梯度段,本段分为多个子段,每个字段梯度相同
typedef struct EWSegment
{
double dGradient; //坡度 n% +上升, -下降 两点的高程差与其水平距离的百分比
double dDistLen; //长度距离
TCHAR szStake[17]; //桩号
int nDeformationJoints; //子段,变形缝数量
EWFnctNode* pDeformationJoints; //子段,变形缝.变形缝下代表一个子段,
}EWSEGMENT;
typedef struct EWStackPoint
{
AcGePoint3d ptPos;
TCHAR szStake[17]; //桩号
TCHAR szRever[MAX_PATH]; //其他
EWFnctNode* pFnNode; //节点
}EWSTACKPOINT;
typedef struct GripPtSpec
{
AcGePoint3d ptOn;
int nSpec;
TCHAR szStake[17];
TCHAR szLockID[39];
}GRIPPTSPEC;
typedef enum ESection
{
eXShape = 0, //不确定截面
eRect = 1, //矩形
eCircle = 2, //圆形
eEllispe = 3, //椭圆
eUserDef = 4, //自定义
eRightTri= 5, //直角三角形
eEquilTri= 6, //等边三角形
eTrape = 7, //梯形
eTriangle = 8, // 三角形
eWw = 9, //墙体 不等宽墙 截面
eOblate = 10, // 扁圆形
eNSides = 11, //正n边形
}ESECTION;
typedef enum EAlign
{
kLeft = -1,
kMid = 0,
kRight = 1,
}EALIGN;
typedef struct ERoom
{
AcGePoint3d ptGe[4];
}EROOM;
typedef struct EBoss
{
int nRoomIndex;
double dDirLen; //纵向长度,每段
double dBreakSpace; //断开间隙
AcGePoint3d ptData; //凸台尺寸定位,凸台 pt代表 x 凸台中心距离室内左边尺寸 y, z 台宽高
}EBOSS;
typedef struct EBossEx
{
int nRoomIndex;
double dDirLen; //纵向长度,每段
double dBreakSpace; //断开间隙
AcGePoint3d ptData; //凸台尺寸定位,凸台 pt代表 x 凸台中心距离室内左边尺寸 y, z 台宽高
double dDn;//公称
double dD;//外径
double dt;//壁厚
double dRate;//曲率半径
TCHAR szMat[33];//材质
TCHAR szSys[33];//系统用途
TCHAR szLntype[33];//线型
short nColor;//颜色
}EBOSSEX;
typedef struct EHolder // 支架
{
// 舱室
int nRoomIndex;
// 是否左侧
bool bLeft;
// 支架行数
int N;
// 支架垂直间距(m)
double V;
// 支架纵向间距(m)
double H;
// 距离廊内顶距离(m)
double D;
// 支架臂长度(mm)
double L;
// 角钢宽度(mm)
double W;
// 角钢厚度(mm)
double t;
// 材质
TCHAR szMat[33];
// 用途
TCHAR szUsage[33];
}EHolder;
typedef struct EHanger // 吊架
{
// 舱室
int nRoomIndex;
// 距左侧距离
double X;
// 支架行数
int N;
// 支架垂直间距(m)
double V;
// 支架纵向间距(m)
double H;
// 距离廊内顶距离(m)
double D;
// 支架臂长度(mm)
double L;
// 角钢宽度(mm)
double W;
// 角钢厚度(mm)
double t;
// 材质
TCHAR szMat[33];
// 用途
TCHAR szUsage[33];
}EHanger;
typedef struct ELongParam
{
TCHAR szNodeSpec[MAX_PATH];//功能布置名称
TCHAR szStake[17]; //桩号
TCHAR szIDlock[65]; //内部id
double dEVolCover; //管廊覆土
double dDigVol; //挖土,如果是从地面开挖
double dShEwVol; //管廊体积,指盾构体积
double dRoofEl; //管廊外顶标高
double dFloorEl; //管廊内底标高
double dRoadEl; //现状地面高程
double dRoadDesEl; //设计地面高程
double dGradient; //坡度 n% +上升, -下降 两点的高程差与其水平距离的百分比
double dDistLen; //本段长度距离位置(相对)
double dDistStakeLen; //桩号对应的全局长度
AcDbObjectId idOwner; //临时使用
double dY; //临时使用
}ELONGPARAM;
typedef struct TextOnXLine
{
AcDbObjectId idText;
AcGePoint3d ptOnXLine;
double dParam;
double dTxtH;
double dTemp;
TCHAR szText1[65]; //高程
TCHAR szText2[65]; //桩号
}TEXTONXLINE;
typedef struct TextOnPoint
{
AcGePoint3d ptPos;
AcDbText* pText;
}TEXTONPOINT;
typedef enum EFittingType //描述对象类型
{
eCabletry = 0, //桥架
ePipe = 1, //管子,如水管
eFitting = 2, //Fitting
eElbow = 3, //弯头
eReduceElbow = 4, //变径弯头
eReduce = 5, //变径
eTee = 6, //三通
eValve = 7, //阀门
eCross = 8, //四通
eEquipment = 9, //设备
eFlange = 10, //法兰
eBracket = 27, //吊架
eSupport = 28, //支架
eDeDustCover = 29, //除尘罩
eLateral = 30, //L 三通
eWye = 31, //Y 三通
eWcap = 32, //堵头
eFlxJoin = 33, //箍 GB/T8260-2008
eThrough = 34, //直通 PVC
eUJoin = 35, //活接 PVC
eRJoin = 36, //缩接 PVC 伸缩节
eOJoin = 37, //外螺纹接头
eIJoin = 38, //内螺纹接头
eRP = 39, //补强圈
eHP = 40, //半管接头补强
eSPB = 41, //八字盲板
eGastket = 42, //密封圈
eCable = 33, //线缆
ePipeBreak = 34, //断管符号
eOffset = 35, //乙弯头
eDuct = 36, //风管
eDuctElbow = 37, //风管弯头
eDuctTee, //风管三通
eDuctCross, //风管四通
eDuctReduce, //风管变径
eBridge, //桥架
eBridgeElbow, //桥架弯头
eBridgeTee, //桥架三通
eBridgeCross, //桥架四通
eBridgeReduce, //桥架变径
eMultInf, //多通
}EFITTINGTYPE;
typedef struct AecInterface
{
AcGePoint3d ptPos; //位置
AcGeVector3d vtDir; //方向
double dSize1; //主尺寸,圆类为直径,矩形为长
double dSize2; //副尺寸 矩形为宽
double dV, dA; //电力管嘴电压电流
short nSectType; //截面类型 0 矩形 1 圆型
bool bSizeUnLock; //主体尺寸不锁定,默认 false 锁定
//以下数据辅助数据
AcDbObjectId idOwner;
short nType; //nCmd 0:水管 1:风管 或者管件等标识 EFittingType
short nLevel; //主0,1 次 >= 2
short nConnectType; //连结类型 //0 焊接 1: 承插 2 螺纹 3 法兰管 4 卡箍
double dGasket; //垫片尺寸,关系误差
}AECINTERFACE;
/*定制接口*/
typedef struct AecUserInterface
{
TCHAR szNo[65]; //接口编号
AcGePoint3d ptGe[16]; //点集
Adesk::UInt16 nPoints; //实际点数量 两个点时为圆 r=pt0-pt1
AcGeVector3d vtDir; //法方向
TCHAR szSys[65]; //系统
}AECUSERINTERFACE;
typedef struct BreakPos
{
AcGePoint3d ptGe; // 中心位置
double dW; // 符号宽度
double dLen; // 省略的真实长度
short nType; // 特殊用途,默认0
}BREAKPOS;
typedef struct LineSeg
{
AcGePoint3d ptFr;
AcGePoint3d ptTo;
AcGePoint3d ptOn;//Arc mid 点
double dBulge;//bulge
double dX;//距离左侧距离,后期节点造族用
double dDn;//pipe-画法直径 cable-ratio
double dD;//pipe-外径 cable-外径
double dt;//pipe-壁厚
double dRate;//曲率半径
TCHAR szMat[33];//pipe-材质 cable-型号
TCHAR szSys[33];//pipe-系统用途 cable-系统用途
TCHAR szFact[33]; // cable-厂家
TCHAR szLntype[33];//线型
short nColor;//颜色
short nPosNo;//位置编号
bool bDir;
}LINESEG;
typedef struct EWFnctNodeSpace
{
AcGePoint3d ptPos;
AcGePoint3d ptGe1;//中间拐点
AcGePoint3d ptOn; //Arc mid 点
int nptGe1Flag;
EFnctType eFnType;
double dLen;
double dBulge;
AcGeVector3d vtDir;
}EWFNCTNODESPACE;
typedef struct GLBJRecord
{
double m_dCurRoomW;
double m_dWAdd;
double m_dOpenL;
double m_dB;
double m_dAngle;
double m_dA2;
BOOL m_bAllRoom;
int m_idxRoom;
CString szCrossSectionScr;
int m_nPos;
double m_dLen;
int m_nIndex;
double m_dZOff;
double m_dTAdd;
}GLBJRECORD;
typedef struct UShapeData
{
double m_dFrom;
double m_dVSpace;
double m_dAngle;
int m_nDir;
double m_dL;
double m_dAngleB;
}USHAPEDATA;
//盾构
typedef struct STSection
{
double a; // 椭圆形短轴a,或圆形半径
double b; // 椭圆形长轴b
AcDbRegion *pReg;
AcGePoint3d pt; // 中心点
double dThick[4];//两侧,内壁,顶,底 壁厚
CString sAddtionScr;//附件
STSection(): a(.0), b(.0), pReg(NULL), pt(AcGePoint3d::kOrigin),sAddtionScr(_T("")){}
~STSection() { clear(); }
void clear()
{
DELETE_PTR(pReg);
}
}STSECTION;
//标准电缆沟
typedef struct DlgData
{
double m_dW; //内宽
double m_dRatio;//曲率
double m_dH;//内高
double m_dt;//墙厚
double m_db;//底板厚
double m_dd;//底板宽
double m_dh2;//压顶高
BOOL m_bHasCover;
double m_dk;
double m_dTopEl;
int m_nAlign;
TCHAR m_sGKind[256];
TCHAR m_szNo[33];
//其他支吊架
}DLGDATA;
typedef struct RegionAndEl
{
AcDbRegion *pReg;
double m_dZ;
double m_dX;
int nType;
double dSize[3];
TCHAR m_szMat[256];
}REGIONANDEL;
typedef struct XHolder // 支架
{
// 支架行数,或非等距支架行数
int N;
//等距电缆沟用
BOOL bNoEquDis;
// 支架垂直间距(m)
double V;
//或非等距支架,最多64行
short nDists[64];//间距
short nSyss[64];//系统序号
// 支架臂长度(mm)
double L;
// 角钢宽度(mm)
double W;
// 角钢厚度(mm)
double t;
//相对位置标高
double dBomEl;
// 材质
TCHAR szMat[33];
//编号
TCHAR szNo[33];
// 用途
TCHAR szUsage[33];
//预留
double dResv[6];
int nResv[6];
TCHAR szResv[MAX_PATH];
}XHolder;
typedef struct RegionParam
{
AcDbRegion* pRegion;
double dParam;
}REGIONPARAM;
typedef struct PipePos
{
double dDn;
AcGePoint3d ptOn;
AcGeVector3d vtDir;
TCHAR* pszLaySpec;//图层
}PIPEPOS;
typedef struct PoolData
{
double m_dBomEl;//外底部标高
double m_dBomThick;
double m_dWallH;
double m_dWallThick;
BOOL m_nHorBom;
int m_nShape;
TCHAR m_sGradX[33];
TCHAR m_sGradY[33];
TCHAR m_sMaterial[256];
TCHAR m_sSectionHatch[256];
TCHAR m_sPurpose[256];
double m_dData[16];//共用
double m_dHZ;
double m_dHZ2;
TCHAR m_szZHFlag[256];
TCHAR m_szNO[256];
//...
}POOLDATA;
typedef struct GuardBar
{
double dD;//管材直径
double dt;//管材厚度
double dBomEl;//底标高
double dH1;//底部格高
double dH;//扶手顶到底部高度
double dP;//格间距
BOOL bNoBomLever;//没有底部杆件
BOOL bIsRectLever;//方杆件
BOOL bVerDraw;//立面出图表达
TCHAR m_sMaterial[256];
TCHAR m_sFactory[256];//厂家
TCHAR m_sNo[256];
//...
}GUARDBAR;
//直梯
typedef struct LineStair
{
GuardBar bar; //扶手
double dSteepH; //踏步高度
int nSteepS; //踏步数量
double dSteept; //踏步板厚
double dSteepW; //踏步板宽
double dSidet; //底侧板厚>扶手直径
double dSideW; //底侧板宽
double dW; //总宽
double dH; //总高
int nSymbol; //符号表达
double dBomEl; //底部标高
double dTopEl; //顶部标高
BOOL bBomSta; //对于圆弧,是否是开始位置为底标高
BOOL bShowInSlab3d;//插入楼板三角结构
BOOL bLBeam; //左边梁
BOOL bRBeam; //右边梁
BOOL bSlope; //坡道
BOOL bNonslip; //坡道防滑
BOOL bSlopeBase;//坡道三角基础
BOOL bGuardBar; //护栏
int nInOutCirRef;//圆弧楼梯内外参照
double dInR; //内圆半径
double dOutR; //外圆半径
TCHAR m_sMaterial[256];
TCHAR m_sFactory[256];//厂家
TCHAR m_sNo[256];
}LINESTAIR;
typedef struct ZLineStair
{
int nZs; //折数
int nKind; //0 钢筋混凝土 1 钢梯
double dSteepH; //踏步高度
double dSteepW; //踏步宽度
int nSteeps1; //一跑步数
int nSteeps2; //二跑步数
double dStairTW; //梯间宽度 总宽
double dStairSW; //梯段宽度 单宽
double dWellW; //井宽
int nUpSide; //上梯位置 0 L 1 R
double dBomEl; //底部标高
//平台参数
double dRestPtW; //休息平台宽
double dStiffnW; //加强筋宽 钢梯无效
double dStiffnH; //加强筋高 钢梯无效
double dSbThick; //平台板厚
//边梁
double dSideBeamW; //边梁宽 60
double dSideBeamH; //边梁高 60
//扶手护栏
double dBarH; //扶手高度
double dGarSize[2]; //扶手截面尺寸
double dGarExt; //转角扶手伸出 60 默认
double dZGarExt; //层间扶手伸出 60 默认
int nGShape; //截面类型0 Rect 1 C
TCHAR szGarMat[256];//材质
double dBarSp; //护栏间距
double dBarSize[2]; //护栏截面尺寸
int nBShape; //护栏截面类型0 Rect 1 C
TCHAR szBarMat[256];//材质
}ZLINESTAIR;
//多平台楼梯
typedef struct MRPLineStair
{
int nKind; //0 钢筋混凝土 1 钢梯
double dSteepH; //踏步高度
double dSteepW; //踏步宽度
int nSteepSize; //踏步段数
int nSteeps[20]; //最多20段
double dStairW; //梯段宽度 单宽
double dBomEl; //底部标高
BOOL bHasResetPLF; //是否有休息平台
//平台参数
double dRestPtW; //休息平台宽
double dStiffnW; //加强筋宽 钢梯无效
double dStiffnH; //加强筋高 钢梯无效
double dSbThick; //平台板厚
//边梁
double dSideBeamW; //边梁宽 60 预留
double dSideBeamH; //边梁高 60 预留
BOOL bHasGarBar; //是否有护栏
int nGarBarLR; //左右护栏 仅左0 仅右1 都有2
BOOL bHasStiffn; //含有加强筋
BOOL bGBResetPLF; //平台有护栏
//扶手护栏
double dBarH; //扶手高度
double dGarSize[2]; //扶手截面尺寸
double dGarExt; //转角扶手伸出 60 默认
int nGShape; //截面类型0 Rect 1 C
TCHAR szGarMat[256];//材质
double dBarSp; //护栏间距 预留
double dBarSize[2]; //护栏截面尺寸
int nBShape; //护栏截面类型0 Rect 1 C
TCHAR szBarMat[256];//材质
}MRPLINESTAIR;
//双分平行楼梯
typedef struct SFPXStair
{
double dH; //楼梯高度
int nSteepS; //踏步总数
double dSteepH; //踏步高度
double dSteepW; //踏步宽度
int nSteepsS; //边梯步数
int nSteepMs; //中梯步数
//矩形转角
int bSymmetry; //是否对称
int n1SteepS; //一跑步数
double d1SteepW; //一跑段宽
int nSteep2s; //二跑步数
double d2SteepW; //二跑段宽
int nSteep3s; //三跑步数
double d3SteepW; //三跑段宽
int nSteep4s; //四跑步数
double d4SteepW; //四跑段宽
double dStairTW; //梯间宽度
double dStairSW; //边梯宽度
double dStairMW; //中梯段宽
int nSSteeps; //剖切步数
double dWell; //井宽 100 国标
BOOL bLBeam; //内边梁
BOOL bRBeam; //外边梁
int nUpSide; //上梯位置
int nSteepAlign; //踏步取齐
int nFloorShow; //层显示类型
BOOL bDimUpstair; //标注上楼方向
//平台参数
int nRestShape; //休息平台形状
BOOL bShowRestPtw; //显示平台=1默认
double dRestPtW; //休息平台宽
double dRestPtL; //休息平台长
double dRestPtMW; //中平台宽
double dRestPtML; //中平台长
double dStiffnW; //加强筋宽 钢梯无效
double dStiffnH; //加强筋高 钢梯无效
double dSbThick; //平台板厚
BOOL bOutSideHRail; //有外侧扶手
BOOL bOutSideRail; //有外侧栏杆
BOOL bInsideRail; //有内侧栏杆
double dBomEl; //楼梯底部标高
//扶手护栏
double dBarH; //扶手高度
double dGarSize[2]; //扶手截面尺寸
double dGarExt; //转角扶手伸出 60 默认
double dZGarExt; //层间伸出 60 默认
int nGShape; //截面类型0 Rect 1 C
TCHAR szGarMat[256];//材质
double dBarSp; //护栏间距 预留
double dBarSize[2]; //护栏截面尺寸
double dBarSide; //扶手距边
int nBShape; //护栏截面类型0 Rect 1 C
TCHAR szBarMat[256];//材质
}SFPXSTAIR,SFSPStair;
//圆护楼梯
typedef struct ClimbStair
{
int nType;//0圆护直梯 1圆护凸爬
double dD;//总直径
double dSegSp;//间距
double dSteepH;//踏步高
double dSpWall;//距墙体距离 180.0
double dH;//总高
double dW;//梯宽
double dBomEl;//底标高
double dH1;//进无遮挡高度
double dH2;//出无遮挡高度
double dd;//踏管直径
double dt;//踏管壁厚
double dbt;//护板壁厚
double dbw;//护板宽度
TCHAR m_sMaterial[256];
TCHAR m_sFactory[256];//厂家
TCHAR m_sNo[256];
}CLIMBSTAIR;
typedef struct WallData
{
double dThick;
double dH;
double dThick2;
double dH2;
double dBomEl;
EAlign kAlign;
int nSecShape;
int nW2Pos;// 不等宽墙体的外伸类型
TCHAR szMat[MAX_PATH];
TCHAR szNO[MAX_PATH];
}WALLDATA;
typedef struct ASteel
{
double W;//宽度
double t;//厚度
double L;//总长
double L2;//杆长度
double D;//杆直径
TCHAR szMat[MAX_PATH];
}ASTEEL;
#define MAX_JOIN_WALL 6
typedef struct JoinWall
{
AcGePoint3d m_ptJoin;
AcDbSoftPointerId m_idJoin[MAX_JOIN_WALL];//最多接6个
}JOINWALL;
typedef struct HoleData
{
double dSize[2];
ESection eShape;
bool bHasPipe;
double dPSize[4];
AcGePoint3d ptPos;
TCHAR szNo[MAX_PATH];
TCHAR szMat[MAX_PATH];
TCHAR szRem[MAX_PATH];
TCHAR szPipeType[65];
}HOLEDATA;
typedef struct KHoleData
{
double m_dDL;
double m_dW;
double m_dE;
double m_dT;
double m_dTL;
double m_dDeep;
BOOL m_bDeep;
int m_nCurSel;
int m_nShape;
int m_nD2;
BOOL m_bHasCase;
BOOL m_bHasNozz;
TCHAR m_sHoles[MAX_PATH];;
TCHAR m_sMertial[MAX_PATH];
TCHAR m_sPipeType[MAX_PATH];
TCHAR m_sForUser[MAX_PATH];
TCHAR m_sD2[MAX_PATH];
TCHAR m_sNo[MAX_PATH];;
}KHOLEDATA;
typedef struct MudData
{
double dVol;//体积
double dArea;//表面积
AcGePoint3d ptPos;//大致位置
TCHAR szNo[MAX_PATH];
TCHAR szMat[MAX_PATH];
TCHAR szName[MAX_PATH];
}MUDDATA;
typedef struct InsulData
{
double dThick; //厚度
TCHAR szLnStyle[MAX_PATH];//线型
TCHAR szInsSpec[MAX_PATH];//保温层描述,;隔开
}INSULDATA;
#ifndef AS_MUNIT
#define AS_MUNIT(x) (x * 0.001)
#endif
#ifndef AS_MUNITF
#define AS_MUNITF(x) (x * 0.001f)
#endif
#ifndef AS_M2MM
#define AS_M2MM(x) (x * 1000.f)
#endif
#ifndef PI
#define PI 3.1415926535897932384626433832795
#endif
#define Midpoint(p1, p2, dest) \
{ \
dest[0] = (p1[0] + p2[0]) / 2.0; \
dest[1] = (p1[1] + p2[1]) / 2.0; \
dest[2] = (p1[2] + p2[2]) / 2.0; \
}
#define TOLERANCE .01
#define UP_ZERO(a) ((a) > TOLERANCE)
#define UPEQUAL_ZERO(a) ((a) >= -TOLERANCE)
#define DOWN_ZERO(a) ((a) < -TOLERANCE)
#define DOWNEQUAL_ZERO(a) ((a) <= TOLERANCE)
#define EQUAL_ZERO(a) ((a) >= -TOLERANCE && (a) <= TOLERANCE)
#define EQUAL(a,b) EQUAL_ZERO((a)-(b))
#define DOWNEQUAL(a,b) DOWNEQUAL_ZERO((a)-(b))
#define UPEQUAL(a,b) UPEQUAL_ZERO((a)-(b))
// 以下为上华桩号定义
const LPCTSTR SHS_STAKE = _T("shs-stake");
const LPCTSTR SHS_STAKE_PTINS = _T("ptIns");
const LPCTSTR SHS_STAKE_S2E = _T("s2e");
const LPCTSTR SHS_STAKE_NO = _T("stake");
const LPCTSTR SHS_STAKE_DIST = _T("stakeDist");
const LPCTSTR SHS_STAKE_PT_DIST = _T("ptDist");
const LPCTSTR SHS_STAKE_ANGLE = _T("angle");
#ifndef KEY_SECTION_HATCH
#define KEY_SECTION_HATCH _T("_KEY_SECTION_HATCH_")
#endif
#ifndef Plumbing_DB
#define Plumbing_DB _T("\\Plumbing.db")
#endif
#ifndef EW_EARTHWORMINIT
#define EW_EARTHWORMINIT _T("EW_EARTHWORMINIT")
#endif
#ifndef EW_HOLDER
#define EW_HOLDER _T("HOLDER")
#endif
#ifndef EW_HANGER
#define EW_HANGER _T("HANGER")
#endif
#ifndef EW_BOSS
#define EW_BOSS _T("BOSS")
#endif
#ifndef EW_RINGS
#define EW_RINGS _T("RINGS")
#endif
#ifndef EW_LAMPS
#define EW_LAMPS _T("LAMPS")
#endif
#ifndef EW_FIREET
#define EW_FIREET _T("FIREET")
#endif
#ifndef EW_GUTTERWAY
#define EW_GUTTERWAY _T("GUTTERWAY")
#endif
#ifndef EW_FIREDOOR
#define EW_FIREDOOR _T("FIREDOOR")
#endif
#ifndef EW_SECURITY
#define EW_SECURITY _T("SECURITY")
#endif
#ifndef EW_DRAFAN
#define EW_DRAFAN _T("DRAFAN")
#endif
#ifndef EW_GASALARM
#define EW_GASALARM _T("GASALARM")
#endif
//底部增加和倒角
#ifndef EW_BOMANDCHM
#define EW_BOMANDCHM _T("BOM2CHM")
#endif
#ifndef EW_ROOMSLAB
#define EW_ROOMSLAB _T("ROOMSLAB")
#endif
#ifndef EW_SMOKALARM
#define EW_SMOKALARM _T("SMOKALARM")
#endif
#ifndef EW_TEMPALARM
#define EW_TEMPALARM _T("TEMPALARM")
#endif
#ifndef EW_COALARM
#define EW_COALARM _T("COALARM")
#endif
#ifndef EW_OXALARM
#define EW_OXALARM _T("OXALARM")
#endif
#ifndef EW_ROOMNAME
#define EW_ROOMNAME _T("ROOMNAME")
#endif
#ifndef EW_CHARMNO
#define EW_CHARMNO _T("CHMNO")
#endif
//左右侧高度
#ifndef EW_LRROOMH
#define EW_LRROOMH _T("LRROOMH")
#endif
#ifndef LAYOUTNAME_HD
#define LAYOUTNAME_HD _T("横断出图")
#endif
//左右侧加厚
#ifndef EW_LRROOMADD
#define EW_LRROOMADD _T("LRROOADD")
#endif
#define KEY_FITWPIPE _T("WPIPE") //水管创建服务键名
#define KEY_CLASS _T("Class")
#define KEY_CENPT _T("CenPt")
#define KEY_ORGPT _T("OrgPt")
#define KEY_POINTS _T("POIINTS")
#define KEY_SIZE _T("SIZE")
#define KEY_SIZE1 _T("SIZE1")
#define KEY_SIZE2 _T("SIZE2")
#define KEY_SIZE3 _T("SIZE3")
#define KEY_SIZE4 _T("SIZE4")
#define KEY_2DSTYLE _T("2dStyle")
#define KEY_SINGLEW _T("SINGLEW")
#define KEY_DBLINEW _T("DBLINEW")
#define KEY_SECCEN _T("SECCEN")
#define KEY_SECSHAPE _T("SECSHAP")
#define KEY_SHAPE _T("nShape") //形
#define KEY_BLOCKNAME _T("BLKNAME")
#define KEY_X _T("X")
#define KEY_Y _T("Y")
#define KEY_RUNTIME _T("Runtime")
#define KEY_DRAW2D _T("Draw2d")
#define KEY_FITSRV _T("FitSrv") // 管件创建服务
#define KEY_SECTIONDRAWSTYLE _T("SECDRAW")
#define KEY_ROTATION _T("ROTATE")
#define KEY_ROTATIONBK _T("ROTATEBK") //柱子旋转角度备份
#define KEY_ADDTIONSCR _T("ADDTIONSCR") //盾构附属物
#define KEY_ADDTIONSHOW _T("ADDTIONON") //显示盾构附属物
#define KEY_ADDTIONSHOW_SHORT _T("ADDSHOWSP")//简化画法
#define KEY_FORSLICE _T("FORSLICE")
#define KEY_REM _T("Rem")
#define KEY_MATERIAL _T("Material") // 材料
#define KEY_PURPOSE _T("Purpose")
#define KEY_VVIEW _T("VVIEW")
#define KEY_ASSOIC _T("Assoc") //关联
#define KEY_SETASWELL _T("SETSWELL")
#define KEY_FORUSE _T("FUSE") //用途
#define KEY_PIPETYPE _T("PipeType") //套管类型
#define KEY_LASTHANDLE _T("LastHdl") //上次关联裁剪
#define KEY_USEPICKWALLS _T("Upkwall") //是否使用堰墙
#define KEY_BOMTHICK _T("BOMT")
#define KEY_THICK _T("T")
#define KEY_THICKB _T("bt")
#define KEY_THICKBW _T("btw")
#define KEY_SPWALL _T("SPW")
#define KEY_THICKT1 _T("T1")
#define KEY_THICKT2 _T("T2")
#define KEY_THICKT3 _T("T3")
#define KEY_THICKT4 _T("T4")
#define KEY_THICKT5 _T("T5")
#define KEY_REDGE _T("REDGE")
#define KEY_HEIGHT _T("H")
#define KEY_HEIGHT1 _T("H1")
#define KEY_HEIGHT2 _T("H2")
#define KEY_RRATIO _T("RRatio")
#define KEY_RAD _T("Rad") //半径
#define KEY_GRAD _T("GRAD") //坡度
#define KEY_GRADX _T("GRADX") //X坡度
#define KEY_GRADY _T("GRADY") //Y坡度
#define KEY_ALIGN _T("ALGN") //对齐
#define KEY_ALIGNL _T("AGNL") //对齐L
#define KEY_ALIGNR _T("AGNR") //对齐R
#define KEY_OPENING _T("ADDOP")
#define KEY_W2POS _T("W2POS") //Ww墙
#define KEY_FLOOR _T("FLOOR") //楼层索引
#define KEY_FLOORS _T("FLOORS") //楼层索引集
#define KEY_HORBOM _T("HORBOM") //水平底部
#define KEY_CENNODRAW _T("CNNDRW") //中心线不画标识
#define KEY_CENDRAW _T("CNDRW") //中心线画标识
#define KEY_FULLPER _T("FullPer") //介质通量,填充率
#define KEY_FULLPER2 _T("FullPer2") //介质通量,填充率
#define KEY_FILLUSED _T("FILLUSD") //已经使用的介质通量,填充率
#define KEY_FILLUSED2 _T("FILLUS2") //割板的第二填充率
#define KEY_TOPH _T("Toph")
#define KEY_PATTERN _T("PtnNam") //填充
#define KEY_PATTERNANG _T("PtnAng") //填充
#define KEY_PATTERNSCA _T("PtnSca") //填充
#define KEY_HOLDER _T("Holder") //Holder
#define KEY_HANGER _T("Hanger") //Hanger
#define KEY_N _T("N") //N
#define KEY_NHS _T("nHs") //nHs
#define KEY_V _T("V") //V
#define KEY_VS _T("Vs") //多层
#define KEY_HZ _T("HZ") //恒载
#define KEY_HZ2 _T("HZ2") //活载
#define KEY_ZHFS _T("ZHFS") //载荷方式
#define KEY_ACTIVECR _T("AColor") //
#define KEY_BOOLSPL _T("BoolSpl") //剖切隐藏的范围
#define KEY_BOOLBOM _T("BoolBom") //剖切隐藏的底El
#define KEY_BOOLH _T("BoolH") //剖切隐藏的高度
#define KEY_SYSCNT _T("SYSCNT") //系统数量
#define KEY_SYS _T("SYS_") //系统
//管道参数
#define PIPE_D _T("PIPE_D") //画法直径
#define PIPE_DN _T("PIPE_DN") //公称直径
#define PIPE_TDN _T("PIPE_TDN") //公称直径
#define PIPE_OD _T("PIPE_OD") //外径
#define PIPE_THICK _T("PIPE_Thick") //壁厚,或法兰总厚
#define PIPE_TTHICK _T("PIPE_TThick") //分支壁厚,三通四通变径变径弯头
#define PIPE_MEDIA _T("Media") //介质
#define PIPE_LEVEL _T("Level") //等级
#define PIPE_MATERIAL _T("PIPE_Material") //材料
#define PIPE_SYS _T("PIPE_PSYSTEM") //管道系统
#define PIPE_UNITNO _T("UnitNo") //单元号
#define PIPE_RATIO _T("Ratio")
#define PIPE_INSTHICK _T("InsThick") //保温厚
#define PIPE_ZONE _T("Zone") //区号
#define PIPE_ELBOWANG _T("Swangle")
#define PIPE_DESCR _T("Descr") //描述
#define PIPE_SPEC _T("Spec") //管子上标
#define PIPE_LINENO _T("LineNo") //管号
#define PIPE_ELBASE _T("ElBase") //标高基准
#define PIPE_SHTNO _T("SHTNO") //表号
#define PIPE_ODSN _T("ODNo") //外径系列
#define PIPE_STDNO _T("STDNO") //标准号
#define PIPE_FLANGNOBOM _T("FGNBM") //法兰不统计标志
//管件参数
#define PIPE_FITTING _T("Fitting") //类型
#define PIPE_REDUCER _T("Reducer") //变径
#define PIPE_REDECEN _T("RedEcen") //变径方向
#define PIPE_CAP _T("CAP") //堵头
#define PIPE_MTOALL _T("MtoAll") //管件,管子 详细信息
#define PIPE_FITTYPE _T("FitType") //管件类型
#define PIPE_BREAK _T("Break") //管子的断口省略尺寸
#define PIPE_HASBREAK _T("bBreak") //是否有断口标志
#define PIPE_BREAKPOS _T("BrekPos") //断口省略位置
#define PIPE_VALVE _T("VLVTYPE") //阀门类型
#define KEY_VLV2D _T("Vlv2d") //阀门2d示意
#define PIPE_GASKET _T("Gasket") //垫片的厚度
#define PIPE_GASKETM _T("GasketM") //垫片的材料
#define PIPE_PRESSURE _T("GasketP") //垫片的压力
#define PIPE_GASKETDSC _T("GasketR") //垫片的描述
#define PIPE_GASKETINF _T("GSKT-") //垫片上述信息-DN 使用
#define PIPE_BOLTINF _T("BOLT-") //螺栓
#define PIPE_EAPP _T("EApp") //应用类型
//通用参数
#define KEY_DD _T("dd") //dd
#define KEY_DASW _T("DASW") //dAsW
#define KEY_MAJBR _T("MajBr") //主分支向量
#define KEY_MINBR _T("MinBr") //分支向量
#define KEY_OFFSETDIR _T("OffDir") //Z弯偏移方向
#define KEY_MAJNOR _T("MajNor") //主开口方向
#define KEY_MINNOR _T("MinNor") //分支开口方向
#define KEY_MID _T("Mid") // 中点
#define KEY_NORMAL _T("Normal") // 法向量
#define KEY_L _T("L") // 长度
#define KEY_L1 _T("L1") // 长度L1
#define KEY_I _T("I") // I
#define KEY_W _T("W") // 宽度
#define KEY_W2 _T("W2") // 宽度2
#define KEY_T _T("T") // 三通 T 尺寸
#define KEY_T2 _T("T2") // 电缆沟三通 T 尺寸
#define KEY_T1 _T("T1") //8字盲板 T1
#define KEY_Q _T("Q") //8字盲板 Q
#define KEY_G _T("G") //8字盲板 G
#define KEY_ON _T("ON") //8字盲板 开关 1 0
#define KEY_Length _T("len") //
#define KEY_DRAWGRAD _T("DrawGrad") //是否绘制管子的梯度符号
#define KEY_GRIPCMD _T("GRIPCMD") //夹点命令
#define KEY_H _T("H")
#define KEY_B _T("B")
#define KEY_B2 _T("B2")
#define KEY_GW _T("Gw")
#define KEY_GT _T("Gt")
#define KEY_D _T("D")
#define KEY_WD _T("_D")
#define KEY_D1 _T("D1")
#define KEY_D2 _T("D2")
#define KEY_H2 _T("H2")
#define KEY_H1 _T("H1")
#define KEY_h2 _T("h2")
#define KEY_K _T("K")
#define KEY_ELBOWSTYLE _T("ElboSt") //桥架弯头风格
#define KEY_TEESTYLE _T("ETeeSt") //桥架三通风格
#define KEY_MSGPT _T("MsgPt")
#define KEY_EOPER _T("Eoper")
#define KEY_IDON _T("IdOn")
#define KEY_XFORM _T("Xform")
#define KEY_INDEX _T("Index")
#define KEY_MSG _T("Msg")
#define KEY_INTFPT _T("IntfPt")
#define KEY_INTFVT _T("IntfVt")
#define KEY_UPGRADE _T("UpGrade")
#define KT_OPEN_BRACE_CHAR _T('{')
#define KT_CLOSE_BRACE_CHAR _T('}')
#define KT_OPEN_BRACE_STR _T("{")
#define KT_CLOSE_BRACE_STR _T("}")
#define KEY_XE _T("XE")
#define KEY_YE _T("YE")
#define KEY_XS _T("XS")
#define KEY_YS _T("YS")
//剖切设置
#define KEY_WALLJC _T("WALLJC")
#define KEY_WALLW _T("WALLW")
#define KEY_QLBZHATCH _T("QLBZH")
#define KEY_PQSZ _T("PQSZ")
#define KEY_BWSLAB _T("BWSLAB")
#define KEY_WSLAB _T("WSLAB")
#define KEY_BWBEAM _T("BWBEAM")
#define KEY_WBEAM _T("WBEAM")
#define KEY_BWCOL _T("BWCOL")
#define KEY_WCOL _T("WCOL")
#define KEY_BWYGDT _T("BWYGDT")
#define KEY_WYGDT _T("WYGDT")
//结构信息
#define KEY_XHL _T("XHL")
#define KEY_YHL _T("YHL")
#define KEY_XUL _T("XUL")
#define KEY_YUL _T("YUL")
#define KEY_LTT _T("LTT")
#define KEY_LDI _T("LDI")
#define KEY_EQK _T("EQK")
#define KEY_LNO _T("LNO")
//屋顶
#define KEY_PATHPOLY _T("PATHPOLY")
#define KEY_POLYPATH _T("POLYPATH")
//PIDINIT
#define DOC_PIDTRADE _T("Trade") //应用行业
#define DOC_PIDPROJECT _T("Project") //项目名称
#define DOC_PIDUNIT _T("Unit") //单位
#define DOC_PIDINCH _T("Inch") //英制
#define DOC_PIDDIMTERM _T("DimTerm") //标注端符
#define DOC_PIDMPIPE1W _T("mPipe1W") //主管道线宽1
#define DOC_PIDMPIPE2W _T("mPipe2W") //主管道线宽2
#define DOC_PIDSPIPE1W _T("sPipe1W") //次管道线宽1
#define DOC_PIDSPIPE2W _T("sPipe2W") //次管道线宽2
#define DOC_PIDBSPACE _T("BreakSpace") //交叉断线间距
#define DOC_PIDINSRDN _T("InsrDN") //仪表泡直径
#define DOC_VALVESCALE _T("ValveScale") //阀门比例
#define DOC_EQUSCALE _T("EquScale") //设备比例
#define DOC_NODESCALE _T("NodeScale") //管嘴比例
#define DOC_CONSIGN _T("ConSign") //续接符号
#define DOC_LINEARSCALE _T("lScale") //线性比例
#define DOC_PIDDIMTXTH _T("DimTxtH") //标注文字高度
#define DOC_PIDDIMTXTF _T("DimTxtF") //标注文字宽度系数
#define DOC_PIDEQPTXTH _T("DimEqpTxtH") //设备标注文字高度
#define DOC_PIDEQPTXTF _T("DimEqpTxtF") //设备标注文字宽度系数
#define DOC_PIDVALVTXTH _T("DimStrTxtH") //阀门标注文字高度
#define DOC_PIDVALVTXTF _T("DimStrTxtF") //阀门标注文字系数
#define DOC_PIDVWITHDIM _T("vWithDim") //阀门插入标注
#define DOC_PIDEWITHDIM _T("eWithDim") //设备插入标注
#define DOC_PIDBARROW _T("BArrow") //大箭头
#define DOC_PIDMARROW _T("MArrow") //中箭头
#define DOC_PIDSARROW _T("LArrow") //小箭头
#define DOC_PIDSCRIPTT _T("ScriptT") //上标脚本
#define DOC_PIDSCRIPTB _T("ScriptB") //下标脚本
#define PIPE_EL _T("EL")
#define PIPE_TOP_EL _T("TOP.EL")
#define PIPE_CEN_EL _T("CEN.EL")
#define PIPE_BOM_EL _T("BOM.EL")
#define DIM_EL _T("\\U+2200")
#define DIM_TOP_EL _T("\\U+2201")
#define DIM_CEN_EL _T("\\U+2202")
#define DIM_BOM_EL _T("\\U+2203")
#define DIM_CEN_CN_EL _T("中心标高")
#define KT_SEPARATOR_STR _T("|")
#define KT_SEPARATOR_CHAR _T('|')
#define KT_SUBTRACT_CHAR _T('-')
#define KT_COLON_CHAR _T(':')
#define KT_PIPEINIT _T("KTPIPE")
#define DIM_INIT _T("DIM_INIT")
#define KT_PIDPIPEINIT _T("KTPIDPIPE")
#define KT_PIPEPARAM _T("PIPEPARAM")
#define KT_PIDPIPEPARAM _T("PIDPIPEPARAM")
// 线缆参数
#define CABLE_D _T("CABLE_D") //外径
#define CABLE_MODEL _T("CABLE_MODEL") //类型
#define CABLE_FACTORY _T("CABLE_FACTORY") //厂家
#define CABLE_RATIO _T("CABLE_RATIO") //弯曲半径/外径
// 风管/桥架 参数
// 第一管道参数
#define DUCT_W _T("DUCT_W")
#define DUCT_H _T("DUCT_H")
#define DUCT_THICK _T("DUCT_THICK")
// 第二管道参数
#define DUCT_W2 _T("DUCT_W2")
#define DUCT_H2 _T("DUCT_H2")
#define DUCT_THICK2 _T("DUCT_THICK2")
#define KEY_DUCT_W1 _T("DUCT_W1")
#define KEY_DUCT_W2 _T("DUCT_W2")
#define KEY_DUCT_H1 _T("DUCT_H1")
#define KEY_DUCT_H2 _T("DUCT_H2")
#define KEY_DUCT_V1 _T("DUCT_V1")
#define KEY_DUCT_V2 _T("DUCT_V2")
#define KEY_DUCT_T1 _T("DUCT_T1")
#define KEY_DUCT_T2 _T("DUCT_T2")
#define KEY_DUCT_L _T("DUCT_L")
#define KEY_DUCT_PTM _T("DUCT_PTM")
#define KEY_DUCT_TYPE _T("DUCT_TYPE")
// 表示数据库中变径信息字段
#define REDUCE_STARTWIDTH _T("WidthA") // 起始宽度(也表示天圆地方内宽度)
#define REDUCE_ENDWIDTH _T("WidthB") // 末宽度
#define REDUCE_STARTTHICK _T("ThickA") // 起始厚度(也表示天圆地方内厚度)
#define REDUCE_ENDTHICK _T("ThickB")
#define REDUCE_ANGLE _T("Angel") // 角度
#define REDUCE_LEN _T("Length") // 长度
#define REDUCE_OFFSET _T("Offset") // 偏心距离
#define REDUCE_STARTDIA REDUCE_STARTWIDTH // 起始直径(也表示天圆地方内直径)
#define REDUCE_ENDDIA REDUCE_ENDWIDTH
#define REDUCE_COMTYPE _T("ComType") // 计算方法,0:自动, 1:角度, 2:长度
// 表示数据库中乙子弯信息字段
#define OFFSET_STARTWIDTH _T("WidthA")
#define OFFSET_ENDWIDTH _T("WidthB")
#define OFFSET_RADRATIO _T("CR")
#define OFFSET_THICK _T("Thick")
#define OFFSET_ANGLE _T("Angel")
#define OFFSET_OFFDIST _T("Excu")
#define OFFSET_DIA _T("Dia")
#define OFFSET_COMTYPE _T("ComType")
#define OFFSET_LENGTH _T("Length")
//PIPE
typedef enum EPipeConnect
{
eButtWeld = 0, //焊接 燃气
eSanitary = 1, //套接 供水
eFlangeTube = 2, //法兰管道
eShieldEW = 3, //盾构结构
}EPIPECONNECT;
#define PIPE_CONNECTTYPE _T("CNType")
#define PIPE_GBLEN _T("GBLEN")
// equipment 部分使用
#define KEY_WTOPXF _T("WtoPxf") //worldToPlane
#define KEY_SUBRUNTIME _T("SubRntm") //子类型
#define KEY_NAME _T("NAME") //名称
#define KEY_SECNAME _T("SecName") //第二名称
#define KEY_BLK2D _T("Blk2d") //2d块名
#define KEY_BLK3D _T("Blk3d") //3d块名
#define KEY_BLK2DID _T("Blk2dID") //2d块名id
#define KEY_BLK3DID _T("Blk3dID") //3d块名id
#define PIPE_DRAWDIR _T("DrawDir") //画法 同 EDia
#define KEY_HANDLES _T("Hs") //关联句柄
#define KEY_NOPROTECT 8888 //编码保护唯一
#define KEY_LOCKPATH _T("LockPath")
#define KEY_PER _T("PERNT") //百分比
// 与 KEY_2DSTYLE冲突,
//#define PIPE_DRAWMOD _T("Drawmod") //画法 单线 1 双线 2
#define PIPE_TOD _T("TOD") //三通 T 方向外径,或套管翼环外径
#define PIPE_M _T("M") //L,Y三通M
#define PIPE_B _T("B") //L,Y三通B
#define PIPE_INTERFACED _T("IFD") //接口直径,弯头的承插口直径
#define PIPE_INTERFACEL _T("IFL") //接口直径,弯头的承插口长度
#define PIPE_CONNECT _T("CNTYPE") //连接类型
#define PIPE_EDN _T("EDN") //变径END 端公称直径
#define PIPE_EOD _T("EOD") //变径END 端外径
#define PIPE_INTERFACED2 _T("IFD2") //接口直径,弯头的承插口直径
#define PIPE_INTERFACEL2 _T("IFL2") //接口直径,弯头的承插口长度
#define PIPE_INTERFACEL3 _T("IFL3") //变径长度或法兰管分段长度
#define PIPE_Z2DDRAW _T("Z2DRAW") //二维立管不绘制标记
#define PIPE_INTERFACEL4 _T("IFL4") //变径长度中对应法兰管分段长度
#define PIPE_N _T("FN") //法兰颈部直径
#define PIPE_WD _T("WD") //法兰盘外径
#define PIPE_WTHICK _T("WThick") //法兰盘厚度
#define PIPE_WH _T("Wh") //法兰高度
#define PIPE_WN PIPE_N //法兰颈部直径
#define PIPE_YMS _T("YHS") //翼环数量
#define PIPE_WH2 _T("Wh2") //法兰高度
#define PIPE_WN2 _T("FN2") //法兰颈部直径
#define PIPE_FLANGF _T("FLGF") //法兰端面
#define PIPE_FLANGP _T("FLTP") //法兰类型
#define PIPE_FLANGF1 _T("FLGF1") //法兰端面1
#define PIPE_FLANGF2 _T("FLGF2") //法兰端面2
#define KEY_PRODTP _T("PRODTP") //制造类型
#define KEY_ICODE _T("ICODE") //元件代码
#define KEY_SCODE _T("SCODE") //短代码
#define PIPE_GASKET _T("Gasket") //垫片的厚度
#define PIPE_E _T("E") //L三通E
#define KEY_START _T("Start") //开始点
#define KEY_END _T("End") //端点
#define KEY_OFFSET _T("Offset") //乙字弯,兼偏心向量
#define KEY_ID _T("ID") //标示
#define KEY_CLASSID _T("CLASSID") //分类目录
#define PIPE_VALVE _T("VLVTYPE") //阀门类型
#define _VALVE_TYPE _T("_VALVE_TYPE_") //阀门类型
#define KEY_VLV2D _T("Vlv2d") //阀门2d示意
#define PIPE_MATERIALFT _T("MaterialFT") //材料
#define PIPE_ELBOWFLG _T("ElowFlg") //弯头的画法 0: 弧度画法 1:角度画法
#define PIPE_BWELDDOT _T("BWeldDot") //绘制单线是否有焊点
#define DOC_PLOTWIDTH _T("PlotWidth") //打印宽度
#define DOC_WELDDIA _T("WeldDia") //焊点直径
#define PIPE_ZONE _T("Zone") //区号
#define PIPE_INSTHICK _T("InsThick") //保温厚
#define PIPE_NO _T("No") //序号
#define DOC_INSMATER _T("InsMat") //保温材料
#define PIPE_DESCR _T("Descr") //描述
#define PIPE_PIDD _T("PIDD") // pid 画法的直径
#define PIPE_CONNECT _T("CNTYPE") // 连接类型
#define PIPE_COLOR _T("COLOR") // 中心线颜色
#define PIPE_COLOR_OUT _T("COLOR_OUT") // 外边线颜色
#define KEY_COLOR PIPE_COLOR
#define PIPE_LINEWIDTH _T("PIPE_LINEWIDTH") // 中心线线宽
#define PIPE_LINEWIDTH_OUT _T("PIPE_LINEWIDTH_OUT")// 外边线线宽
#define PIPE_LINETYPE _T("PIPE_LINETYPE") // 中心线线形
#define PIPE_LINETYPE_OUT _T("PIPE_LINETYPE_OUT")// 外边线线形
#define PIPE_LINELAYER _T("PIPE_LINELAYER") // 中心线图层
#define PIPE_LINELAYER_OUT _T("PIPE_LINELAYER_OUT")// 外边线图层
#define PIPE_LEVEL _T("Level") //等级
#define KEY_FLANGNECK _T("FNeck") //是否带颈
#define KEY_FLANGSLAB _T("FSlab") //盲板
#define PIPE_PIPCMD _T("PIPCMD") //管线命令类型
#define PIPE_RRADFLG _T("RRADFLG") //弯头兼容旧版标记
#define KEY_SINGLE _T("Single") // 单线画法
#define KEY_EDAGEWEIGHT _T("EdageWeight") // 边线加粗 [dwg]
#define KEY_CENLWEIGHT _T("CenWeight") // 中线加粗 [dwg]
#define KEY_BOMNO _T("BOMNo") // 不报表标志
#define KEY_POSNO _T("POSNO") // 位置编号
#define KEY_POS _T("Pos") // 位置标记
#define KEY_SORTNO _T("SORTNO") // 按位置编号的排序编号
#define KEY_IDCNT1 _T("IdCNT1") // 连接ID1 内部使用
#define KEY_IDCNT2 _T("IdCNT2") // 连接ID2 内部使用
#define KEY_IDCNT3 _T("IdCNT3") // 连接ID3 内部使用
#define KEY_IDCNT4 _T("IdCNT4") // 连接ID4 内部使用
#define KEY_IDCNT_ _T("IdCNT") // 连接ID? 内部使用,?可以是自然数
#define KEY_IDASS _T("IdAss") // 关联
#define KEY_Width _T("R2") // 宽度
#define KEY_ROW _T("ROW") // 行
#define KEY_SP _T("SP") // 间距
#define KEY_PTON _T("PTON") //位置点
#define KEY_3DSHOW _T("3DShow") //三位融合显示选择
#define KEY_DIMGRIPOFF _T("DimGripOff") //构件选择时标注是否关闭,默认0打开 1关闭
#define KEY_BEAMH _T("BEAMH")
#define KEY_BEAMW _T("BEAMW")
#define KEY_NOBOMLEVER _T("NBomLever") //没有底部杆件
#define KEY_ISRECTLEVER _T("RectLever") //方杆件
#define KEY_VERDRAW _T("VerDraw")
#define KEY_STEEPH _T("STEEPH")
#define KEY_STEEPT _T("STEEPT")
#define KEY_STEEPW _T("STEEPW")
#define KEY_SIDEBEAM _T("SIDEBEAM")
#define KEY_SIDET _T("SIDET")
#define KEY_SIDEW _T("SIDEW")
#define KEY_BOMEL _T("BOMEL")
#define KEY_TOPEL _T("TOPEL")
#define KEY_SYMBOL _T("Symb")
#define KEY_LBEAM _T("LBEAM")
#define KEY_RBEAM _T("RBEAM")
#define KEY_SLOPE _T("SLOPE")
#define KEY_NONSLIP _T("NNSLP")
#define KEY_SLOPEBASE _T("SLOPBS")
#define KEY_SINSLAB _T("SNSLAB")
#define KEY_GUARDBAR _T("GDBAR")
#define KEY_FACTORY _T("FACTORY")
#define KEY_NO _T("No.")
#define KEY_SN _T("SN")
#define KEY_NOPOS _T("NoPos")
#define KEY_APP _T("App")
#define KEY_BAYWIN _T("BAYWIN")
#define KEY_FTG _T("FTG")
#define KEY_ADDBAF1 _T("BAF1")
#define KEY_ADDBAF2 _T("BAF2")
#define KEY_LEFT _T("Left")
#define KEY_RIGHT _T("Right")
//多跑楼梯
#define KEY_ZS _T("ZS")
#define KEY_KIND _T("KIND")
#define KEY_STEEPS1 _T("STEEPS1")
#define KEY_STEEPS2 _T("STEEPS2")
#define KEY_SSTEEPS _T("SSTEEPS")
#define KEY_STAIRTW _T("STAIRTW")
#define KEY_STAIRSW _T("STAIRSW")
#define KEY_STAIRMW _T("STAIRMW")
#define KEY_UPSIDE _T("UPSIDE")
#define KEY_STEEPAGN _T("STPAGN")
#define KEY_FLOORSHOW _T("FLRSHOW")
#define KEY_RESTSHOW _T("RESTSHOW")
#define KEY_RESTPTW _T("RESTPTW")
#define KEY_STIFFNH _T("STIFFNH")
#define KEY_STIFFNW _T("STIFFNW")
#define KEY_SLABT _T("SLABT")
#define KEY_WELLW _T("WellW")
#define KEY_OUTSHR _T("OutShr")
#define KEY_OUTSRL _T("OutSrl")
#define KEY_INSRAIL _T("InsRail")
#define KEY_BARH _T("BARH")
#define KEY_GARSIZE0 _T("GARSIZE0")
#define KEY_GARSIZE1 _T("GARSIZE1")
#define KEY_GSHAPE _T("GSHAPE")
#define KEY_GARMAT _T("GARMAT")
#define KEY_GAREXT _T("GAREXT")
#define KEY_ZGAREXT _T("ZGAREXT")
#define KEY_BARSP _T("BARSP")
#define KEY_BARSIDE _T("BARSIDE")
#define KEY_BARSIZE0 _T("BARSIZE0")
#define KEY_BARSIZE1 _T("BARSIZE1")
#define KEY_BSHAPE _T("BSHAPE")
#define KEY_BARMAT _T("BARMAT")
#define KEY_HASRPLT _T("HSPLT")
#define KEY_HASGBAR _T("HSBGAR")
#define KEY_GBARLR _T("GBARLR")
#define KEY_GBRSTPLF _T("GBRSTP")
#define KEY_HASSTFN _T("HASTFN")
#define KEY_A _T("A")
#define KEY_C _T("C")
typedef struct WPipe
{
enum PipeDim
{
kDN = 0, // 公称直径
kMedium = 1, // 介质
kPipeNo = 2, // 管号
kPipeGrade = 3, // 管道等级
kDxt = 4, // 外径x 壁厚
kEl = 5, // 标高
kType = 6, // 类型-->系统代号
kHeatIns = 7, // 保温伴热
kElbowRat = 8, // 弯头比率
kStandard = 9, // 标准
kMaterial = 10, // 材质
kZone = 11, // 区号
kSystem = 12, // 系统
};
enum ElBase
{
kTop = 0,
kCen = 1,
kBom = 2,
kDefault = 3,
};
enum EReducer
{
eCen = 0,
eUp = 1,
eDown = 2,
eFr = 3,
eBk = 4,
};
enum ELookDir
{
eLookUnknown = 0,
eLookDown = 1,
eLookUp = 2,
};
enum DrawMode
{
kSingle = 1, //单线画法
kDouble = 2, //双线画法
};
enum PipeDraw
{
eToPreView = 1,
eToCreate = 2,
};
enum EApp
{
eButtweld = 0, //焊接
eVictaulic = 1, //气体,螺纹结构
eLined = 2, //内衬
eFiberglass = 3, //玻璃纤维
eSanitary = 4, //污水,承插结构
eFlange = 5, //法兰管线
eDuct = 6, //风管
eBridge = 7, //桥架
eRoad = 8, //道路
eFlxJoin = 9, //卡箍连接
eTrench = 10,//电缆沟
eGroove = 11,//沟槽连接
eNoneApp = 50,//
};
enum EDia
{
eDN = 0, //公称直径
eOD = 1, //外径
eID = 2, //内径
};
enum ECap
{
kEllipseEnd = 0, //椭圆封头
kPlaneEnd = 1, //平端封头
kBoltEnd = 2, //螺帽封头
};
typedef struct PipeParam
{
PipeParam() { ::memset(this, 0, sizeof(PipeParam)); }
double m_dD; //画法采用的直径
EDia m_eD; //画法采用的直径
double m_dDN; //公称
double m_dOD; //外径
double m_dThick; //壁厚
double m_dEl; //标高
double m_dRRatio; //弯头曲率半径
int m_nRadioOn; //弯头曲率控制 0 按曲率,1按结构长度
double m_dW; //风管/桥架 两类实体的宽
double m_dH; //风管/桥架 两类实体的高
WPipe::EApp m_app; // 管道类型(判断是风管/桥架/管线)
//插焊或螺纹
int m_nConnectType; //0 焊接 1: 承插 2 螺纹 3 法兰管 4 卡箍
double m_dInterfaceL; //管件承插焊或螺纹 长度 或法兰管的法兰厚
double m_dInterfaceD; //管件承插焊或螺纹 接口直径 或法兰管的法兰外径
double m_dInterfaceD2; //管件承插焊或螺纹 接口直径 变径开始端
double m_dInterfaceL2; //管件承插焊或螺纹 螺纹长度,变径开始端
double m_dWh; //带颈法兰高度
double m_dWn; //带颈法兰 N
double m_dWh2; //带颈法兰高度 变径开始端
double m_dWn2; //带颈法兰 N 变径开始端
TCHAR m_szEndF[255]; //法兰端面
TCHAR m_szGastInf[255]; //法兰管 垫片信息
double m_dInsThk; //保温层厚
double m_dInterfaceL3; //变径长度 法兰管分段长度
EReducer m_eRed; //如果是变径,变径类型
AcGeVector3d m_vtECCen; //变径偏心方向
AcGeVector3d m_vtDir; //管子末端方向
ElBase m_eElBase; //标高基准
TCHAR szPipeno[255]; //管号
TCHAR szMertial[255]; //材料
TCHAR szMertialFit[255]; //材料
TCHAR szZoneNo[255]; //区号
TCHAR szUnitNo[255]; //单元号
TCHAR szInsMtr[255]; //保温材质
TCHAR szDescr[255]; //描述
TCHAR szSys[255]; //系统
int m_nGroupID; //undo参数
TCHAR szLevel[255]; //等级
double m_dPress; //压力
TCHAR szZone[255]; //区
TCHAR szMedia[255]; //介质
TCHAR szNo[255]; //序号
TCHAR szSpec[255]; //用途
TCHAR szLineNo[255]; //管线号 PID use
TCHAR szInsTag[255]; //保温标志
TCHAR szInsDim[255]; //保温标注
TCHAR szInsMateral[255]; //保温材料
TCHAR szInsSpec[255]; //保温规格
TCHAR szTraMtoInfo[255]; //伴热管子表中所有的信息
TCHAR szTraDescr[255]; //伴热管描述
TCHAR szFitType[255]; //x度弯头,100x100三通 管件描述
TCHAR szMtoInfo[255]; //管子表中所有的信息
TCHAR szODSn[17]; //外径系列
TCHAR szStdNo[255]; //标准号
TCHAR szShtNo[33]; //表号
int m_nInsAndHead; //是否有保温伴热 0: 无 1:保温 2:伴热+保温
int m_bIs2D; //是否2d投影
int m_bIsMain; //是否是主参数
int m_nPipeColor; //管子外线颜色
int m_bZPipe2DDraw; //立管2d不显示口径
int m_bFlangNoBom; //法兰管法兰不统计标记 1 不统计 0 统计
int nPIPCmd; //管线命令类型
}PIPEPARAM;
//等级信息
typedef struct FitSpec
{
TCHAR szODSN[7]; //外径系列
TCHAR szShtNo[33]; //表号
TCHAR szStdNo[255]; //标准号
TCHAR szMat[128]; //材料
TCHAR szDesc[255]; //描述
}FITSPEC,PIPESPEC;
//仅限厂区道路
typedef struct RoadParam
{
double dSize[9]; //参数
double dRRatio; //道路曲率半径,弯头,三四通
double dThick; //路厚度,经验数值
double dGrade; //路面横坡度1.5-2.5%
double m_dEl; //标高
int m_nAlign; //对其方式
int nDrawCen; //绘制中心线
double m_dL;
int m_nGroupID; //undo参数
AcGeVector3d m_vtNrom; //
TCHAR szSpec[255]; //用途,类型等
}ROADPARAM;
enum Trade
{
ePetro = 0,//石油
ePetroChmc = 1,//石化
eChemical = 2,//化工
ePower = 3,//电力
eCivial = 4,//市政
};
/*enum OperType
{
eMoveGrip = 1, //
eCmdGrip = 2, //
eTransform = 3, //
};
typedef struct ModifyMsg
{
AcGePoint3d ptOn; //消息触发点
OperType eOper; //消息类型
AcDbObjectId idOn; //作用对象
AcGeMatrix3d xform; //消息变换
int nIndex; //夹点序号
AcGeVector3d vtIntf; //接口方向
AcGePoint3d ptIntf; //接口方向点
int nUpgrade;// 1 : 弯头->Tee 2: Tee->Cross
}MODIFYMSG;*/
} KPIPE, KPipe;
namespace AecEqui
{
enum Position //夹点位置解释
{
eStart = 0, //夹点 Start 点
eMid = 1, //夹点 中点
eEnd = 2, //夹点 End点
eBr1 = 3, //夹点 分支点1
eBr2 = 4, //夹点 分支点2
eBr3 = 5, //夹点 分支点3
eBr4 = 6, //夹点 分支点4 1~4一般用于三通,四通
eInf1 = 7, //夹点 接口点1
eInf2 = 8, //夹点 接口点2
eInf3 = 9, //夹点 接口点3
eInf4 = 10, //夹点 接口点4
eInf5 = 11, //夹点 接口点5
eInf6 = 12, //夹点 接口点6
eInf7 = 13, //夹点 接口点7
eInf8 = 14, //夹点 接口点8
eInf9 = 15, //夹点 接口点9
eInf10 = 16, //夹点 接口点10 1~10 用于小型设备的接口
eSizeMid0 = 30, //夹点 尺寸0
eSizeMid1 = 31, //夹点 尺寸1
eSizeMid2 = 32, //夹点 尺寸2
eSizeMid3 = 33, //夹点 尺寸3 0~3 用于尺寸拉动的夹点
eCommand0 = 40, //夹点 命令点0
eCommand1 = 41, //夹点 命令点1
eCommand2 = 42, //夹点 命令点2
eCommand3 = 43, //夹点 命令点3 0~3 用于启动命令的夹点
//???? 接口预留被占用
eDim0 = 44, //夹点 标注0
eDim1 = 45, //夹点 标注1
eDim2 = 46, //夹点 标注2 0~2 用于埋标注的夹点解释
eAdjust0 = 47, // 调整点
eCommand4 = 48, //夹点 命令点
eCommand5 = 49, //夹点 命令点
eCommand6 = 50, //夹点 命令点
eCommand7 = 51, //夹点 命令点
eCommand8 = 52, //夹点 命令点
eCommand9 = 53, //夹点 命令点
eCommand10 = 54, //夹点 命令点
eCommand11 = 55, //夹点 命令点
eCommand12 = 56, //夹点 命令点
eCommand13 = 57, //夹点 命令点
eCommand14 = 58, //夹点 命令点
eCommand15 = 59, //夹点 命令点
eCommand16 = 60, //夹点 命令点
eCommand17 = 61, //夹点 命令点
eCommand18 = 62, //夹点 命令点
eCommand19 = 63, //夹点 命令点
};
enum InterfaceOper
{
eMoveGripPoint = 0, //夹点
eTransformBy = 1, //变换
eSize = 2, //尺寸
eNewCommand = 3, //命令
eUpdateIntf = 4, //接口
eUpdateCover = 5, //遮挡
eUpdateDisp = 6, //刷新图形
eUpdateRel = 7, //更新关系
eAutoWorkOn = 8, //自动影响,对象移走,原位置管子自动融合,新位置管子自动断开
};
enum InterObjOper //接口对象的操作类型 对应Database反应器函数
{
eUnknowOper = 0,//未知
eObjectAppended = 1,//对象添加到数据库
eObjectReAppended = 2,//对象二次添加到数据库
eObjectErased = 3,//对象被删除
};
typedef struct ISOContex
{
TCHAR szSystem[65]; //系统
AcDbObjectId idSys; //系统图层
BOOL bAllSys;
BOOL bEqu; //设备参与iso
double dAngle; //iso x角度
short nVal2D; //阀门二维符号
short nPipeDim; //管线标注
short nPipeDim2; //管线在线标注
short nFitDim; //管件标注
short nDimIndex; //标号统计标注
double dPlotPipeW; //管线打印线宽
double dPlotDotD; //焊点打印直径
int nType; //方向
BOOL bElbowLine; //弯头折线
BOOL bWeldDot; //绘制焊点
BOOL bDNDim; //DN
BOOL bDimTxtIso; //标注文字轴测
BOOL bDimPipeEl; //标注水平管标高
double dRefEl; //地平线标高
BOOL b45NoIso; //45no iso
BOOL bVlvISOV; //水平阀门竖显示
}ISOCONTEX;
// 以下enum与EFITTINGTYPE冲突
/*enum ObjectKind //描述对象类型
{
eCabletry = 1, //桥架
ePipe = 1, //管子,如水管
eElbow = 2, //弯头
eReduceElbow = 3, //变径弯头
eReduce = 4, //变径
eTee = 5, //三通
eValve = 6, //阀门
eCross = 7, //四通
eEquipment = 8, //设备
eFlange = 9, //法兰
eOffset = 10, //乙字弯
eAirlets = 11, //风口
eFan = 12, //风机
eAirHanding = 13, //空气处理机
eVRVBrPipe = 14, //多联机分歧管
eVRVEqu = 15, //多联机室外机/室外机
eWall = 16, // 墙
eOpeing = 17, // 门
eWindow = 18, // 窗
eHold = 19, // 洞
eRectStair = 20, // 双直梯
eStair = 21, // 楼梯
eColumn = 22, // 立柱
eWindowDoor = 23, // 门窗
eCornerWindow = 24, // 转角/带形窗
eWallPatch = 25, // 墙造型
eBracket = 26, // 吊架
eSupport = 27, // 支架
eDeDustCover = 28, // 除尘罩
eLateral = 29, //L 三通
eWye = 30, //Y 三通
eWcap = 31, // 堵头
eBeam = 32, // 梁
eSlab = 33 // 板
};*/
enum EquipKind // 设备种类
{
eHeating = 1, // 采暖设备
eAirCondition // 空调设备
};
//桥架的对象的覆盖解释
//typedef ObjectKind CableFitting;
enum CabletryStyle //桥架样式
{
eC = 0, //槽式
eP = 1, //盘式
eT = 2, //梯式
};
// 桥架拐角画法
enum CableCorner
{
eLine = 0, //单 线段画法
eArc = 1, //单弧度画法
eDblLine = 2, //双线段画法
eDblArc = 3, //双弧度画法
eNLine = 4, //90度角画法
};
enum CableStyle
{
eNorCabletray = 0, //普通桥架
eSilo = 1, //竖井
eArcCabletray = 2, //弧形桥架
};
enum CableElbowStyle
{
eCHorEqualR = 1, // 槽式水平等径弯通
eCHorEqual135R = 2, // 槽式135度水平等径弯通
eCVerEqualTop = 3, // 槽式垂直等径上弯通
eCVerEqual135Top = 4, // 槽式135度垂直等径上弯通
eCVerEqualBottom = 5, // 槽式垂直等径下弯通(右方向)
eCVerEqual135Bottom = 6, // 槽式135度垂直等径下弯通
eCVerEqualLeftBottom = 7, // 槽式垂直等径左下弯通
eCVerEqualRightBottom = 8, // 槽式垂直等径右下弯通
eCVerEqualLeftTop = 9, // 槽式垂直等径左上弯通
eCVerEqualRightTop = 10, // 槽式垂直等径右上弯通
eCVerEqualTurn = 11, // 槽式垂直等径转动弯通
eCHorEqualZRight = 12, // 槽式垂直等径Z字右偏弯通
eCHorEqualZLeft = 13, // 槽式垂直等径Z字左偏弯通
eCVerEqualHightLow = 14, // 槽式垂直高低等径弯通
eCVerEqualBottom2 = 15, // 槽式垂直等径下弯通(左方向)
//....
};
enum CableTeeStyle
{
eTHorEqualR = 1, // 槽式水平等径三通
eTVerEqualR = 2, // 槽式上垂直等径三通
eTDVerEqualR = 3, // 槽式下垂直等径三通
eTUpSideMidVerEqualR = 4, // 槽式上边中间垂直等径三通
eTDSideVerEqualR = 5, // 槽式下边垂直等径三通
eTUpAngleVerEqualR = 6, // 槽式上角垂直等径三通
eTDAngleVerEqualR = 7, // 槽式下角垂直等径三通
eTDSideMidVerEqualR = 8, // 槽式下边中间垂直等径三通
eTUpSideVerEqualR = 9, // 槽式上边垂直等径三通
};
enum CableReducerStyle
{
eRbotHorDifR = 1, // 槽式下平异径接头
eRbotHorNormalDifR = 2, // 槽式下平普通异径接头
eRbotHorOffsetDifR = 3, // 槽式下平偏移(左)异径接头
eRbotHorOffsetDifR2 = 4 // 槽式下平偏移(右)异径接头
};
enum GougeStyle
{
eGNull = 1, // 空
eGLSide = 2, // 靠左边
eGRSide = 3, // 靠右边
eGOrder = 4, // 两边对齐
eGInter = 5 // 两边交错
};
enum EAppType
{
eCableTray = 1, // 桥架
eSock = 2, // 线槽
eGouge = 3 // 电缆沟
};
enum CableCrossStyle
{
eOldCbotHorEqualCross = 0, //槽式下平等径四通(8.2之前版本)
eCbotHorEqualCross = 1, // 槽式下平等径四通
eCrossForSpace = 2, //垂直四通
};
enum CableOffsetStyle
{
eHorLeftOffset = 1, // 槽式水平左偏移乙字弯通
eHorRightOffset = 2, // 槽式水平右偏移乙字弯通
eVerOffset = 3, // 槽式垂直偏移乙字弯通
};
enum CableCoverStyle
{
eUnCover = 0, // 不封顶
eCover = 1, // 封顶
};
enum CableClapBoard
{
eUnBoard = 0, //无隔板
eBoard = 1, //有隔板
};
enum ShowClapBoard
{
eUnShowBoard = 0, //不显示隔板
eShowBoard = 1, //显示隔板
};
enum SortStyle //排序规则
{
eSortByID = 1, //根据 id 排序
eSortByEl = 2, //根据标高排序
};
enum BracketStyle //吊架类型
{
eDoubleBracket = 1, //双臂吊架
eSingleBracket = 2, //单臂吊架
eDRowSingleBracket = 3, //单臂双排吊架
};
enum PillarStyle //立柱样式
{
eSquareSteel = 1, //方钢
eAngleIron = 2, //角钢
};
enum BracketArmType // 托壁类型
{
eLineShape = 1, // 线状(默认桥架的样式)
eRectShape = 2, // 矩形框 (暖通增加的)
};
enum ValveType //阀门类型
{
eGateVlv = 1, //闸阀
eGlobeVlv = 2, //截止阀
eSphereVlv = 3, //球阀
eCheckVlv = 4, //止回阀
eButterflyVlv = 5, //碟阀
eAngleVlv = 6, //角阀
eSafetyVlv = 7, //安全阀
eTeeVlv = 8, //三通阀
eCrossVlv = 9, //四通阀
eAdjustingVlv = 10, //调节阀
eDrainVlv = 11, //疏水阀
ePlugVlv = 12, //旋塞阀
eDiaphragmVlv = 13, //隔膜阀
eReducingVlv = 14, //减压阀
eEleMagVlv = 15, //电磁阀
eRubberJnt = 16, //香蕉接头
eVentVlv = 17, //排气阀,暖通定风量阀
eDrainMudVlv = 18, //排泥阀
eJYF = 19, //浆液阀
eGate = 20, //闸门,,防火阀
eVlvPPLAT = 21, //孔板
eVlvLPGT = 22, //桶式过滤器 -》https://www.china.cn/guolvqi/4016386847.html 上海良大阀门有限公司
eVlvTFILTER = 23, //临时过滤器
eVlvTEEFILTER = 24, //T型过滤器
eVlvYFILTER = 25, //Y型过滤器
eVlvMirror = 26, //视镜
eVlvFlowMet = 27, //流量计
eVlvRTDT = 28, //阻火器
ePressMeter = 29, //压力表
eTemprMeter = 30, //温度表
eVlvSSJt = 31, //伸缩接头
eVlvCLJt = 32, //传力接头
eVlvGdxsq = 33, //管道消声器
eVlvGdjthhq = 34, //管道静态混合气
eVlvGDbjc = 35, //管道补偿器
};
typedef struct VlvType
{
ValveType eType;
TCHAR szNameCn[17];
}VLVTYPE;
//表达基本图元的曲线单位,三点有两点相同直线,三点不同圆弧
typedef struct AecCurveElement
{
AcGePoint3d ptGe[3]; //ARC: 0起点 1 中点 2终点; LINE: 0起点, 1,2两点重合
Adesk::Int16 bHided; //是否显示
Adesk::Int32 gsMark; //gs标记
double dWidth; //宽度
AcDbObjectId idSubLay; //子实体图层
AcDbObjectId idSubLty; //子实体线型
Adesk::UInt16 nColorIndex; //颜色索引
}AECCURVEELEMENT, *PAECCURVEELEMENT;
typedef struct GripAppData //夹点应用程序定义
{
int nIndex; //夹点索引
AcGePoint3d ptGrip; //夹点位置
Position ePos; //夹点位置解释
TCHAR szTip[65]; //夹点提示
AcDbEntity* pOwner;
}GRIPAPPDATA;
typedef struct AecXData
{
int nVt; //VT_I4,VT_BSTR,VT_R8,VT_BYREF | VT_R8,VT_BYREF | VT_R8 + 1 pt
//VT_BYREF | VT_R8 + 2,VT_BYREF | VT_R8 + 3 vect
//VT_UI4 : id VT_BYREF | VT_R8 + 4 : matrix3d
LONG_PTR npszLen; //对应字符数据长度
union
{
LONG_PTR nVal; // 整型数据
double dVal[3]; // 浮点数据
TCHAR* pszVal; // 字符数据
};
}AecXData;
typedef struct AecIntfData
{
int nType; // 类型0 : cir 1: ret 2: custm
double dL; // 长度 (直径)
double dW; // 宽度
AcGeVector3d vt; // 长度方向向量
}AecIntfData;
typedef struct AecInfUpdate
{
int nIntf;
bool bInfAll;
AcGePoint3d ptOld;
AcGeMatrix3d xForm;
AcDbObjectId idOwner;
}TINFUPDATE, *pTInfUpdate;
typedef enum XView
{
kTop = 1, //俯视
kBottom = 2, //仰视
kLeft = 3, //左视
kRight = 4, //右视
kFront = 5, //主视
kBack = 6, //后视
kOther = 7, //其他
}XVIEW;
// AutoCAD实体OPM信息
struct OPMInfo
{
// 构造函数,初始化数据参数
OPMInfo() : bVisible(FALSE), bEditable(FALSE),
parsValues(NULL), parlValues(NULL), pXData(NULL) {}
BOOL bVisible; // 是否可见
BOOL bEditable; // 是否可编辑
CStringArray* parsValues; // 列表数据名
CDWordArray* parlValues; // 列表数据值
AecXData* pXData; // 参数数据
};
typedef struct XCylinder
{
double dr;
double dH;
short nHide; //0 显示 1 隐藏
}XCYLINDER;
typedef struct XPyramid
{
double dTX;
double dTY;
double dBX;
double dBY;
double dH;
double dXOffset;
short nHide; //0 显示 1 隐藏
}XPYRAMID;
typedef struct XBox
{
double dL;
double dW;
double dH;
short nHide; //0 显示 1 隐藏
}XBOX;
typedef struct XNozz
{
double dVal1;
double dVal2;
double dVal3;
double dVal4;
double dVal5;
short nType; //类型
short nCmd; //命令类型 0 : 水管 1: 风管
short bTwoFlags; //0 单法兰,1 双法兰 2 焊接 3 承插 4 螺纹 5 卡箍
char szResvr[MAX_PATH]; //预留
}XNOZZ;
typedef struct XTriag
{
AcGePoint3d ptGe[3];
}XTRIAG;
typedef struct XCone
{
double dr;
double dR;
double dH;
double dXOffset;
short nHide; //0 显示 1 隐藏
}XCONE;
typedef struct XCirtorus
{
double dInr;
double dOutR;
double dStaAngle;
double dEndAngle;
short nHide; //0 显示 1 隐藏
}XCIRTORUS;
typedef struct XRecttorus
{
double dInr;
double dOutR;
double dH;
double dStaAngle;
double dEndAngle;
short nHide; //0 显示 1 隐藏
}XRECTTORUS;
typedef struct XDish
{
double dD;
double dH;
short nHide; //0 显示 1 隐藏
}XDISH;
typedef struct XSphere
{
double dr;
short nHide; //0 显示 1 隐藏
}XSPHERE;
typedef struct XVertex
{
double dVal[4];
}XVERTEX;
typedef struct XTydf
{
double dTR;
double dTL;
double dTW;
double dH;
double dXOffset;
short nHide; //0 显示 1 隐藏
}XTYDF;
typedef struct XBuffer
{
PVOID pData;
int nSize;
}XEXTRUDE, XREVOLVE;
typedef AcArray<AcGeMatrix3d> AcGeMatrix3dArray;
enum Primitive
{
kUnknownPrim = 0, //未知
kBox = 1, //矩形体
kCylinder = 2, //圆柱
kCone = 3, //圆台
kPyramid = 4, //四面金字塔
kCirTorus = 5, //圆环
kRectTorus = 6, //矩形体圆环
kDish = 7, //封头
kSphere = 8, //球
kExtrude = 9, //拉伸
kRevolve = 10, //旋转
kTydf = 11, //天圆地方
kNozz = 12, //管觜
kSubDMesh = 13, // 3js 对象
kRevitExtrude = 14,
kRevitRevolve = 15,
kRevitLoft = 16,
kRevitSweep = 17,
kNewExtrude = 18, // 新拉伸
kNewRevolve = 19, // 新旋转
kNewLoft = 20, // 新放样
kNewSweep = 21, // 新扫掠
kRevitCombination = 22, // revit里的组合体
kCombination = 23, // 设备组合
};
typedef struct XPrimData
{
XPrimData(): m_eType(0)
, m_pData(NULL)
, m_nSize(0)
, m_nActiveInf(-1)
, m_nID(-1)
, m_bBoolSubtract(false)
, m_iClr(256)
, m_Combins(0)
, m_sName(_T(""))
{
}
~XPrimData()
{
for (size_t i(0); i < m_Combins.size(); ++i)
DELETE_PTR(m_Combins[i]);
}
void releaseData()
{
if (!m_pData) return;
switch (m_eType)
{
case AecEqui::kNewExtrude:
case AecEqui::kNewRevolve :
case AecEqui::kNewLoft:
case AecEqui::kRevitSweep:
case AecEqui::kNewSweep:
case AecEqui::kRevitCombination:
case AecEqui::kExtrude:
case AecEqui::kRevolve:
delete[] m_pData;
m_nSize = 0;
break;
default:
delete m_pData;
m_nSize = 0;
break;
}
}
//基本体数据
short m_eType; //单元体类型
PVOID m_pData; //数据
int m_nSize; //数据长度
short m_nActiveInf; //当前活动inf
Adesk::Int32 m_nID; //内部id,以添加的时间为id
//原点变换
AcGeVector3d m_vtMove; //x,y,z 移动
AcGePoint3d m_ptRotation; //x,y,z 旋转角度
//附加复杂变换
AcGeMatrix3dArray m_arMatrix; //MAT 数组
bool m_bBoolSubtract; // 是否是布尔减
Adesk::UInt16 m_iClr; // 颜色
CString m_sName; // 几何体名称 最多66
std::vector<XPrimData*> m_Combins; // 设备组合
}XPrimData;
}
typedef struct AecHvac
{
typedef struct DuctParam
{
ESection eType; //截面类型
double dSize[33];//>=33!!//尺寸 0宽度,1高度,2厚度,3第二宽度 对于桥架不等宽三通 变径用
int m_nAlign;//对其方式
double m_dEl; //标高
double m_dRatio;//曲率半径
double m_dFullPer;//填充率等介质通量 设计填充率
double m_dFillUsed;//已经使用的填充率
double m_dFullPer2;//填充率等介质通量2 设计填充率2
double m_dFillUsed2;//已经使用的填充率
double m_dPlusEdge;//卷边长度
WPipe::EApp m_app;
int m_bCover; //盖板 桥架用
int m_bSpart; //隔板 桥架用
int m_nSysSplit;//隔板系统分类
int m_bCenDraw;//显示中心线
int m_nGroupID;//undo参数
int m_nFlowDir;//流动方向
double m_dL; //变径长度等
int m_nEcCen; //偏心
int m_nZEcCen;//Z偏心
AcGeVector3d m_vtNrom;//放置法向量
int iALUnit; //风量单位
double dAirload; //风口分量
double m_dV;// 风速
double m_dR;// 比摩阻
double m_dPy;// 沿层阻力
TCHAR szNo[33]; //编号
TCHAR szMat[33];//材质
TCHAR szFat[33];//厂家
TCHAR szType[33];//类型
TCHAR szExt[33];//其他
TCHAR szSys[33];//系统
TCHAR szRem[256];//备注
TCHAR szLevel[256];//等级
}DUCTPARAM;
// 风量单位类型
enum EFluxDesc
{
eKgH = 0, // 单位类型为kg/h
eKgS = 1, // 单位类型为kg/s
eCobeH = 2, // 单位类型为m^3/h
eCobeS = 3, // 单位类型为m^3/s
eLH = 4, // 单位类型为L/h
eLS = 5, // 单位类型为L/s
};
// 标高方式
enum EElevationType
{
eElevationTop = 0, // 管顶标高
eElevationCenter = 1, // 中心线标高
eElevationBottom = 2, // 管底标高
};
// 暖通风管截面类型
enum HvacSectType
{
eRectangular = 0, // 矩形
eCircular = 1, // 圆形
eOblate = 2, // 扁圆形
};
// 暖通风管绘制类型
enum HvacDrawType
{
eOldStyle = 0, // 旧标准
eNewImmit = 1, // 新标准进风管
eNewEject = 2, // 新标准排风管
};
// 暖通风管标注类型
enum HvacDimType
{
eDimInnerPipe = 0, // 直接标注在管子中间
eDimAbovePipe = 1, // 直接标注在管子左、上边
eDimBelowPipe = 2, // 直接标注在管子右、下边
eDimLeadLine = 3, // 带引线标注在管子上面
eDimLeadBound = 4, // 带引线和边框标注在管子上面
};
// 暖通风管类型
enum HvacDuctType
{
eStraight = 1, // 直风管
eSoft = 2, // 软风管
};
// 暖通法兰类型
enum HvacFlangeType
{
eSingleLine = 1, // 单线
eOpenDbLine = 2, // 双线开口
eCloseDbLine = 3, // 双线封口
eCloseTrLine = 4, // 三线封口
eHanJieLine = 5, // 焊接法兰
};
// 暖通弯头类型
enum HvacElbowType
{
eAllArcuate = 1, // 内外圆弧
eAllArcWrap = 2, // 内外圆弧消声
eSegmental = 3, // 分段拟合
eIncline = 4, // 内斜线
eInclineWrap = 5, // 内斜线消声
eInclineBoard = 6, // 内斜线隔板消声
eInclineLead = 7, // 内斜线导流
eArcuate = 8, // 内弧线
eArcuateWrap = 9, // 内弧线消声
eArcuateBoard = 10, // 内弧线隔板消声
eArcuateSieve = 11, // 内弧线筛板消声
eArcuateLead = 12, // 内弧线导流
eAllOrtho = 13, // 内外直角
eOrthoWrap = 14, // 内外直角消声
eOrthoLead = 15, // 内外直角导流
eAllArcInWrap = 16, // 消声弯头
};
// 暖通乙字弯类型
enum HvacOffsetType
{
eArcuateLink = 1, // 双弧
eLinearLink = 2, // 角接
eObliqueLink = 3, // 斜接
};
// 暖通三通类型
enum HvacTeeType
{
eOrthoBranch = 1, // 普通
eInclineBranch = 2, // 斜接
eArcuateBranch = 3, // 圆角
eInsertBranch = 4, // 承插
eYShapeBranch = 5, // Y型
eVShapeBranch = 6, // V型
eTShapeBranch = 7, // T型
eInsertIntubBranch = 8, // 承插(插管式)
eArcuateIntubBranch = 9, // 圆角(插管式)
eIncline2Branch = 10, // 内斜线
};
// 暖通四通类型
enum HvacCrossType
{
eOrthoCross = 1, // 普通
eInsertCross = 2, // 承插
eInsertIntubCross = 7, // 承插(插管式)
eInclineCross = 3, // 斜接
eArcuateCross = 4, // 圆角
eArcuateIntubCross = 8, // 圆角(插管式)
eLinearCross = 5, // 直角
eInterCross = 6, // 交叉
};
// 暖通吸尘罩类型
enum HvacDeDustCoverType
{
eCenterInterface = 1, // 竖直放置,中心接口
eSideInterface = 2, // 竖直放置,边壁接口
eHorzSideInterface = 3,// 水平放置,侧吸式,接口法向水平
};
// 变径计算方法
enum HvacReduComType
{
eAuto = 1, // 自动计算
eAngle = 2, // 角度法
eLength = 3 // 长度法
};
// 乙子弯计算方法
enum HvacOffsetComType
{
eOffComRatio = 1, // 曲率
eOffComOffset = 2, // 偏移
eOffComLength = 3 // 长度法
};
// 系统模型类型
enum HvacModelType
{
eModel = 1, // 常规模型图
eSystem = 2, // 系统图
};
// 设备标注文字位置:
enum HvacEquipDimLoc
{
eEquipDimCent = 0,
eEquipDimUP = 1,
eEquipDimDown = 2,
eEquipDimLeft = 3,
eEquipDimRight = 4
};
// 压力等级
enum HvacPressLevel
{
ePressLow = 0, // 低压
ePressMedium = 1, // 中压
ePressLowMed = 2, // 低中压
ePressHigh = 3, // 高压
};
} AECHVAC;
typedef struct ColumnParam
{
double m_dXExtend;
double m_dYExtend;
double m_dRotAngle;//角度,不是弧度
double m_dBomEl; // 起点标高
double m_dEndEl; // 终点标高
double m_dH;
int m_iInsertType;
int m_nShape;
double m_dXScale;
double m_dYScale;
TCHAR m_sBlockName[MAX_PATH];
TCHAR m_sMaterial[MAX_PATH];
TCHAR m_sHatch[MAX_PATH];
TCHAR m_sModel[MAX_PATH];
AcDbObjectId m_idRec;
double m_dSizes[4];
TCHAR m_szNo[MAX_PATH];
AcGePoint3d ptPos;
bool bPtPos;
//结构信息
TCHAR m_sLoadNo[MAX_PATH];
double m_dXHLoad;
double m_dYHLoad;
double m_dXULoad;
double m_dYULoad;
int m_nLoadType;
TCHAR m_sLoadInf[MAX_PATH];
int m_nEQ;
}COLUMNPARAM;
enum InsStyle
{
kByOrder = 1, //顺序插入
kByDoteCen= 2, //中心插入,按轴线
kByCenter = 3, //中心插入,按墙段
kByButter = 4, //垛宽插入
};
enum DWStyle
{
kWindow = 1,
kDoor = 2,
};
typedef struct DWData //门窗统一数据
{
int m_nType; //1 win 2 door
CString m_sNo; //编号
CString m_sBlock; //块名
CString m_sBlock3D; //3D块名
double m_dWidth; //门窗的插入宽度
double m_dHeight; //高度
double m_dDistFr; //距离->作废
double m_dBomEl; //底部标高
InsStyle m_eInsStyle; //插入方式
AcDbObjectId m_idRec; //
AcDbObjectId m_idRec3d; //
CString m_sMaterial;
CString m_sProvider;
}DWDATA;
// 下面定义 Dimension 模块的 设置参数
#define DIM_PROJ_DEFAULTSCALE _T("g_nDefaultScale") // 当前比例
#define DIM_PROJ_METERUNITDIM _T("g_bMeterUnitDim") // 标注单位 是否是米
#define DIM_PROJ_ARCLENDIMTYPE _T("g_nArcLenDimType") // 新旧弧长标注
#define DIM_PROJ_TEXT2BASERATIO _T("g_nText2BaseRatio") // 符号标注文字距基线系数
#define DIM_PROJ_MULTILEADERDISTRATIO _T("g_dMultiLeaderDistRatio") // 引出文字距基线末端距离系数
#define DIM_PROJ_ELEDOTESIZE _T("g_dEleDoteSize") // 标高符号圆点直径
#define DIM_PROJ_ELETRIANGLESIZE _T("g_dEleTriangleSize") // 标高符号三角高度
#define DIM_PROJ_ELECROSSSIZE _T("g_dEleCrossSize") // 标高符号十字线长
#define DIM_PROJ_OLDDRAWINGINDEX _T("g_bOldDrawingIndex") // 圆圈文字,0-新 1-旧 3-出圈
// end
#define DOC_TRADE _T("Trade") //应用行业
#define DOC_PROJECT _T("Project") //项目名称
#define DOC_SCALE _T("Scale") //出图比例
#define DOC_PLOTWIDTH _T("PlotWidth") //打印宽度
#define DOC_WELDDIA _T("WeldDia") //焊点直径
#define DOC_DPLOTWIDTH _T("DPlotWidth") //双线打印线宽
#define DOC_PIPEMINDIA _T("PipeMinDia") //管子最小直径[]
#define DOC_PIPEMAXDIA _T("PipeMaxDia") //管子最小双线直径
#define DOC_PIPEMAXDIASCALE _T("PipeMaxDiaS") //管子最小双线直径单线绘制系数
#define DOC_PIPEMAXDIASYES _T("PipeMaxDiaY") //管子最小双线直径单线绘制系数
#define DOC_PERELBOWDIA _T("PerElbowDia") //垂直管子弯头半径
#define DOC_BREAKSPACE _T("BreakSpace") //交叉断线间距
#define DOC_UNIT _T("Unit") //单位
#define DOC_INCH _T("Inch") //英制
#define DOC_DIMTERM _T("DimTerm") //标注端符
#define DOC_DIMTXTH _T("DimTxtH") //标注文字高度
#define DOC_DIMTXTF _T("DimTxtF") //标注文字宽度系数
#define DOC_EQPTXTH _T("DimEqpTxtH") //设备标注文字高度
#define DOC_EQPTXTF _T("DimEqpTxtF") //设备标注文字宽度系数
#define DOC_STRTXTH _T("DimStrTxtH") //结构标注文字高度
#define DOC_STRTXTF _T("DimStrTxtF") //结构标注文字系数
#define DOC_SCRIPTT _T("ScriptT") //上标脚本
#define DOC_SCRIPTB _T("ScriptB") //下标脚本
#define DOC_ELTYPE _T("ElType") //标高设置
#define DOC_ELDESCR _T("ElDescr") //标高描述
#define DOC_DNPRE _T("DNPRE") //DN前缀
#define DOC_DPRE _T("DPRE") //D前缀
#define DOC_ADPRE _T("ADPRE") //统一前缀
#define DOC_INSTRATAG _T("InsTra") //保温伴热标志 0: 无 1:保温 2:伴热+保温
#define DOC_INSDIM _T("InsDim") //保温标注
#define DOC_INSMATER _T("InsMat") //保温材料
#define DOC_INSSPEC _T("InsSpec") //保温规格
#define DOC_TRADESCR _T("TraDescr") //伴热描述
#define DOC_TRAMTOINF _T("TraMto") //伴热mto
#define DOC_PIPECOLOR _T("PCOLOR") //管线颜色
#define DOC_2DPIPE _T("Is2D") //是否2d
#define DOC_2DISO _T("ISO") //iso实体
#define PIPE_TEEMAINDIR _T("IsMain") //主方向
#define PIPE_LAY_SYS _T("PIPE_LAY_SYS") // 管道图层系统
//PIDINIT
#define DOC_PIDTRADE _T("Trade") //应用行业
#define DOC_PIDPROJECT _T("Project") //项目名称
#define DOC_PIDUNIT _T("Unit") //单位
#define DOC_PIDINCH _T("Inch") //英制
#define DOC_PIDDIMTERM _T("DimTerm") //标注端符
#define DOC_PIDMPIPE1W _T("mPipe1W") //主管道线宽1
#define DOC_PIDMPIPE2W _T("mPipe2W") //主管道线宽2
#define DOC_PIDSPIPE1W _T("sPipe1W") //次管道线宽1
#define DOC_PIDSPIPE2W _T("sPipe2W") //次管道线宽2
#define DOC_PIDBSPACE _T("BreakSpace") //交叉断线间距
#define DOC_PIDINSRDN _T("InsrDN") //仪表泡直径
#define DOC_VALVESCALE _T("ValveScale") //阀门比例
#define DOC_EQUSCALE _T("EquScale") //设备比例
#define DOC_NODESCALE _T("NodeScale") //管嘴比例
#define DOC_CONSIGN _T("ConSign") //续接符号
#define DOC_LINEARSCALE _T("lScale") //线性比例
#define DOC_PIDDIMTXTH _T("DimTxtH") //标注文字高度
#define DOC_PIDDIMTXTF _T("DimTxtF") //标注文字宽度系数
#define DOC_PIDEQPTXTH _T("DimEqpTxtH") //设备标注文字高度
#define DOC_PIDEQPTXTF _T("DimEqpTxtF") //设备标注文字宽度系数
#define DOC_PIDVALVTXTH _T("DimStrTxtH") //阀门标注文字高度
#define DOC_PIDVALVTXTF _T("DimStrTxtF") //阀门标注文字系数
#define DOC_PIDVWITHDIM _T("vWithDim") //阀门插入标注
#define DOC_PIDEWITHDIM _T("eWithDim") //设备插入标注
#define DOC_PIDBARROW _T("BArrow") //大箭头
#define DOC_PIDMARROW _T("MArrow") //中箭头
#define DOC_PIDSARROW _T("LArrow") //小箭头
#define DOC_PIDSCRIPTT _T("ScriptT") //上标脚本
#define DOC_PIDSCRIPTB _T("ScriptB") //下标脚本
#define DOC_PIDBRKSTYLE _T("BreakStyle") //管线打断样式
const LPCTSTR g_pszPipeDim[] = { _T("公称直径"),
_T("介质"),
_T("管号"),
_T("管道等级"),
_T("外径x 壁厚"),
_T("标高"),
_T("类型"),
_T("保温伴热"),
_T("弯头比率"),
_T("标准"),
_T("材质"),
_T("区号"),
_T("系统"),
_T("单元号"),
NULL
};
const LPCTSTR g_pszPIDPipeDim[] = { _T("公称直径"),
_T("介质"),
_T("管号"),
_T("管道等级"),
_T("外径x 壁厚"),
_T("类型"),
_T("保温伴热"),
_T("标准"),
_T("材质"),
_T("区号"),
_T("系统"),
_T("单元号"),
NULL
};
const LPCTSTR g_pszPIDPipeDimTag[] = {
_T("DN"),
_T("Media"),
_T("No"),
_T("Level"),
_T("OD x Thick"),
_T("Descr"),
_T("InsTag"),
_T("Standard"),
_T("Material"),
_T("Zone"),
_T("PIPE_PSYSTEM"),
NULL
};
const LPCTSTR g_pszElTypeTxt = _T("标高类型");
const LPCTSTR g_pszElType[] = {_T("符号标注"),
_T("简写标注"),
_T("自定义标注"),
NULL
};
const LPCTSTR g_pszPipeDimTag[] = {
_T("DN"),
_T("Media"),
_T("No"),
_T("Level"),
_T("OD x Thick"),
_T("EL"),
_T("Descr"),
_T("InsTag"),
_T("Ratio"),
_T("Standard"),
_T("Material"),
_T("Zone"),
_T("PIPE_PSYSTEM"),
NULL
};
#define PIPE_OUTDLAY _T("OutDlay") //外线图层
#define PIPE_CENTLAY _T("CentLay") //中心线图层
#define PIPE_SINGLAY _T("SingLay") //单线图层
#define KEY_TYPE _T("Type") //型号
#define KEY_SPEC _T("Spec") //型号
#define KEY_FLAG _T("Flag") //标记
#define KEY_EXT _T("Ext") //扩展预留
#define KEY_COVER _T("Cover") //是否盖板
#define KEY_SPART _T("Spart") //是否隔板
#define KEY_HOLE _T("Hole") //黑洞wipeout3d
#define KEY_SYSSPLT _T("SysSpt") //桥架隔板系统划分
namespace PID
{
typedef struct PIDPipeParam
{
double m_dDN; //公称
double m_dOD; //外径
TCHAR m_pszInchDN[16]; //英寸
TCHAR m_pszZone[16]; //区号
TCHAR m_pszNo[16]; //序号
TCHAR m_pszDesc[255]; //描述
TCHAR m_pszMedia[32]; //介质
TCHAR m_pszLevel[64]; //等级
TCHAR m_pszLineNo[64]; //管号
int m_nPipeColor; //管子外线颜色
TCHAR m_pszInsTag[16]; //保温伴热标志
TCHAR m_pszInsTagDim[64]; //保温伴热标志的标注
int m_nTraType; //伴热1 加套管2,都有3 无0
double m_dCoverSpace; //加套间隙
double m_dHeatThick; //保温厚度
TCHAR m_pszMtoInfo[255]; //管子表中所有的信息
}PIDPIPEPARAM;
const Adesk::UInt16 kColorByLayer = 256;
struct CBreakParam
{
double dParam;
AcGePoint3d pt;
AcGeVector3d vt;
double dWidth;
double dLeft;
double dRight;
};
struct CPLineData
{
LPCTSTR pszLayer;
LPCTSTR pszLType;
int iColor;
double dOffset;
double dWidth;
AcDbObjectId id;
AcDbPolyline* pPline;
};
struct CConnectData
{
AcDbPolyline* pPline;
BOOL bStart;
double dParam;
};
typedef AcArray<CConnectData> CConnectDataArray;
typedef AcArray<CBreakParam> AcBreakParamArray;
typedef AcArray<CPLineData> CPlineDataArray;
}
// PID
#define PID_PIPE_DN _T("DN") //公称直径
#define PID_PIPE_INCH _T("Inch") //英寸
#define PID_PIPE_ZONE _T("Zone") //区号
#define PID_PIPE_SYSTEM _T("Psys") //系统
#define PID_PIPE_NO _T("No") //序号
#define PID_PIPE_LINENO _T("LineNo") //管号
#define PID_PIPE_SHTNO _T("SHTNO") //表号
#define PID_PIPE_DESCR _T("Descr") //描述
#define PID_PIPE_MEDIA _T("Media") //介质
#define PID_PIPE_LEVEL _T("Level") //等级
#define PIPE_OD_SN _T("ODSN") //外径系列
#define PID_PIPE_COLOR _T("Color") //管子外线颜色
#define PID_PIPE_INSTAG _T("InsTag") //保温伴热标志
#define PID_PIPE_INSDIM _T("InsDim") //保温伴热标志的标注
#define PID_PIPE_TRACE _T("Trace") //伴热1 加套管2,都有3 无0
#define PID_PIPE_CSPACE _T("CSpace") //加套间隙
#define PID_PIPE_HTHICK _T("HThick") //保温厚度o
#define PID_PIPE_MTOALL _T("MtoAll") //管件,管子 详细信息
#define PID_PIPE_FITTING _T("Fitting") //类型
#define PIDPIPE_APP _T("KTPIDPipe") //扩展数据APP
#define KTPARAMPART _T("KTParamPart") //阀门,设备等
#define PID_PIPE_START _T("Start") //起始点
#define PID_PIPE_END _T("End") //末点
#define PID_PIPE_PIPEGA _T("PipeGA") //管道级别
#define PID_PIPE_DTEMPER _T("DTemper") //设计温度
#define PID_PIPE_CTEMPER _T("CTemper") //操作温度
#define PID_PIPE_DPRESS _T("DPress") //设计压力
#define PID_PIPE_CPRESS _T("CPress") //操作压力
#define PID_PIPE_INSMAT _T("InsMat") //保温资料
#define PID_PIPE_INSTNK _T("InsTnk") //保温厚度
#define PID_PIPE_TPDN _T("TPDn") //伴热公称直径
#define PID_PIPE_TPCOUNT _T("TPCount") //伴热根数
#define PIPE_DIR _T("Vector3d") //管线末端向量
#define PIPE_TDIR _T("TDIR")
#define PIPE_APP _T("KTPipe") //扩展数据APP
#define PIPE_DSEL _T("ED") //画法采用的d类型
#define PIPE_INSTAG _T("InsTag") //保温标志
#define BIMDATA_APP _T("BIMDATA") //BIM扩展数据
// 通用参数名称定义
// 整形数据
#define KEY_SectType _T("I0") // 截面类型
#define KEY_DrawType _T("I1") // 绘制类型
#define KEY_HasBaseLine _T("I2") // 有无基线
#define KEY_FlowDirect _T("I3") // 流动方向
#define KEY_Type _T("I4") // 类型
#define KEY_Segments _T("I5") // 节数
#define KEY_StartSectType _T("I6") // 始端截面
#define KEY_EndSectType _T("I7") // 末端截面
#define KEY_HasValve _T("I8") // 绘制阀门
#define KEY_ArrowStyle _T("I9") // 箭头样式
#define KEY_EleType _T("I10") // 标注标高类型
#define KEY_IsMirror _T("I11") // 是否镜像
#define KEY_HasEdge _T("I12") // 是否带边线
#define KEY_InterNum _T("I13") // 接口数
#define KEY_ModeType _T("I14") // 模型类型
#define KEY_HIDESTART _T("I15") // 隐藏首端线
#define KEY_HIDEEND _T("I16") // 隐藏末端线
#define KEY_STARTCONNECTED _T("I17") // 首端是否连接了其他
#define KEY_ENDCONNECTED _T("I18") // 末端是否连接了其他
#define KEY_IsExplodeMode _T("I19") // 是否是炸开绘制模式
#define KEY_MaxIndoor _T("I20") // VRV最大室内机
#define KEY_ComputeType _T("I21") // 变径、乙子弯等尺寸计算方法
#define KEY_DrawStyle _T("I22") // 绘制样式:风管端线(未连接时)、乙子弯箭头等
#define KEY_AirLoadUnit _T("I23") // 风量单位 add by hh 2011-01-06
#define KEY_SystemNumber _T("I24") // 系统编号 add by mcl 2011-02-23,任何暖通实体都可能会用到
#define KEY_IsSystemNumber _T("I25") // 是否风管系统编号标注,Lixl add 2012-2-6 风管水力会用到
#define KEY_Soft _T("I26") // 软 ADD BY ZH
#define KEY_Lining _T("I27") // 内衬
#define KEY_PressLevel _T("I28") // 压力等级
#define KEY_Column _T("I29") // 列
#define KEY_Show _T("I30") // 显示
// 实型数据
#define KEY_PlusEdge _T("R0") // 翻边余量
#define KEY_EndLineWidth _T("R1") // 端部线加粗值
#define KEY_Width _T("R2") // 宽度
#define KEY_PLOTW _T("PLOTW") // 打印宽度
#define KEY_Thick _T("R3") // 厚度
#define KEY_Diameter _T("R4") // 直径
#define KEY_StartWidth _T("R5") // 始端宽度
#define KEY_StartThick _T("R6") // 始端厚度
#define KEY_EndWidth _T("R7") // 末端宽度
#define KEY_EndThick _T("R8") // 末端厚度
#define KEY_BranchWidth _T("R9") // 支管宽度
#define KEY_BranchThick _T("R10") // 支管厚度
#define KEY_Branch1Width _T("R11") // 支管1宽度
#define KEY_Branch1Thick _T("R12") // 支管1厚度
#define KEY_Branch2Width _T("R13") // 支管2宽度
#define KEY_Branch2Thick _T("R14") // 支管2厚度
#define KEY_StartDiameter _T("R15") // 始端直径
#define KEY_EndDiameter _T("R16") // 末端直径
#define KEY_BranchDiameter _T("R17") // 支管直径
#define KEY_Branch1Diameter _T("R18") // 支管1直径
#define KEY_Branch2Diameter _T("R19") // 支管2直径
#define KEY_Offset _T("R20") // 偏心距离
#define KEY_RadRatio _T("R21") // 曲率半径
#define KEY_SkirtSize _T("R22") // 出头量
#define KEY_Bulge _T("R23") // 曲率系数
#define KEY_TextHeight _T("R24") // 文本高度
#define KEY_TextAngle _T("R25") // 文本角度
#define KEY_ArrowLen _T("R26") // 箭头长度
#define KEY_AirLoad _T("R27") // 风量
//老虎窗
#define KEY_LHCMTROOF _T("LHCROOF")
#define KEY_LHCMTFLOOR _T("LHCFLOOR")
#define KEY_LHCMTEAVS _T("LHCEAVS")
#define KEY_LHCMTWALL _T("LHCWALL")
#define KEY_LHCMTGLASS _T("LHCGLASS")
#define KEY_LHCMTWIN _T("LHCWIN")
//VRV
#define KEY_ColdLoad _T("R29") // 制冷量
#define KEY_HeatLoad _T("R30") // 制热量
#define KEY_ColdPower _T("R31") // 制冷功率
#define KEY_HeatPower _T("R32") // 制热功率
#define KEY_WaterPipe _T("R33") // 冷凝管管径
#define KEY_Price _T("R35") // 价格
#define KEY_Angle _T("R34") // 角度(乙子弯、变径)
#define KEY_Format _T("S0") // 格式
#define KEY_Text _T("S1") // 文本
#define KEY_Material _T("S2") // 材料
#define KEY_Standard _T("S3") // 标准名称
#define KEY_Name _T("S4") // 名称
#define KEY_Model _T("S5") // 型号
#define KEY_LabelText _T("S6") // 标签文字
#define KEY_DimText _T("S7") // 标注文字
#define KEY_DimUpFlag _T("S8") // 标注说明1
#define KEY_DimDownFlag _T("S9") // 标注说明2
#define KEY_RSTSHAPE _T("RSTSHP")
//VRV
#define KEY_Factory _T("S10") // 厂商
#define KEY_VRVType _T("S11") // 设备类型
#define KEY_MediaPipe _T("S12") // 冷媒管管径
#define KEY_PicName _T("S13") // 图片名称
#define KEY_Floor _T("S14") // 楼层加楼高 1-2.8
#define KEY_Mask _T("S15") // MASK
#define KEY_EndLayer _T("Id0") // 端部图层
#define KEY_TextStyle _T("Id1") // 文字样式
#define KEY_TextLayer _T("Id2") // 文字图层
#define KEY_Part2D _T("Id3") // 2D块ID
#define KEY_Part3D _T("Id4") // 3D块ID
#define KEY_PartSys _T("Id5") // Sys块ID
#define KEY_EdgeLayer _T("Id6") // 边线图层
#define KEY_LiningLayer _T("Id7") // 内衬图层
#define KEY_LiningLine _T("Id8") // 内衬线型
#define KEY_StartPoint _T("Pt0") // 起点
#define KEY_CornerPoint _T("Pt1") // 拐点
#define KEY_EndPoint _T("Pt2") // 终点
#define KEY_BranchPoint _T("Pt3") // 支管位置
#define KEY_Branch1Point _T("Pt4") // 支管1位置
#define KEY_Branch2Point _T("Pt5") // 支管2位置
#define KEY_BasePos _T("Pt6") // 基点
#define KEY_LeadPos _T("Pt7") // 引线点
#define KEY_LabelPoint _T("Pt8") // 标签点
#define KEY_DimPoint _T("Pt9") // 标注点
#define KEY_StartDir _T("Vt0") // 起点方向
#define KEY_EndDir _T("Vt1") // 终点方向
#define KEY_BranchDir _T("Vt2") // 支管方向
#define KEY_Branch1Dir _T("Vt3") // 支管1方向
#define KEY_Branch2Dir _T("Vt4") // 支管2方向
#define KEY_MainDir _T("Vt5") // 主矢量
#define KEY_Direct _T("Vt6") // 朝向
#define KEY_Scale3D _T("Vt7") // 3D比例
#define KEY_ECCEN _T("EcCen") // 偏心标记
#define KEY_ECZCEN _T("EcZCen") // 偏心标记
#define KEY_SECTIONSCR _T("SecScr") // 截面脚本
#define KEY_HIDENO _T("HideNo") // 隐藏编号
#define KEY_FLAMER _T("FLAMER") //阻燃级别
#define KEY_TM _T("TM") //牌号
#define KEY_STRUF _T("STRUF") //结构形式
// 设备接口使用Xdatamap数据
#define KEY_XData1 _T("XData1")
// 设备参数使用Xdatamap数据
#define KEY_XData2 _T("XData2")
// 空气机组箱体段使用Xdatamap数据
#define KEY_XData3 _T("XData3")
// 暖通创建服务键名
#define KEY_FITHVAC _T("HvacFit")
// [LONG]是否传递消息:0不传递/1传递
#define KEY_DISPATCHMSG _T("DispatchMsg")
// [BOOL]是否位移联动
#define HVAC_AUTOOFFSET _T("AutoOffset")
// [BOOL]是否尺寸联动
#define HVAC_AUTOSIZE _T("AutoSize")
// [BOOL]是否自动连接,删除(移走)、风阀或法兰,或移动(复制)到风管上自动连接或断开
#define HVAC_AUTOCONNECT _T("AutoConnect")
// [CHAR]暖通风管夹点命令
#define KEY_HVACGRIPCMD _T("HVacGripCmd")
// [CHAR]暖通采暖水管夹点命令
#define KEY_HVACHEATGRIPCMD _T("HVacHeatGripCmd")
// [CHAR]暖通空调水管夹点命令
#define KEY_HVACCOLDGRIPCMD _T("HVacColdGripCmd")
// [CHAR]暖通冷媒(多联机)夹点命令
#define KEY_HVACMEDIAGRIPCMD _T("HVacMediaGripCmd")
// [CHAR]暖通分集水器夹点命令
#define KEY_HVACFJSQGRIPCMD _T("HVacFJSQGripCmd")
// [REAL]曲面分化成小平面,相邻平面法向量间最小夹角
#define KEY_MINDIFFANG _T("MinDiffAng")
// [REAL]单线遮挡打断宽度
#define KEY_HIDEWIDTH _T("HideWidth")
// [REAL]水管与风管的打断宽度
#define HVAC_PIPEHIDEWIDTH _T("PipeHideWidth")
// [BOOL]水管与风管打断开关
#define HVAC_PIPEDUCTBREAK _T("PipeDuctBreak")
// [double] 双线遮挡扩展宽度
#define HVAC_HIDEEXTENT _T("HideExtent")
// [BOOL]暖通实体是否显示线宽
#define HVAC_SHOWWIDTH _T("ShowWidth") // FALSE:不显示, TRUE:显示
// 是否端部线加粗
#define KEY_EndWeight _T("EndWeight") // TRUE/FALSE
// 法兰、单线法兰宽度
#define FLANGWIDTH_NORMAL 50.0
//#define FLANGWIDTH_SINGLE 0.01 // 由于接口认知精度改小,所以单线法兰长度增大
#define FLANGWIDTH_SINGLE 0.2
// 多联机冷媒管直径
#define VRVPIPEDIA 50.0
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通公共参数:
#define HVAC_SectType KEY_SectType // 风管截面类型: enum HvacSectType
#define HVAC_DrawType KEY_DrawType // 风管绘制类型: enum HvacDrawType
#define HVAC_ModeType KEY_ModeType // 模型类型 : enum ModelType
#define HVAC_IsSingleLine KEY_SINGLE // 是否是单管:0不是/1是 [LONG]
#define HVAC_DuctEndDrawType KEY_DrawStyle // 风管端线(未连接时)绘制方式,0:随管壁,1:按端部设置
#define HVAC_HasBaseLine KEY_HasBaseLine // 是否绘制基线:0不绘制/1绘制
#define HVAC_FlowDirect KEY_FlowDirect // 流动方向: 0起点到终点/1终点到起点
#define HVAC_PlusEdge KEY_PlusEdge // 咬口法兰翻边余量
#define KEY_EL _T("EL")
#define KEY_BOTMEL _T("BEL")
#define KEY_CENEL _T("CEL")
#define HVAC_Elevation KEY_EL // 单线管消隐计算标高 [REAL]
#define HVAC_EndLayer KEY_EndLayer // 端部图层
#define HVAC_Normal KEY_NORMAL // 法向量 [VECTOR]
#define HVAC_HasLining KEY_Lining // 内衬线
#define HVAC_LiningLayer KEY_LiningLayer // 内衬线图层
#define HVAC_LiningLine KEY_LiningLine // 内衬线型
#define HVAC_PressLevel KEY_PressLevel // 压力等级
#define HVAC_EdgeWeight KEY_EDAGEWEIGHT // 是否边线加粗 [BOOL]
#define HVAC_CentWeight KEY_CENLWEIGHT // 是否中线加粗 [BOOL]
#define HVAC_EndWeight KEY_EndWeight // 是否端部加粗 [BOOL]
#define KEY_EDAGEWIDTH _T("EdageWidth") // 边线宽 [dwg]
#define KEY_CENLWIDTH _T("CenLineWidth") // 中线宽 [dwg]
#define HVAC_EdgeWidth KEY_EDAGEWIDTH // 边线加粗线宽值 [REAL]
#define HVAC_CentWidth KEY_CENLWIDTH // 中线加粗线宽值 [REAL]
#define HVAC_EndWidth KEY_EndLineWidth // 端部加粗线宽值 [REAL]
#define HVAC_Material KEY_Material // 材料名称
#define HVAC_System KEY_Standard // 系统名称
#define HVAC_AirLoad KEY_AirLoad // 风口风量
#define HVAC_AirLoadUnit KEY_AirLoadUnit // 风量单位 add by hh 2011-01-06
#define HVAC_IsExplodeDraw KEY_IsExplodeMode // 是否是炸开时绘制模式
#define HVAC_SystemNumber KEY_SystemNumber // 系统编号
#define HVAC_EntVersion _T("HVAC_ENTVER") // add by hh 2011-05-30 实体版本信息 如 _T("8.5")
/////////////////////////////////////////////////////////////////////////////////////////////
// 风管管件标注对象
#define HDIM_DimType KEY_Type // 标注样式:enum HvacDimType
#define HDIM_DimBasePos KEY_BasePos // 标注位置点
#define HDIM_DimLeadPos KEY_LeadPos // 引线位置点
#define HDIM_DimFormat KEY_Format // 标注原始格式
#define HDIM_DimString KEY_Text // 实际标注文本内容
#define HDIM_DimTextId KEY_TextStyle // 标注文本样式
#define HDIM_DimTextHeigh KEY_TextHeight // 标注文本高度
#define HDIM_DimTextAngle KEY_TextAngle // 标注文本角度(弧度)
#define HDIM_DimArrowLen KEY_ArrowLen // 标注箭头长度
#define HDIM_DimArrowStyle KEY_ArrowStyle // 标注箭头样式
#define HDIM_DimEleType KEY_EleType // 标注标高类型,0:顶, 1:中, 2:底
#define HDIM_DimNum KEY_SystemNumber // 系统编号标注内容Lixl add 2012-2-6
#define HDIM_IsDimNum KEY_IsSystemNumber // 是否系统编号标注Lixl add 2012-2-6
#define HDIM_DimColumn KEY_Column // 表格列数
#define HDIM_UpGridFlag KEY_DimUpFlag // 表格上部设置
#define HDIM_DownGridFlag KEY_DimDownFlag // 表格下部设置
#define HDIM_DimLeadShow KEY_Show // 显示引线
#define HDIM_DimMask KEY_Mask // MASK
// 风管标注各变量宏定义
#define DV_LENGTH _T("DV_LENGTH") // 长度
#define DV_WIDTH _T("DV_WIDTH") // 宽度
#define DV_HEIGH _T("DV_HEIGH") // 高度
#define DV_THICK _T("DV_THICK") // 厚度 add by hh 2011-10-11
#define DV_SIZE _T("DV_SIZE") // 尺寸
#define DV_DIAMETER _T("DV_DIAMETER") // 直径
#define DV_ELEVATION _T("DV_ELEVATION") // 标高
#define DV_AIRVOL _T("DV_AIRVOL") // 风量
#define DV_WAYRESIS _T("DV_WAYRESIS") // 沿程阻力
#define DV_VELOCITY _T("DV_VELOCITY") // 风速
#define DV_MATERIAL _T("DV_MATERIAL") // 材料
#define DV_NAME _T("DV_NAME") // 名称
#define DV_ALIGNTYPE _T("DV_ALIGNTYPE") // 对齐方式 add by yxx 20151125
// 标注距离管线、距离系数(实际距离为该值×文档比例)
#define HVAC_DIMTEXTTODUCT _T("HVAC_DIMTEXTTODUCT")
extern double g_dCmdOff; // 命令夹点距离实体距离
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通风管参数名称定义
#define HDCT_Type KEY_Type // 风管类型: enum HvacDuctType
#define HDCT_Soft KEY_Soft // 软风管 // add by zh 2013-7-5
#define HDCT_START KEY_START // 风管起点
#define HDCT_END KEY_END // 风管终点
// 软风管:
#define HDCT_Bulge KEY_Bulge // 曲率,正负代表从起点到终点的逆弧和顺弧
#define HDCT_StartDir KEY_StartDir // 起点方向
#define HDCT_EndDir KEY_EndDir // 终点方向
// 矩形/扁圆形:
#define HDCT_Width KEY_Width // 矩形:矩形宽度,宽度方向与法向垂直
// 扁圆形:矩形+圆弧部分宽度,宽度方向与法向垂直
#define HDCT_Thick KEY_Thick // 矩形:矩形厚度
// 扁圆形:矩形部分厚度
// 圆形:
#define HDCT_Diameter HDCT_Width // 圆形直径
#define HDCT_HIDESTART KEY_HIDESTART // 隐藏首端线 , BOOL
#define HDCT_HIDEEND KEY_HIDEEND // 隐藏末端线
#define HDCT_STARTCONNECTED KEY_STARTCONNECTED // 首端是否连接了其他 , BOOL
#define HDCT_ENDCONNECTED KEY_ENDCONNECTED // 末端是否连接了其他
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通弯头参数名称定义
#define HELB_Type KEY_Type // 弯头类型: enum HvacElbowType
#define HELB_StartPoint KEY_StartPoint // 起点位置
#define HELB_CornerPoint KEY_CornerPoint // 拐点位置
#define HELB_AssisCornerPoint KEY_BranchPoint // 辅助拐点位置
#define HELB_EndPoint KEY_EndPoint // 终点位置
#define HELB_RadRatio KEY_RadRatio // 曲率半径
#define HELB_VertDrawStyle KEY_DrawStyle // 变高弯头绘制样式0:普通, 1:带填充线
// 矩形/扁圆形:
#define HELB_StartWidth KEY_StartWidth // 矩形:始端矩形宽度,宽度方向与法向垂直
// 扁圆形:始端矩形+圆弧部分宽度,宽度方向与法向垂直
#define HELB_EndWidth KEY_EndWidth // 矩形:末端矩形宽度,宽度方向与法向垂直
// 扁圆形:末端矩形+圆弧部分宽度,宽度方向与法向垂直
#define HELB_Thick KEY_Thick // 矩形:矩形厚度
// 扁圆形:矩形部分厚度
#define HELB_EndThick KEY_EndThick // 矩形:矩形末端厚度
// 圆形:
#define HELB_Diameter HELB_StartWidth // 圆形直径
#define HELB_EndDiameter HELB_EndWidth // 圆形末端直径
#define HELB_LX _T("LX") //直边长度
// 虾米弯型:
#define HELB_Segments KEY_Segments // 虾米弯节数
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通法兰参数名称定义
#define HFLN_Type KEY_Type // 法兰类型: enum HvacFlangeType
#define HFLN_StartPoint KEY_StartPoint // 法兰起点
#define HFLN_EndPoint KEY_EndPoint // 法兰终点
#define HFLN_SkirtSize KEY_SkirtSize // 法兰出头量
// 矩形/扁圆形:
#define HFLN_Width KEY_Width // 矩形:矩形连接宽度,宽度方向与法向垂直
// 扁圆形:矩形+圆弧部分宽度,宽度方向与法向垂直
#define HFLN_Thick KEY_Thick // 矩形:矩形连接厚度
// 扁圆形:矩形部分厚度
// 圆形:
#define HFLN_Diameter HFLN_Width // 圆形连接直径
// 暖通断管符号名称定义
#define HBSM_Type KEY_Type // 断管符号类型:
#define HBSM_InsertPoint KEY_StartPoint // 断管符号插入点
#define HBSM_SkirtSize KEY_SkirtSize // 断管符号出头量
#define HBSM_Dir HVAC_FlowDirect
// 矩形/扁圆形:
#define HBSM_Width KEY_Width // 矩形:矩形连接宽度
// 扁圆形:矩形+圆弧部分宽度,宽度方向与法向垂直
#define HBSM_Thick KEY_Thick // 矩形:矩形连接厚度
// 扁圆形:矩形部分厚度
// 圆形:
#define HBSM_Diameter HBSM_Width // 圆形连接直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通变径参数名称定义
#define HRED_StartSectType HVAC_SectType // 始端截面类型
#define HRED_EndSectType KEY_EndSectType // 末端截面类型
#define HRED_StartPoint KEY_StartPoint // 起点位置
#define HRED_EndPoint KEY_EndPoint // 终点位置
#define HRED_StartDir KEY_StartDir // 起始端法向
#define HRED_ComputeType KEY_ComputeType // 计算方法
#define HRED_Angle KEY_Angle // 角度(作为Isvalid求末点用,不用于绘制)
#define HRED_Length KEY_Length // 长度(作为Isvalid求末点用,不用于绘制)
#define HRED_Offset KEY_Direct // 偏心向量,正负按偏心方向(右手定则)(作为Isvalid..
// 矩形/扁圆形:
#define HRED_StartWidth KEY_StartWidth // 始端截面宽度
#define HRED_StartThick KEY_StartThick // 始端截面厚度
#define HRED_EndWidth KEY_EndWidth // 末端截面宽度
#define HRED_EndThick KEY_EndThick // 末端截面厚度
// 圆形:
#define HRED_StartDiameter HRED_StartWidth // 始端直径
#define HRED_EndDiameter HRED_EndWidth // 末端直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通乙字弯参数名称定义
#define HOFF_Type KEY_Type // 乙字弯类型:enum HvacOffsetType
#define HOFF_StartPoint KEY_StartPoint // 起点位置
#define HOFF_StartDir KEY_StartDir // 起点方向
#define HOFF_EndPoint KEY_EndPoint // 终点位置
#define HOFF_EndDir KEY_EndDir // 终点方向
#define HOFF_Angle KEY_Angle // 弯头圆弧角度,对于角接为倾斜角度(作为Isvalid求末点用,不用于绘制
#define HOFF_ComputeType KEY_ComputeType // 计算方法。0:曲率、1:偏移:2:长度
#define HOFF_Length KEY_Length // 长度
#define HOFF_Offset KEY_Width // 偏移宽度
#define HOFF_VertDrawStyle KEY_DrawStyle // 变高乙子弯绘制样式0:普通, 1:带流向箭头
// 矩形/扁圆形:
#define HOFF_StartWidth KEY_StartWidth // 矩形:始端矩形宽度,宽度方向与法向垂直 // 扁圆形:始端矩形+圆弧部分宽度,宽度方向与法向垂直
#define HOFF_Thick KEY_Thick // 矩形:矩形厚度 // 扁圆形:矩形部分厚度
#define HOFF_EndWidth KEY_EndWidth // 矩形:末端矩形宽度,宽度方向与法向垂直
// 扁圆形:末端矩形+圆弧部分宽度,宽度方向与法向垂直
// 圆形:
#define HOFF_Diameter HOFF_StartWidth // 圆形直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通三通参数名称定义
#define HTEE_Type KEY_Type // 三通类型: enum HvacTeeType
#define HTEE_HasValve KEY_HasValve // 是否绘制调节阀 1:绘制,0:不绘制
#define HTEE_StartPoint KEY_StartPoint // 起点位置
#define HTEE_StartDir KEY_StartDir // 起点方向
#define HTEE_EndPoint KEY_EndPoint // 终点位置
#define HTEE_EndDir KEY_EndDir // 终点方向
#define HTEE_BranchPoint KEY_BranchPoint // 支管位置点
#define HTEE_BranchDir KEY_BranchDir // 支管方向
#define HTEE_RadRatio KEY_RadRatio // 曲率倍数值
// 矩形/扁圆形:
#define HTEE_StartWidth KEY_StartWidth // 水平起始截面宽度
#define HTEE_Thick KEY_Thick // 截面厚度
#define HTEE_EndThick KEY_EndThick // 末端截面厚度
#define HTEE_EndWidth KEY_EndWidth // 水平末尾截面宽度
#define HTEE_BranchWidth KEY_BranchWidth // 支管截面宽度
// 承插式
#define HTEE_BranchThick KEY_BranchThick // 支管截面厚度
// 圆形:
#define HTEE_StartDiameter HTEE_StartWidth // 水平起始管直径
#define HTEE_EndDiameter HTEE_EndWidth // 水平末尾管直径
#define HTEE_BranchDiameter HTEE_BranchWidth // 支管直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通四通参数名称定义
#define HCRS_Type KEY_Type // 三通类型: enum HvacCrossType
#define HCRS_StartPoint KEY_StartPoint // 起点位置
#define HCRS_StartDir KEY_StartDir // 起点方向
#define HCRS_EndPoint KEY_EndPoint // 终点位置
#define HCRS_EndDir KEY_EndDir // 终点方向
#define HCRS_BranchPoint1 KEY_Branch1Point // 支管1位置点
#define HCRS_BranchDir1 KEY_Branch1Dir // 支管1方向
#define HCRS_BranchPoint2 KEY_Branch2Point // 支管2位置点
#define HCRS_BranchDir2 KEY_Branch2Dir // 支管2方向
#define HCRS_RadRatio KEY_RadRatio // 曲率半径
// 矩形/扁圆形:
#define HCRS_StartWidth KEY_StartWidth // 水平起始截面宽度
#define HCRS_Thick KEY_Thick // 截面厚度
#define HCRS_EndThick KEY_EndThick /// 末端厚度(仅对矩形插管式)
#define HCRS_EndWidth KEY_EndWidth // 水平末尾截面宽度
#define HCRS_Branch1Width KEY_Branch1Width // 支管1截面宽度
#define HCRS_Branch2Width KEY_Branch2Width // 支管2截面宽度
// 承插式
#define HCRS_Branch1Thick KEY_Branch1Thick // 支管截面厚度
#define HCRS_Branch2Thick KEY_Branch2Thick // 支管截面厚度
// 圆形:
#define HCRS_StartDiameter HCRS_StartWidth // 主管直径
#define HCRS_EndDiameter HCRS_EndWidth // 水平末尾管直径
#define HCRS_Branch1Diameter HCRS_Branch1Width // 支管直径
#define HCRS_Branch2Diameter HCRS_Branch2Width // 支管直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通风阀参数名称定义
#define HVLV_SEquipType KEY_Name // 设备类型
#define HVLV_SEquipName KEY_Model // 设备名称
#define HVLV_CenterPoint KEY_StartPoint // 中心点
#define HVLV_MainDir KEY_MainDir // 主矢量
#define HVLV_Length KEY_Length // 阀门长度
#define HVLV_PartCenter KEY_Part2D // 2D块ID
#define HVLV_Part3D KEY_Part3D // 3D块ID
#define HVLV_PartSys KEY_PartSys // sys块ID
#define HVLV_IsMirror KEY_IsMirror // 是否镜像(用于方向夹点移动时判断方向)
#define HVLV_IsBreakPipe KEY_HasEdge // 是否带边线(用于判断是否添加两条边线)
#define HVLV_HasEndLine KEY_HIDESTART // 是否带End线(用于设置两个End端的线与风管一致)
#define HVLV_IsDuctCap KEY_HasValve // 是否是风帽(0不是,2是)
#define HVLV_DuctLayer KEY_EdgeLayer // 风管的图层
#define HVLV_LabelPoint KEY_LabelPoint // 标签点
#define HVLV_LabelText KEY_LabelText // 标签文字
#define HVLV_DimText KEY_DimText // 标注文字
#define HVLV_DimPoint KEY_DimPoint // 标注点
#define HDIM_DimLayer KEY_TextLayer // 标注图层
#define HVLV_SilAddLen _T("HVLV_SILADDLEN")// 消声器出头长度
#define HVLV_IsReverseX _T("HVLV_IsReverseX")// 左右翻转
#define HVLV_IsReverseY _T("HVLV_IsReverseY")// 上下翻转
#define HVLV_CodeText _T("HVLV_CodeText") // 阀门代号
#define HVLV_CodePoint _T("HVLV_CodePoint") // 代号点
#define HVLV_IsEleValve _T("HVLV_ELEVALVE") // add by dyw 2016.3.2 风阀使用,TRUE时表示电动阀门
//方口
#define HVLV_Width KEY_Width // 阀门宽度
#define HVLV_Thick KEY_Thick // 阀门厚度
//圆口
#define HVLV_Diameter HVLV_Width // 风管直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通风口参数名称定义
#define HALT_SEquipType KEY_Name // 设备类型
#define HALT_SEquipName KEY_Model // 设备名称
#define HALT_CenterPoint KEY_StartPoint // 中心点
#define HALT_MainDir KEY_MainDir // 主矢量
#define HALT_PartCenter KEY_Part2D // 2D块ID
#define HALT_Part3D KEY_Part3D // 3D块ID
#define HALT_PartSys KEY_PartSys // sys块ID
#define HALT_Length KEY_Length // 风口长度
#define HALT_Width KEY_Width // 风口宽度
#define HALT_Thick KEY_Thick // 风口厚度
#define HALT_AirWay KEY_Direct // 风口接口方向
#define HALT_IsSide KEY_IsMirror // 是否侧风口
#define HALT_Scale KEY_Scale3D // 图块比例
#define HALT_AreaRatio KEY_Bulge // 侯口面积系数
//圆口
#define HALT_Diameter HALT_Width // 风管直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通风机参数名称定义
#define HFAN_SEquipType KEY_Model // 设备型号
#define HFAN_SEquipName KEY_Name // 设备名称
#define HFAN_CenterPoint KEY_StartPoint // 中心点
#define HFAN_MainDir KEY_MainDir // 主矢量
#define HFAN_PartCenter KEY_Part2D // 2D块ID
#define HFAN_Part3D KEY_Part3D // 3D块ID
#define HFAN_PartSys KEY_PartSys // sys块ID
#define HFAN_IsMirror KEY_IsMirror // 是否镜像(用于方向夹点移动时判断方向)
#define HFAN_Length KEY_Length // 风机长度
#define HFAN_Width KEY_Width // 风机宽度
#define HFAN_Thick KEY_Thick // 风机厚度
#define HFAN_AirCap _T("EquParm_AirCap")// 风机风量 add by hh 2011-01-10
#define HFAN_Press _T("EquParm_Press") // 风机全压 add by hh 2011-01-10
#define HFAN_Power _T("EquParm_Power") // 风机功率 add by hh 2011-01-10
// 9.0版本添加以下3个风机边线相关参数
#define HFAN_EdgeWeight KEY_EDAGEWEIGHT // 风机是否边线加粗add by Lixl 2012-4-1
#define HFAN_EdgeWidth HVAC_EdgeWidth // 风机边线加粗值 add by Lixl 2012-4-1
#define HFAN_EdgeLayer KEY_EdgeLayer // 风机边线图层 add by Lixl 2012-4-1
//圆口
#define HFAN_Diameter HALT_Width // 风管直径
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通通用设备参数名称定义
#define HEQU_SEquipType KEY_Name // 设备类型
#define HEQU_SFactory KEY_Factory // 设备厂商
#define HEQU_Form KEY_VRVType // 结构形式(明暗装等)
#define HEQU_SEquipName KEY_Model // 设备名称
#define HEQU_CenterPoint KEY_StartPoint // 中心点
#define HEQU_MainDir KEY_MainDir // 主矢量
#define HEQU_PartCenter KEY_Part2D // 2D块ID
#define HEQU_Part3D KEY_Part3D // 3D块ID
#define HEQU_PartSys KEY_PartSys // sys块ID
#define HEQU_Length KEY_Length // 长度
#define HEQU_Width KEY_Width // 宽度
#define HEQU_Thick KEY_Thick // 高度
#define HEQU_Scale KEY_Scale3D // 图块比例
#define HEQU_Interface KEY_XData1 // 接口数据
#define HEQU_Parameter KEY_XData2 // 参数数据
#define HEQU_InterfaceNum KEY_InterNum // 接口数
#define HEQU_IsConverse KEY_IsMirror // 是否反向
#define HEQU_HasText KEY_HIDESTART // 是否绘制模版文字
#define HEQU_TextPoint KEY_CornerPoint // 文字基点
#define KEY_HIDEDRAW _T("HideDraw") // 遮挡的虚线是否画 0:不画 1:画
#define HEQU_TextShadeBg KEY_HIDEDRAW // 文字是否屏蔽背景
#define HEQU_TextLoc _T("HEQU_TextLoc") // 标注文字位置:HvacEquipDimLoc
#define HEQU_Kind _T("HEQU_Kind") // 设备种类:EquipKind
#define HEQU_ReversalX _T("HEQU_ReversalX")// add by zh 是否左右旋转
#define HEQU_ReversalY _T("HEQU_ReversalY")// add by zh 是否上下旋转
// 暖通通用设备接口名称定义
#define HEQUIF_Number _T("HEQUIF_sNumber") // 序号
#define HEQUIF_Name _T("HEQUIF_sName") // 名称
#define HEQUIF_Type _T("HEQUIF_nType") // 类型
#define HEQUIF_Point _T("HEQUIF_ptPoint") // 位置点
#define HEQUIF_Vector _T("HEQUIF_ptVector") // 方向
#define HEQUIF_Width _T("HEQUIF_dWidht") // 宽
#define HEQUIF_Height _T("HEQUIF_dHeight") // 高
#define HEQUIF_Desc _T("HEQUIF_sDesc") // 描述
//////////////////////////////////////////////////////////////////////////////////////////////
// 空气机组参数名称定义
#define HAHG_SegmentData KEY_XData3 //箱体段数据
#define HAHG_InterfaceData KEY_XData1 //接口数据
#define HAHG_SegmentsNum KEY_Segments //箱体个数
#define HAHG_Inflexion KEY_IsExplodeMode //拐点索引
#define HAHG_Diagram KEY_ModeType //是否简图
#define HAHG_Planform KEY_HasValve //是否绘制俯视图
#define HAHG_HasText KEY_HIDESTART //是否绘制模版文字
#define HAHG_IsRight KEY_HIDEEND //气流方向
#define HAHG_BasePoint KEY_StartPoint //侧视图基点
#define HAHG_IsHorizontal KEY_STARTCONNECTED //是否卧式摆放
#define HAHG_TextPoint KEY_CornerPoint //模板文字基点
#define HAHG_Text KEY_Text //模板文字
#define HAHG_TextNum KEY_ENDCONNECTED //文字拆分个数
#define HAHG_MainDir KEY_StartDir //主方向
#define HAHG_TextDir KEY_EndDir //文字方向
#define HAHG_RotDir KEY_BranchDir //旋转轴方向
#define HAHG_TemplateName KEY_Material //文字模板名
#define HAHG_IsPreviewing KEY_HasEdge //是否为预览模式
#define HAHG_InterfaceNum KEY_InterNum //接口个数
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通多联机参数名称定义
#define HVRV_SFactory KEY_Factory // 设备厂商
#define HVRV_SOutdoor KEY_Name // 室外机类型
#define HVRV_IType KEY_Type // 1室外机,0室内机
#define HVRV_SType KEY_VRVType // 设备类型,奥蕴多联机
#define HVRV_SModel KEY_Model // 设备型号
#define HVRV_ColdLoad KEY_ColdLoad // 制冷量
#define HVRV_HeatLoad KEY_HeatLoad // 制热量
#define HVRV_ColdPower KEY_ColdPower // 制冷功率
#define HVRV_HeatPower KEY_HeatPower // 制热功率
#define HVRV_WaterPipe KEY_WaterPipe // 冷凝管管径
#define HVRV_SMediaPipe KEY_MediaPipe // 冷媒管管径
#define HVRV_SPicPipe KEY_PicName // 图片名称
#define HVRV_CenterPoint KEY_StartPoint // 中心点
#define HVRV_MainDir KEY_MainDir // 主矢量
#define HVRV_PartCenter KEY_Part2D // 2D块ID
#define HVRV_Part3D KEY_Part3D // 3D块ID
#define HVRV_PartSys KEY_PartSys // sys块ID
#define HVRV_Length KEY_Length // 长度
#define HVRV_Width KEY_Width // 宽度
#define HVRV_Thick KEY_Thick // 高度
#define HVRV_Scale KEY_Scale3D // 图块比例
#define HVRV_Interface KEY_XData1 // 接口数据
#define HVRV_Parameter KEY_XData2 // 参数数据
#define HVRV_InterfaceNum KEY_InterNum // 接口数
#define HVRV_IsConverse KEY_IsMirror // 是否反向
#define HVRV_Price KEY_Price // 价格
#define HVRV_Floor KEY_Floor // 楼层
// add by zh 2012-12-3
#define HVRV_HasText _T("HVRV_HasText")
#define HVRV_TextLoc _T("HVRV_TextLoc")
#define HVRV_TextShadeBg _T("HVRV_TextShadeBg")
#define HVRV_TextPoint _T("HVRV_TextPoint")
/////////////////////////////////////////////////////////////////////////////////////////////
// 暖通吸尘罩参数名称定义
#define HDED_TYPE KEY_DrawType // 吸尘罩类型 HvacDeDustCoverType
//原理图时使用
#define HVRV_Col KEY_StartSectType // 列值
#define HVRV_Row KEY_EndSectType // 行值
#define HVRV_BrDir KEY_Segments // 分歧管方向
#define LAY_PIPE_CENTER _T("PIPE_CEN")
#define LAY_PIPE_OUTSIDE _T("PIPE_OUT")
#define LAY_PIPE_SINGLE _T("PIPE_SIG")
#define LAY_PIPE_DASH _T("PIPE_DSH")
#define LAY_FITN_CENTER LAY_PIPE_CENTER
#define LAY_FITN_OUTSIDE _T("FITN_OUT")
#define LAY_FITN_SINGLE _T("FITN_SIG")
#define LAY_FITN_DASH _T("FITN_DSH")
#ifndef LAY_EQU_CENTER
#define LAY_EQU_CENTER LAY_PIPE_CENTER
#endif
#define LAY_EQU_DASH _T("EQU_DSH")
#define LAY_EQU _T("EQU")
#define PIPE_CENTER_SYS _T("管线中心线")
#define PIPE_OUTSIDE_SYS _T("管线边线")
#define PIPE_SINGLE_SYS _T("管线中心线")
#define FITN_CENTER_SYS _T("管件中心线")
#define FITN_OUTSIDE_SYS _T("管件边线")
#define FITN_SINGLE_SYS _T("管件中心线")
#define EQU_SYS _T("设备")
#define HATCH_NO_NEED _T("不填充")
#define HATCH_DEFAULT _T("材质填充")
// XDATA 中 HLR_CALC 的值为TRUE时,说明在进行 HLR计算
#define HLR_CALC _T("HLR_CALC")
// XDATA 中 HLR_PLAN_O 的值为 HLR 计算时需要的平面的原点
#define HLR_PLAN_O _T("HLR_PLAN_O")
// XDATA 中 HLR_PLAN_Z 的值为 HLR 计算时需要的平面的法向
#define HLR_PLAN_Z _T("HLR_PLAN_Z")