391 lines
12 KiB
C
391 lines
12 KiB
C
#ifndef __AECWPIPE_H__
|
|
#define __AECWPIPE_H__
|
|
|
|
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, // 区号
|
|
};
|
|
|
|
enum ElBase
|
|
{
|
|
kTop = 0,
|
|
kCen = 1,
|
|
kBom = 2,
|
|
kDefault = 3,
|
|
};
|
|
|
|
enum EReducer
|
|
{
|
|
eCen = 0,
|
|
eUp = 1,
|
|
eDown= 2,
|
|
};
|
|
|
|
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, //污水,承插结构
|
|
};
|
|
|
|
enum EDia
|
|
{
|
|
eDN = 1, //公称直径
|
|
eOD = 2, //外径
|
|
eID = 3, //内径
|
|
};
|
|
|
|
enum ECap
|
|
{
|
|
kEllipseEnd = 0, //椭圆封头
|
|
kPlaneEnd = 1, //平端封头
|
|
kBoltEnd = 2, //螺帽封头
|
|
};
|
|
|
|
typedef struct PipeParam
|
|
{
|
|
double m_dD; //画法采用的直径
|
|
EDia m_eD; //画法采用的直径
|
|
double m_dDN; //公称
|
|
double m_dOD; //外径
|
|
double m_dThick; //壁厚
|
|
double m_dEl; //标高
|
|
double m_dRRatio; //弯头曲率半径
|
|
|
|
//插焊或螺纹
|
|
int m_nConnectType; //0 焊接 1: 承插 2 螺纹
|
|
double m_dInterfaceL; //管件承插焊或螺纹 长度
|
|
double m_dInterfaceD; //管件承插焊或螺纹 接口直径
|
|
double m_dInterfaceD2; //管件承插焊或螺纹 接口直径 变径大端
|
|
double m_dInterfaceL2; //管件承插焊或螺纹 螺纹长度,变径大端
|
|
|
|
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]; //区号m_sZoneNo
|
|
TCHAR szInsMtr[255]; //保温材质
|
|
TCHAR szDescr[255]; //描述
|
|
int m_nGroupID; //undo参数
|
|
}PIPEPARAM;
|
|
|
|
} KPIPE;
|
|
|
|
|
|
const LPCTSTR g_pszPipeDim[] = { _T("公称直径"),
|
|
_T("介质"),
|
|
_T("管号"),
|
|
_T("压力等级"),
|
|
_T("外径x 壁厚"),
|
|
_T("标高"),
|
|
_T("系统代号"),
|
|
_T("保温伴热"),
|
|
_T("弯头比率"),
|
|
_T("标准"),
|
|
_T("材质"),
|
|
_T("区号"),
|
|
NULL
|
|
};
|
|
|
|
const LPCTSTR g_pszPIDPipeDim[] = { _T("公称直径"),
|
|
_T("介质"),
|
|
_T("管号"),
|
|
_T("压力等级"),
|
|
_T("外径x 壁厚"),
|
|
_T("系统代号"),
|
|
_T("保温伴热"),
|
|
_T("标准"),
|
|
_T("材质"),
|
|
_T("区号"),
|
|
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"),
|
|
NULL
|
|
};
|
|
|
|
|
|
#define PIPE_D _T("D") //画法直径
|
|
#define PIPE_CONNECT _T("CNTYPE") //连接类型
|
|
#define PIPE_DSEL _T("ED") //画法采用的d类型
|
|
#define PIPE_DN _T("DN") //公称直径
|
|
#define PIPE_OD _T("OD") //外径
|
|
#define PIPE_PIDD _T("PIDD") //pid 画法的直径
|
|
#define PIPE_EDN _T("EDN") //变径END 端公称直径
|
|
#define PIPE_EOD _T("EOD") //变径END 端外径
|
|
#define PIPE_TDN _T("TDN") //三通 T 方向公称直径
|
|
#define PIPE_TOD _T("TOD") //三通 T 方向外径
|
|
#define PIPE_E _T("E") //L三通E
|
|
#define PIPE_M _T("M") //L,Y三通M
|
|
#define PIPE_B _T("B") //L,Y三通B
|
|
#define PIPE_WD _T("WD") //发兰盘外径
|
|
#define PIPE_N _T("FN") //法兰颈部直径
|
|
#define PIPE_INTERFACED _T("IFD") //接口直径,弯头的承插口直径
|
|
#define PIPE_INTERFACEL _T("IFL") //接口直径,弯头的承插口长度
|
|
#define PIPE_INTERFACED2 _T("IFD2") //接口直径,弯头的承插口直径
|
|
#define PIPE_INTERFACEL2 _T("IFL2") //接口直径,弯头的承插口长度
|
|
#define PIPE_THICK _T("Thick") //壁厚,或法兰总厚
|
|
#define PIPE_WTHICK _T("WThick") //法兰盘厚度
|
|
#define PIPE_EL _T("EL") //标高
|
|
#define PIPE_RATIO _T("Ratio") //弯头曲率
|
|
#define PIPE_ELBOWANG _T("EAng") //弯头角度,如90度弯头,计算方便保存
|
|
#define PIPE_INSTHICK _T("InsThick") //保温厚
|
|
#define PIPE_EAPP _T("EApp") //应用类型
|
|
#define PIPE_ZONE _T("Zone") //区号
|
|
#define PIPE_MEDIA _T("Media") //介质
|
|
#define PIPE_LEVEL _T("Level") //等级
|
|
#define PIPE_INSTAG _T("InsTag") //保温标志
|
|
#define PIPE_NO _T("No") //序号
|
|
#define PIPE_DESCR _T("Descr") //描述
|
|
#define PIPE_SPEC _T("Spec") //管子上标
|
|
#define PIPE_LINENO _T("LineNo") //管号
|
|
#define PIPE_ELBASE _T("ElBase") //标高基准
|
|
#define PIPE_DIR _T("Vector3d") //管线末端向量
|
|
#define PIPE_APP _T("WPipe") //扩展数据APP
|
|
#define PIPE_MATERIAL _T("Material") //材料
|
|
#define PIPE_MATERIALFT _T("MaterialFT") //材料
|
|
#define PIPE_DRAWMOD _T("Drawmod") //画法 单线 1 双线 2
|
|
#define PIPE_DRAWDIR _T("DrawDir") //画法 同 EDia
|
|
#define PIPE_OUTDLAY _T("OutDlay") //外线图层
|
|
#define PIPE_CENTLAY _T("CentLay") //中心线图层
|
|
#define PIPE_SINGLAY _T("SingLay") //单线图层
|
|
#define PIPE_ELBOWFLG _T("ElowFlg") //弯头的画法 0: 弧度画法 1:角度画法
|
|
#define PIPE_BWELDDOT _T("BWeldDot") //绘制单线是否有焊点
|
|
#define PIPE_BROKENNUM 10
|
|
|
|
#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 GRIP_MAXNUM 24 // Rem:
|
|
#define PIPE_SYS _T("PIPE_PSYSTEM") //管道系统
|
|
|
|
// 暖通专业键名定义
|
|
#define KEY_FITWPIPE _T("AecWFit") //水管创建服务键名
|
|
|
|
|
|
#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_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") //
|
|
#define DOC_DPRE _T("DPRE") //
|
|
#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") //主方向
|
|
|
|
//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 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 AEC_OPEN_BRACE_CHAR _T('{')
|
|
#define AEC_CLOSE_BRACE_CHAR _T('}')
|
|
#define AEC_OPEN_BRACE_STR _T("{")
|
|
#define AEC_CLOSE_BRACE_STR _T("}")
|
|
|
|
#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 AEC_SEPARATOR_STR _T("|")
|
|
#define AEC_SEPARATOR_CHAR _T('|')
|
|
#define AEC_SUBTRACT_CHAR _T('-')
|
|
#define AEC_COLON_CHAR _T(':')
|
|
|
|
#define AEC_PIPEPARAM _T("PIPEPARAM")
|
|
|
|
// [CHAR]暖通风管夹点命令
|
|
#define KEY_PIPEGRIPCMD _T("WPipeAdd")
|
|
|
|
|
|
|
|
#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") //标高描述
|
|
|
|
//PIDINIT
|
|
#define DOC_PIDDIMTERM _T("DimTerm") //标注端符
|
|
#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 KT_OPEN_BRACE_CHAR _T('{')
|
|
#define KT_CLOSE_BRACE_CHAR _T('}')
|
|
#define KT_OPEN_BRACE_STR _T("{")
|
|
#define KT_CLOSE_BRACE_STR _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("AECWPIPE")
|
|
|
|
#endif
|