ifccolumn在空间中的坐标计算
#6= IFCCARTESIANPOINT((0.,0.,0.));
#18= IFCDIRECTION((0.,-1.,0.));
#20= IFCDIRECTION((0.,0.,1.));
#24= IFCDIRECTION((1.,0.));
#32= IFCAXIS2PLACEMENT3D(#6,$,$);
#33= IFCLOCALPLACEMENT(#3158,#32);
#180= IFCCARTESIANPOINT((0.,0.,16000.));
#182= IFCAXIS2PLACEMENT3D(#180,$,$);
#183= IFCLOCALPLACEMENT(#33,#182);
#184= IFCBUILDINGSTOREY('3uQkDb6xzB9fWxS3bOs2TG',$,'F9',$,$,#183,$,'F9',.ELEMENT.,16000.);
#3140= IFCCARTESIANPOINT((16335.2624470437,29132.8063887903,-16000.));
#3142= IFCAXIS2PLACEMENT3D(#3140,$,$);
#3143= IFCLOCALPLACEMENT(#183,#3142);
#3145= IFCCOLUMN('0i1TvSO7n5bg7z8ta4LJ35',$,'\X2\6DF751DD571F\X0\ - \X2\77E95F62\X0\ - \X2\67F1\X0\:1450 x 1450mm:232786',$,'1450 x 1450mm',#3143,#3137,'232786',.COLUMN.);
#3158= IFCLOCALPLACEMENT($,#3157);
#3157= IFCAXIS2PLACEMENT3D(#6,$,$);
#3111= IFCCARTESIANPOINT((0.,0.));
#3113= IFCAXIS2PLACEMENT2D(#3111,#24);
#3114= IFCRECTANGLEPROFILEDEF(.AREA.,'1450 x 1450mm',#3113,1200.,1200.);
#3115= IFCCARTESIANPOINT((0.,0.,16000.));
#3117= IFCAXIS2PLACEMENT3D(#3115,#20,#18);
#3118= IFCEXTRUDEDAREASOLID(#3114,#3117,#20,4000.);
#3122= IFCSHAPEREPRESENTATION(#105,'Body','SweptSolid',(#3118));
#3124= IFCAXIS2PLACEMENT3D(#6,$,$);
#3125= IFCREPRESENTATIONMAP(#3124,#3122);
#3127= IFCCOLUMNTYPE('0i1TvSO7n5bg7z8ta4LJCn',#42,'1450 x 1450mm',$,$,$,(#3125),'232419','1450 x 1450mm',.COLUMN.);
#3978= IFCRELDEFINESBYTYPE('3IMOcmRBjErBic0YWvdyog',$,$,$,(#3145),#3127);
#3315= IFCRELCONTAINEDINSPATIALSTRUCTURE('0DxL1M_1j4jei$RJ105_QT',$,$,$,(#3145),#184);
为了计算IFCCOLUMN
(#3145)在空间中的坐标,我们需要根据提供的IFC片段逐步解析其位置。以下是详细的计算步骤:
-
原点与方向:
#6= IFCCARTESIANPOINT((0.,0.,0.))
:定义了全局坐标系的原点。#18= IFCDIRECTION((0.,-1.,0.))
、#20= IFCDIRECTION((0.,0.,1.))
、#24= IFCDIRECTION((1.,0.,0.))
:定义了三个方向向量,但在这个计算中我们主要关注Z轴方向(#20)。
-
轴2放置与局部放置:
#32= IFCAXIS2PLACEMENT3D(#6,$,$)
:基于原点但没有方向变化的轴2放置。#33= IFCLOCALPLACEMENT(#3158,#32)
:由于#3158
也是基于原点的放置(通过#3157
和#6
确认),所以#33
同样表示原点处的局部放置。#182= IFCAXIS2PLACEMENT3D(#180,$,$)
:基于点#180
((0,0,16000)
)的轴2放置,没有方向变化。#183= IFCLOCALPLACEMENT(#33,#182)
:将#182
的放置应用于#33
(原点),得到新的局部坐标系,其原点在(0,0,16000)
。
-
楼层定义:
#184= IFCBUILDINGSTOREY(...,#183,...)
:定义了楼层,其局部放置是#183
,即楼层原点在全局坐标系的(0,0,16000)
。
-
柱子的局部放置:
#3142= IFCAXIS2PLACEMENT3D(#3140,$,$)
:基于点#3140
((16335.2624470437,29132.8063887903,-16000.)
)的轴2放置,没有方向变化。#3143= IFCLOCALPLACEMENT(#183,#3142)
:将#3142
的放置应用于#183
(楼层原点),得到柱子的局部坐标系。
-
计算柱子的全局坐标:
- 柱子的局部坐标是
#3140
,即(16335.2624470437,29132.8063887903,-16000.)
。 - 这个坐标是相对于
#3143
的,而#3143
是基于#183
(楼层原点(0,0,16000)
)的。 - 因此,我们需要将柱子的局部坐标加到楼层原点的坐标上:
- X坐标:
16335.2624470437
- Y坐标:
29132.8063887903
- Z坐标:
16000 + (-16000) = 0
(但注意,这里我们是在楼层坐标系中计算,所以相对于全局坐标系,Z坐标实际上是16000 - 16000 = 0
加上楼层的高度,因此仍然是16000
的楼层高度位置)
- X坐标:
- 柱子的局部坐标是
所以,IFCCOLUMN
(#3145)在空间中的全局坐标是(16335.2624470437, 29132.8063887903, 16000)
,考虑到它是在楼层高度为16000的位置。这个坐标是基于全局坐标系的,并且已经考虑了楼层和柱子相对于全局原点的偏移。
################################################
QQ 3087438119