#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 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 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 CConnectDataArray; typedef AcArray AcBreakParamArray; typedef AcArray 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")