chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
This commit is contained in:
1 parent
2b0c2055ff
commit
164968b62e
6171 files changed
+191244
-191243
No files matched your search
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "AecDbVenDoghouse.h"
|
||||
#include "AecDbEarthWorm.h"
|
||||
|
||||
@@ -16,44 +16,44 @@ ACRX_DXF_DEFINE_MEMBERS (AecDbVenDoghouse, AecDbPortRoom,
|
||||
AecDbVenDoghouse::AecDbVenDoghouse(void)
|
||||
{
|
||||
memset(&m_fncNode,0,sizeof(EWFnctNode));
|
||||
m_fncNode.dDistFromPre = AS_MUNIT(8500.0); //分段节点的8.5米位置
|
||||
m_fncNode.eFnType = kVenDoghouse; //通风口
|
||||
_tcscpy(m_fncNode.szNodeSpec,_T("通风口")); //口位置
|
||||
m_fncNode.fNodeDef[0] = AS_MUNITF(800.0f); //沿管廊方向内长
|
||||
m_fncNode.fNodeDef[1] = AS_MUNITF(800.0f); //管廊断面方向内宽
|
||||
m_fncNode.fNodeDef[2] = AS_MUNITF(2050.0f); //口1 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[3] = AS_MUNITF(500.0f); //口2 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[4] = AS_MUNITF(500.0f); //口3 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[5] = 0.0f; //结束
|
||||
_tcscpy(m_fncNode.szNodeDefSpec,_T("通风口"));
|
||||
m_fncNode.dDistFromPre = AS_MUNIT(8500.0); //分段节点的8.5米位置
|
||||
m_fncNode.eFnType = kVenDoghouse; //通风口
|
||||
_tcscpy(m_fncNode.szNodeSpec,_T("通风口")); //口位置
|
||||
m_fncNode.fNodeDef[0] = AS_MUNITF(800.0f); //沿管廊方向内长
|
||||
m_fncNode.fNodeDef[1] = AS_MUNITF(800.0f); //管廊断面方向内宽
|
||||
m_fncNode.fNodeDef[2] = AS_MUNITF(2050.0f); //口1 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[3] = AS_MUNITF(500.0f); //口2 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[4] = AS_MUNITF(500.0f); //口3 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[5] = 0.0f; //结束
|
||||
_tcscpy(m_fncNode.szNodeDefSpec,_T("通风口"));
|
||||
|
||||
//房子描述尺寸
|
||||
//房子描述尺寸
|
||||
m_fncNode.fNodeDef[10] = AS_MUNITF(1300.0f);//房子左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[11] = AS_MUNITF(250.0f); //墙厚
|
||||
m_fncNode.fNodeDef[12] = AS_MUNITF(8600.0f);//横向室内宽度,
|
||||
m_fncNode.fNodeDef[13] = AS_MUNITF(2200.0f);//房子高度
|
||||
m_fncNode.fNodeDef[14] = AS_MUNITF(4200.0f);//房子和通风井总高度
|
||||
m_fncNode.fNodeDef[15] = AS_MUNITF(2500.0f);//房子纵向内长,
|
||||
m_fncNode.fNodeDef[16] = 0.0f;//n室(旧). 改为->新的方式 如 23.0f 为第2,3 舱室加
|
||||
m_fncNode.fNodeDef[17] = AS_MUNITF(1800.0f);//房子出风口宽度:
|
||||
m_fncNode.fNodeDef[18] = AS_MUNITF(9000.0f);//房子伸出距离 X:
|
||||
m_fncNode.fNodeDef[19] = 0.0f; //通风巷道布置方向
|
||||
//房子描述尺寸
|
||||
//房子描述尺寸
|
||||
m_fncNode.fNodeDef[10] = AS_MUNITF(1300.0f);//房子左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[11] = AS_MUNITF(250.0f); //墙厚
|
||||
m_fncNode.fNodeDef[12] = AS_MUNITF(8600.0f);//横向室内宽度,
|
||||
m_fncNode.fNodeDef[13] = AS_MUNITF(2200.0f);//房子高度
|
||||
m_fncNode.fNodeDef[14] = AS_MUNITF(4200.0f);//房子和通风井总高度
|
||||
m_fncNode.fNodeDef[15] = AS_MUNITF(2500.0f);//房子纵向内长,
|
||||
m_fncNode.fNodeDef[16] = 0.0f;//n室(旧). 改为->新的方式 如 23.0f 为第2,3 舱室加
|
||||
m_fncNode.fNodeDef[17] = AS_MUNITF(1800.0f);//房子出风口宽度:
|
||||
m_fncNode.fNodeDef[18] = AS_MUNITF(9000.0f);//房子伸出距离 X:
|
||||
m_fncNode.fNodeDef[19] = 0.0f; //通风巷道布置方向
|
||||
|
||||
m_fncNode.fNodeDef[20] = AS_MUNITF(1300.0f);//百叶窗总高
|
||||
m_fncNode.fNodeDef[21] = AS_MUNITF(1800.0f);//百叶窗总高
|
||||
m_fncNode.fNodeDef[23] = AS_MUNITF(250.0f); //墙厚
|
||||
m_fncNode.fNodeDef[24] = AS_MUNITF(1000.0f);//门宽
|
||||
m_fncNode.fNodeDef[25] = AS_MUNITF(2100.0f);//门高
|
||||
m_fncNode.fNodeDef[26] = AS_MUNITF(600.0f);//位置
|
||||
m_fncNode.fNodeDef[20] = AS_MUNITF(1300.0f);//百叶窗总高
|
||||
m_fncNode.fNodeDef[21] = AS_MUNITF(1800.0f);//百叶窗总高
|
||||
m_fncNode.fNodeDef[23] = AS_MUNITF(250.0f); //墙厚
|
||||
m_fncNode.fNodeDef[24] = AS_MUNITF(1000.0f);//门宽
|
||||
m_fncNode.fNodeDef[25] = AS_MUNITF(2100.0f);//门高
|
||||
m_fncNode.fNodeDef[26] = AS_MUNITF(600.0f);//位置
|
||||
|
||||
m_fncNode.fNodeDef[30] = 0.0f; //0 扶梯 1直梯
|
||||
m_fncNode.fNodeDef[31] = AS_MUNITF(20.0f); //扶梯钢管直径
|
||||
m_fncNode.fNodeDef[32] = AS_MUNITF(500.0f); //扶梯宽度
|
||||
m_fncNode.fNodeDef[33] = AS_MUNITF(300.0f); //扶梯间距
|
||||
m_fncNode.fNodeDef[34] = AS_MUNITF(180.0f); //扶梯踏脚伸出长度
|
||||
m_fncNode.fNodeDef[35] = AS_MUNITF(120.0f); //扶梯固入墙纵向深
|
||||
m_fncNode.fNodeDef[36] = AS_MUNITF(250.0f); //扶梯固入墙横向长
|
||||
m_fncNode.fNodeDef[30] = 0.0f; //0 扶梯 1直梯
|
||||
m_fncNode.fNodeDef[31] = AS_MUNITF(20.0f); //扶梯钢管直径
|
||||
m_fncNode.fNodeDef[32] = AS_MUNITF(500.0f); //扶梯宽度
|
||||
m_fncNode.fNodeDef[33] = AS_MUNITF(300.0f); //扶梯间距
|
||||
m_fncNode.fNodeDef[34] = AS_MUNITF(180.0f); //扶梯踏脚伸出长度
|
||||
m_fncNode.fNodeDef[35] = AS_MUNITF(120.0f); //扶梯固入墙纵向深
|
||||
m_fncNode.fNodeDef[36] = AS_MUNITF(250.0f); //扶梯固入墙横向长
|
||||
|
||||
m_bShareDoubleHouse = false;
|
||||
}
|
||||
@@ -128,14 +128,14 @@ Acad::ErrorStatus AecDbVenDoghouse::CreateDoghouse(ESection eSecType,const AcGeP
|
||||
if (pEW == NULL)
|
||||
return Acad::eInvalidInput;
|
||||
|
||||
//ln和xy面的夹角
|
||||
//ln和xy面的夹角
|
||||
AcGeVector3d vtDir = ln.endPoint() - ln.startPoint();
|
||||
vtDir.normalize();
|
||||
|
||||
AcGeVector3d vtDirXY = vtDir.orthoProject(AcGeVector3d::kZAxis);
|
||||
double dAngle = vtDirXY.angleTo(vtDir);
|
||||
|
||||
//获取每个舱的三维位置
|
||||
//获取每个舱的三维位置
|
||||
AcGePoint2d ptThick;
|
||||
AcArray<ERoom> arRooms;
|
||||
pEW->GetSectionRooms(eSecType,arSizeDatas,arRooms,ptThick,dAngle);
|
||||
@@ -144,33 +144,33 @@ Acad::ErrorStatus AecDbVenDoghouse::CreateDoghouse(ESection eSecType,const AcGeP
|
||||
AcGePoint2d ptSize;
|
||||
pEW->GetWidthAndHeight(eSecType,arSizeDatas,ln,ptSize,true);
|
||||
|
||||
//_T("RECT:3900x3600|2900x3600|400x300|EXT:...");//EXT为扩充字段
|
||||
//_T("RECT:3900x3600|2900x3600|400x300|EXT:...");//EXT为扩充字段
|
||||
AcGePoint2d ptEWOIW = arSizeDatas.last();
|
||||
|
||||
/*
|
||||
memset(&m_fncNode,0,sizeof(EWFnctNode));
|
||||
m_fncNode.dDistLen = AS_MUNIT(8500.0); //分段节点的8.5米位置
|
||||
m_fncNode.eFnType = kVenDoghouse; //通风口
|
||||
_tcscpy(m_fncNode.szNodeSpec,_T("通风口")); //口位置
|
||||
m_fncNode.fNodeDef[0] = AS_MUNITF(800.0f); //沿管廊方向内长
|
||||
m_fncNode.fNodeDef[1] = AS_MUNITF(800.0f); //管廊断面方向内宽
|
||||
m_fncNode.fNodeDef[2] = AS_MUNITF(2050.0f); //口1 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[3] = AS_MUNITF(500.0f); //口2 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[4] = AS_MUNITF(500.0f); //口3 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[5] = 0.0f; //结束
|
||||
_tcscpy(m_fncNode.szNodeDefSpec,_T("通风口"));
|
||||
m_fncNode.dDistLen = AS_MUNIT(8500.0); //分段节点的8.5米位置
|
||||
m_fncNode.eFnType = kVenDoghouse; //通风口
|
||||
_tcscpy(m_fncNode.szNodeSpec,_T("通风口")); //口位置
|
||||
m_fncNode.fNodeDef[0] = AS_MUNITF(800.0f); //沿管廊方向内长
|
||||
m_fncNode.fNodeDef[1] = AS_MUNITF(800.0f); //管廊断面方向内宽
|
||||
m_fncNode.fNodeDef[2] = AS_MUNITF(2050.0f); //口1 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[3] = AS_MUNITF(500.0f); //口2 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[4] = AS_MUNITF(500.0f); //口3 左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[5] = 0.0f; //结束
|
||||
_tcscpy(m_fncNode.szNodeDefSpec,_T("通风口"));
|
||||
|
||||
//房子描述尺寸
|
||||
m_fncNode.fNodeDef[10] = AS_MUNITF(1300.0f);//房子左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[11] = AS_MUNITF(250.0f); //墙厚
|
||||
m_fncNode.fNodeDef[12] = AS_MUNITF(4450.0f);//横向宽度,
|
||||
m_fncNode.fNodeDef[13] = AS_MUNITF(2200.0f);//房子高度
|
||||
m_fncNode.fNodeDef[14] = AS_MUNITF(4200.0f);//房子和通风井高度
|
||||
m_fncNode.fNodeDef[15] = AS_MUNITF(1800.0f);//房子纵向内宽,
|
||||
fncNode.fNodeDef[16] = 0.0f;//n室(旧). 改为->新的方式 如 23.0f 为第2,3 舱室加
|
||||
m_fncNode.fNodeDef[17] = AS_MUNITF(1800.0f);//房子出风口
|
||||
m_fncNode.fNodeDef[18] = AS_MUNITF(9000.0f);//房子伸出距离X
|
||||
m_fncNode.fNodeDef[19] = 0.0f; //通风巷道布置方向
|
||||
//房子描述尺寸
|
||||
m_fncNode.fNodeDef[10] = AS_MUNITF(1300.0f);//房子左室定位尺寸,左对齐
|
||||
m_fncNode.fNodeDef[11] = AS_MUNITF(250.0f); //墙厚
|
||||
m_fncNode.fNodeDef[12] = AS_MUNITF(4450.0f);//横向宽度,
|
||||
m_fncNode.fNodeDef[13] = AS_MUNITF(2200.0f);//房子高度
|
||||
m_fncNode.fNodeDef[14] = AS_MUNITF(4200.0f);//房子和通风井高度
|
||||
m_fncNode.fNodeDef[15] = AS_MUNITF(1800.0f);//房子纵向内宽,
|
||||
fncNode.fNodeDef[16] = 0.0f;//n室(旧). 改为->新的方式 如 23.0f 为第2,3 舱室加
|
||||
m_fncNode.fNodeDef[17] = AS_MUNITF(1800.0f);//房子出风口
|
||||
m_fncNode.fNodeDef[18] = AS_MUNITF(9000.0f);//房子伸出距离X
|
||||
m_fncNode.fNodeDef[19] = 0.0f; //通风巷道布置方向
|
||||
*/
|
||||
|
||||
//int nRoomOutIndex = (int)( m_fncNode.fNodeDef[16] + 0.5f);
|
||||
@@ -185,14 +185,14 @@ Acad::ErrorStatus AecDbVenDoghouse::CreateDoghouse(ESection eSecType,const AcGeP
|
||||
AcGePoint3d ptPos;
|
||||
if (nRoomOutIndex == 0)
|
||||
{
|
||||
ptPos = room1.ptGe[3]; //左上角点
|
||||
ptPos = room1.ptGe[3]; //左上角点
|
||||
ptPos.z += ptThick.x;
|
||||
ptPos += vtDir * m_fncNode.dDistFromPre;
|
||||
//ptPos += vtDirX * m_fncNode.fNodeDef[10];
|
||||
}
|
||||
else
|
||||
{
|
||||
ptPos = room2.ptGe[2]; //右上角点
|
||||
ptPos = room2.ptGe[2]; //右上角点
|
||||
ptPos.z += ptThick.x;
|
||||
ptPos += vtDir * m_fncNode.dDistFromPre;
|
||||
//ptPos -= vtDirX * m_fncNode.fNodeDef[10];
|
||||
@@ -202,18 +202,18 @@ Acad::ErrorStatus AecDbVenDoghouse::CreateDoghouse(ESection eSecType,const AcGeP
|
||||
Acad::ErrorStatus es = Acad::eOk;
|
||||
AcDb3dSolid* pHouse = NULL;
|
||||
|
||||
//创建一个带屋顶的房子,屋顶有开口
|
||||
//创建一个带屋顶的房子,屋顶有开口
|
||||
double dL = m_fncNode.fNodeDef[15];
|
||||
double dW = m_fncNode.fNodeDef[12];
|
||||
double dH = m_fncNode.fNodeDef[13];
|
||||
double dT = m_fncNode.fNodeDef[11];
|
||||
double dX = m_fncNode.fNodeDef[18] + m_fncNode.fNodeDef[10] + ptEWOIW.x;//伸出
|
||||
double dXW = m_fncNode.fNodeDef[17] + 2.0 * dT;//房子出风口
|
||||
double dX = m_fncNode.fNodeDef[18] + m_fncNode.fNodeDef[10] + ptEWOIW.x;//伸出
|
||||
double dXW = m_fncNode.fNodeDef[17] + 2.0 * dT;//房子出风口
|
||||
|
||||
AcGePoint3d ptNew = ptPos;
|
||||
pHouse = CreateHouse(ptNew,dL,dW,dH,dT,dT,dX,dXW,vtDirXY,vtDirX,true);
|
||||
|
||||
//通风井
|
||||
//通风井
|
||||
ptNew.z += dH;
|
||||
dL = m_fncNode.fNodeDef[17] + 2.0 * dT;
|
||||
dW = m_fncNode.fNodeDef[17] + 2.0 * dT;
|
||||
@@ -228,7 +228,7 @@ Acad::ErrorStatus AecDbVenDoghouse::CreateDoghouse(ESection eSecType,const AcGeP
|
||||
}
|
||||
}
|
||||
|
||||
//开通风口
|
||||
//开通风口
|
||||
AcGePoint3d ptGeH = ptNew;
|
||||
ptGeH += vtDirXY * dT;
|
||||
ptGeH += vtDirX * dT;
|
||||
@@ -244,12 +244,12 @@ Acad::ErrorStatus AecDbVenDoghouse::CreateDoghouse(ESection eSecType,const AcGeP
|
||||
}
|
||||
}
|
||||
|
||||
//绘制顶部百叶
|
||||
//绘制顶部百叶
|
||||
AcGePoint3d ptGe = ptNew;
|
||||
ptGe.z += dH;
|
||||
DrawBWindow(ptGe,vtDirX,vtDirXY);
|
||||
|
||||
//绘制爬梯
|
||||
//绘制爬梯
|
||||
ptGe.z -= m_fncNode.fNodeDef[14];
|
||||
ptGe += 0.5 * (dW + dT) * vtDirXY;
|
||||
ptGe += dT * vtDirX;
|
||||
@@ -286,7 +286,7 @@ AcDb3dSolid* AecDbVenDoghouse::CreateHouse(AcGePoint3d& ptLB,double dL,double dW
|
||||
nPts = 7;
|
||||
ptGe4 = ptGe[4];
|
||||
|
||||
if (m_bShareDoubleHouse )//通风井靠左
|
||||
if (m_bShareDoubleHouse )//通风井靠左
|
||||
{
|
||||
ptGe[0] = ptLB;
|
||||
ptGe[0] += vtDirL * dL;
|
||||
@@ -329,7 +329,7 @@ AcDb3dSolid* AecDbVenDoghouse::CreateHouse(AcGePoint3d& ptLB,double dL,double dW
|
||||
{
|
||||
if (nPts == 7)
|
||||
{
|
||||
if ( m_bShareDoubleHouse )//通风井靠左)
|
||||
if ( m_bShareDoubleHouse )//通风井靠左)
|
||||
{
|
||||
//offset
|
||||
ptGe[0] -= vtDirL * dT;
|
||||
@@ -434,7 +434,7 @@ AcDb3dSolid* AecDbVenDoghouse::CreateHouse(AcGePoint3d& ptLB,double dL,double dW
|
||||
|
||||
if (bHasRoof)
|
||||
{
|
||||
//楼板厚度普遍在80~100mm之间,取90
|
||||
//楼板厚度普遍在80~100mm之间,取90
|
||||
ln.setStartPoint(ptGeFloor[0]);
|
||||
ln.setEndPoint(ptGeFloor[0] - AS_MUNIT(90.0) * AcGeVector3d::kZAxis);
|
||||
|
||||
@@ -471,13 +471,13 @@ Acad::ErrorStatus AecDbVenDoghouse::DrawBWindow(const AcGePoint3d& ptGe,const Ac
|
||||
if (dOutL < 0.01f)
|
||||
dOutL = m_fncNode.fNodeDef[15];
|
||||
|
||||
double dExt = AS_MUNIT(20.0);//屋檐
|
||||
double dCap = dOutL + 2 * m_fncNode.fNodeDef[11] + 2 * dExt;//屋顶宽
|
||||
double dH = AS_MUNIT(1000.0);//高度
|
||||
double dThick = AS_MUNIT(20.0);//屋顶厚度
|
||||
double dPageW = AS_MUNIT(20.0);//百叶宽度
|
||||
double dExt = AS_MUNIT(20.0);//屋檐
|
||||
double dCap = dOutL + 2 * m_fncNode.fNodeDef[11] + 2 * dExt;//屋顶宽
|
||||
double dH = AS_MUNIT(1000.0);//高度
|
||||
double dThick = AS_MUNIT(20.0);//屋顶厚度
|
||||
double dPageW = AS_MUNIT(20.0);//百叶宽度
|
||||
|
||||
//4个柱子,侧面百叶
|
||||
//4个柱子,侧面百叶
|
||||
AcGePoint3d ptPos = ptGe;
|
||||
ptPos -= dExt * vtDirHor;
|
||||
|
||||
@@ -494,7 +494,7 @@ Acad::ErrorStatus AecDbVenDoghouse::DrawBWindow(const AcGePoint3d& ptGe,const Ac
|
||||
|
||||
AcGePoint3d ptTmp = ptGe;
|
||||
|
||||
//柱子1
|
||||
//柱子1
|
||||
dL = m_fncNode.fNodeDef[11];
|
||||
dW = m_fncNode.fNodeDef[11];
|
||||
AcDb3dSolid* pCol1 = AecDbEarthWorm::NewXBox(ptTmp,dL,dW,dH,vtDirHor,vtDirXY);
|
||||
@@ -503,7 +503,7 @@ Acad::ErrorStatus AecDbVenDoghouse::DrawBWindow(const AcGePoint3d& ptGe,const Ac
|
||||
Add3DBuffer(pCol1);
|
||||
//m_ar3DDrableBufPtrs.append(pCol1);
|
||||
}
|
||||
//柱子2
|
||||
//柱子2
|
||||
ptTmp += (dOutL + m_fncNode.fNodeDef[11]) * vtDirHor;
|
||||
AcDb3dSolid* pCol2 = AecDbEarthWorm::NewXBox(ptTmp,dL,dW,dH,vtDirHor,vtDirXY);
|
||||
if (pCol2 != NULL)
|
||||
@@ -512,7 +512,7 @@ Acad::ErrorStatus AecDbVenDoghouse::DrawBWindow(const AcGePoint3d& ptGe,const Ac
|
||||
//m_ar3DDrableBufPtrs.append(pCol2);
|
||||
}
|
||||
|
||||
//柱子3
|
||||
//柱子3
|
||||
ptTmp = ptGe;
|
||||
ptTmp += (dOutL + m_fncNode.fNodeDef[11]) * vtDirXY;
|
||||
AcDb3dSolid* pCol3 = AecDbEarthWorm::NewXBox(ptTmp,dL,dW,dH,vtDirHor,vtDirXY);
|
||||
@@ -522,7 +522,7 @@ Acad::ErrorStatus AecDbVenDoghouse::DrawBWindow(const AcGePoint3d& ptGe,const Ac
|
||||
//m_ar3DDrableBufPtrs.append(pCol3);
|
||||
}
|
||||
|
||||
//柱子4
|
||||
//柱子4
|
||||
ptTmp += (dOutL + m_fncNode.fNodeDef[11]) * vtDirHor;
|
||||
AcDb3dSolid* pCol4 = AecDbEarthWorm::NewXBox(ptTmp,dL,dW,dH,vtDirHor,vtDirXY);
|
||||
if (pCol4 != NULL)
|
||||
@@ -531,7 +531,7 @@ Acad::ErrorStatus AecDbVenDoghouse::DrawBWindow(const AcGePoint3d& ptGe,const Ac
|
||||
//m_ar3DDrableBufPtrs.append(pCol4);
|
||||
}
|
||||
|
||||
//百叶...
|
||||
//百叶...
|
||||
int nCount = (int)(dH / dPageW + 0.5);
|
||||
|
||||
return Acad::eOk;
|
||||
|
||||
Reference in new issue
Block a user