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

200 lines
3.8 KiB
C++

#pragma once
#include "afxcmn.h"
#include "UIIListCtrl.h"
#include "resource.h"
typedef struct PipeBom
{
short nDn; //DN
short nD; //D
float fThick; //THICK
double dLen; //LEN
TCHAR szMertial[255]; //材料
}PipeBom;
typedef struct CableBom
{
short nD; //D
double dLen; //LEN
TCHAR szModel[255];; //型号
TCHAR szFactory[255]; //厂家
}CABLEBOM;
typedef struct ElbowBom
{
short nDn; //DN
short nD; //D
short nAngle; //度
float fThick; //THICK
float fRRatio; //
TCHAR szMertial[255]; //材料
int nCount;
}ELBOWBOM;
typedef struct ReducerBom
{
short nDn;
short nD;
short nTDn;
short nTD;
float fThick; //THICK
short nLen;
TCHAR szMertial[255]; //材料
int nCount;
short nOffset;
}REDUCERBOM;
typedef struct TeeBom
{
short nDn; //DN
short nD; //OD
short nTDn;
short nTD;
float fThick; //THICK
short nL;
short nB;
TCHAR szMertial[255]; //材料
int nCount;
}TEEBOM;
typedef struct LTeeBom
{
short nDn; //DN
short nD; //OD
short nTDn;
short nTD;
float fThick; //THICK
short nE;
short nM;
short nB;
TCHAR szMertial[255]; //材料
int nCount;
}LTEEBOM;
typedef struct WyeBom
{
short nDn; //DN
short nD; //OD
short nTDn;
short nTD;
float fThick; //THICK
short nM;
short nB;
TCHAR szMertial[255]; //材料
int nCount;
}WYEBOM;
typedef struct CrossBom
{
short nDn; //DN
short nD; //OD
short nTDn;
short nTD;
short nL; //
short nB; //
float fThick; //THICK
TCHAR szMertial[255]; //材料
int nCount;
}CROSSBOM;
typedef struct WCapBom
{
short nDn; //DN
short nD; //OD
short nL; //
float fThick; //THICK
TCHAR szMertial[255]; //材料
int nCount;
}WCAPBOM;
typedef struct WFlangeBom
{
short nDn; //DN
TCHAR szMertial[255]; //材料
int nCount;
}WFLANGEBOM;
typedef struct WGasket
{
short nDn;
double dt;//厚度
TCHAR szMertial[255]; //材料
int nCount;
}WGASKET;
typedef struct WEquBom //设备
{
TCHAR szName[255];
TCHAR szSpec[255];
int nCount;
}WEQUBOM;
class CBomReportDlg : public CDialog
{
DECLARE_DYNAMIC(CBomReportDlg)
public:
CBomReportDlg(CWnd* pParent = NULL);
virtual ~CBomReportDlg();
enum { IDD = IDD_BOMREPORTDLG };
void AddPipeLineEntPtr(AcDbEntity* pEnt);
protected:
virtual void DoDataExchange(CDataExchange* pDX);
DECLARE_MESSAGE_MAP()
public:
virtual BOOL OnInitDialog();
afx_msg void OnClose();
afx_msg void OnBnClickedBtselfile();
afx_msg void OnBnClickedBtselents();
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedCancel();
afx_msg void OnDestroy();
afx_msg void OnBnClickedBtTmpl();
void BomFromReadDwg(CString& sFileName);
void ExtractBomOfEntity(AcDbEntity* pEnt);
void ShowtoReportlist();
void FreeBomBuffer();
protected:
CImageList m_imageList;
CUIIListCtrl m_wndBomList;
//统计的原始数据印象
CMapStringToPtr m_mapPipeBom;
CMapStringToPtr m_mapCableBom;
CMapStringToPtr m_mapElbowBom;
CMapStringToPtr m_mapReducerBom;
CMapStringToPtr m_mapTeeBom;
CMapStringToPtr m_mapLTeeBom;
CMapStringToPtr m_mapWyeBom;
CMapStringToPtr m_mapCrossBom;
CMapStringToPtr m_mapWCapBom;
CMapStringToPtr m_mapWFlangeBom;
CMapStringToPtr m_mapName2Count;//设备
//统计的原始数据
std::vector<PipeBom*> m_vtPipeBomPtrs;
std::vector<CableBom*> m_vtCableBomPtrs;
std::vector<ElbowBom*> m_vtElbowBomPtrs;
std::vector<ReducerBom*> m_vtReducerBomPtrs;
std::vector<TeeBom*> m_vtTeeBomPtrs;
std::vector<LTeeBom*> m_vtLTeeBomPtrs;
std::vector<WyeBom*> m_vtWyeBomPtrs;
std::vector<CrossBom*> m_vtCrossBomPtrs;
std::vector<WCapBom*> m_vtWCapBomPtrs;
std::vector<WFlangeBom*> m_vtWFlangeBomPtrs;
public:
CString m_sProno;
CString m_sDwgno;
CString m_sBomDwg;
AcDbVoidPtrArray m_arAddtionPtrs; //管线和管件设备线缆部分
};