首页 > 其他分享 >ifc4x3 附录E示例-LinearPlacement_1

ifc4x3 附录E示例-LinearPlacement_1

时间:2023-02-02 12:56:15浏览次数:56  
标签:10 20 示例 -- LinearPlacement 50 --- ifc4x3

ifc4x3 附录E示例-LinearPlacement_1

示例概述

意图

此场景是沿路线曲线进行局部和线性放置的示例。IfcLinerPlacement定义了依赖于引用空间曲线(通常是IfcAlignmentCurve)的空间点。欧几里德坐标可以根据给定的路线曲线和纵向、横向和垂直方向上的相关偏移量从桩号/参考点计算出来。该示例包含由长方体表示的IfcBuildingElementProxy产品。该元素以多种方式定位:-IfcLocalPlacement:欧几里得点由x、y和z值直接给定IfcLinerPlacement:位置由沿参考曲线的距离和方向(然后包含有关偏移的信息)定义。

 

先决条件

此方案基于以下其他方案:-无

 

内容

此方案基于以下方案:-项目结构-IfcProject-IfcSite-默认单元分配-IfcUnitAssignment-IfcSIUnit-alignment-IfcAlignment-核心空间结构-IfcProject-IfcSite

 

该场景可以通过以下概念进行扩展:-GeoRef(参见Georeferenceing_1场景)-高级空间结构-元素集合和聚合-高级几何表示

 

支持文件

以下文件对应于此场景:

 

FilenameDescription
UT_LinearPlacement_1.ifc the exported content as IFC document
UT_LinearPlacement_1_1.png screenshot from the KIT FZK Viewer
UT_LinearPlacement_1_2.png screenshot from the KIT FZK Viewer
UT_LinearPlacement_1_3.pdf drawing of intended content

 

图像

 

 

IFC-SPF source

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition []'), '2;1');
FILE_NAME('', '2019-09-19T10:23:29', (''), (''), 'Processor version 5.0.0.0', '', '');
FILE_SCHEMA(('IFC4X3_RC2'));
ENDSEC;
DATA;

/* IfcRoad WP5 Prototypical Implementation  */
/* Author: Sebastian Esser; Technical University of Munich, Chair of Computational Modeling and Simulation and Autodesk. [email protected] */
/* Please note: This sample is partially hand-coded and may contain mistakes. */
/* Version: 02 */

/* !!! This sample contains IFC4x1 entities. However, from IFC4X1 to IFC4x2, several changes were applied to IfcLinearPlacement !! */
/* --- --- --- --- --- --- --- --- */

/* -- Base setup: project, credits, units, ... */
#1=IFCPROJECT('2dGnaVksj48hS2oyo_XxlK',#2,'LinearPlacement Sample',$,$,$,$,(#15),#7);
#2=IFCOWNERHISTORY(#5,#6,$,.ADDED.,1549899150,$,$,0);
#3=IFCPERSON($,'Esser','Sebastian',$,$,$,$,$);
#4=IFCORGANIZATION($,'Technical University of Munich',$,$,$);
#5=IFCPERSONANDORGANIZATION(#3,#4,$);
#6=IFCAPPLICATION(#4,'1.0','TUM_CMS_SE','notDefined');

#7=IFCUNITASSIGNMENT((#8,#9,#10,#11));
#8=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#9=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#10=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#11=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);

/* site and alignment placement */
#12=IFCLOCALPLACEMENT($,#13);
#13=IFCAXIS2PLACEMENT3D(#14,$,$);
#14=IFCCARTESIANPOINT((0.,0.,0.));

/* representation context is necessary to have geometric product representations */
#15=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,$,#13,$);

/* -- setup a simple IfcSite containing the products and the alignment curve */
#16=IFCSITE('3_lzWZ4lL1xBtgb_k89blG',#2,'AlignmentSite','Samples for IfcLocalPlacement and IfcLinearPlacement',$,#12,$,$,$,$,$,0.,$,$);

#17=IFCRELAGGREGATES('1oEWrejW14$hUYRDBPoxmo',#2,$,$,#1,(#16));
#18=IFCRELCONTAINEDINSPATIALSTRUCTURE('2FzbCnjPP0pOSTW0cCcjnt',#2,$,$,(#19,#90,#100,#110,#120),#16);

/* --- --- --- --- --- --- --- --- */

/* -- IfcAlignment defining the linear referencing system */
#19=IFCALIGNMENT('3RGarZbNb8aQVemB05KsyD',#2,'sampleAlignment','Alignment with 2 horiz segments and 0 vertical segments',$,#12,$,#20,$);
#20=IFCALIGNMENTCURVE(#21,$,$);
#21=IFCALIGNMENT2DHORIZONTAL($,(#25,#28));

/* Horizontal segments */
#23=IFCLINESEGMENT2D(#24,1.5707963267948966,1000.);
#24=IFCCARTESIANPOINT((0.,0.));
#25=IFCALIGNMENT2DHORIZONTALSEGMENT($,$,$,#23);

#26=IFCCIRCULARARCSEGMENT2D(#27,1.5707963267948966,785.39816339744823,500.,.F.);
#27=IFCCARTESIANPOINT((0.,1000.));
#28=IFCALIGNMENT2DHORIZONTALSEGMENT($,$,$,#26);

/* Vertical segments */


/* --- --- --- --- --- --- --- --- */

/* -- Geometry of product*/
/* Note: The placement point is NOT the center of mass! */
#50=IFCCARTESIANPOINTLIST3D(((10.,20.,50.),(0.,20.,50.),(10.,0.,50.),(10.,0.,50.),(0.,20.,50.),(0.,0.,50.),(10.,0.,0.),(0.,0.,0.),(10.,20.,0.),(10.,20.,0.),(0.,0.,0.),(0.,20.,0.),(0.,0.,50.),(0.,0.,0.),(10.,0.,50.),(10.,0.,50.),(0.,0.,0.),(10.,0.,0.),(0.,20.,50.),(0.,20.,0.),(0.,0.,50.),(0.,0.,50.),(0.,20.,0.),(0.,0.,0.),(10.,20.,50.),(10.,20.,0.),(0.,20.,50.),(0.,20.,50.),(10.,20.,0),(0,20.,0),(10.,0.,50.),(10.,0.,0.),(10.,20.,50.),(10.,20.,50.),(10.,0.,0.),(10.,20.,0.)),$);
#51=IFCTRIANGULATEDFACESET(#50,$,.T.,((1,2,3),(4,5,6),(7,8,9),(10,11,12),(13,14,15),(16,17,18),(19,20,21),(22,23,24),(25,26,27),(28,29,30),(31,32,33),(34,35,36)),$);
#52=IFCSHAPEREPRESENTATION(#15,'Body','Tessellation',(#51));
#53=IFCPRODUCTDEFINITIONSHAPE($,$,(#52));

/* -- IfcProduct instance with IfcLinearPlacement */
#90=IFCBUILDINGELEMENTPROXY('2uEmTbIVTEr94hFPqz1_N9',#2,'linear positioned in arc segment',$,$,#91,#53,$,$);
/* -- IfcLinearPlacement: station 600m, 14m lateral offset, 0m vertical offset, 0m logitudinal offset, measurement should be applied the horizontal projection (has no impact in this sample since no vertical alignment has been defined) */
#91=IFCLINEARPLACEMENT($,#20,#92,#93,$);
#92=IFCDISTANCEEXPRESSION(600.,-14.,0.,0.,.T.);
#93=IFCORIENTATIONEXPRESSION(#94,#95);
#94=IFCDIRECTION((1.,0.,0.));
#95=IFCDIRECTION((0.,0.,1.));

/* -- IfcProduct instance with IfcLinearPlacement, placement at arc segment */
#100=IFCBUILDINGELEMENTPROXY('2uEmTbIVTEr94hFPqz1_M9',#2,'linear positioned',$,$,#101,#53,$,$);

/* -- IfcLinearPlacement for #100:  */
#101=IFCLINEARPLACEMENT($,#20,#102,#103,$);
#102=IFCDISTANCEEXPRESSION(1500.,-14.,0.,0.,.T.);
#103=IFCORIENTATIONEXPRESSION(#104,#105);
#104=IFCDIRECTION((0.,0.,1.));
#105=IFCDIRECTION((1.,0.,0.));

/* -- IfcProduct instance with IfcLocalPlacement - no rotation */
#110=IFCBUILDINGELEMENTPROXY('3$fw5brl95uh4EJX8NGPg7',#2,'euclidian positioned','localPos',$,#111,#53,$,$);

/* -- IfcProduct instance with local/euclidian placement */
#111=IFCLOCALPLACEMENT($,#112);
#112=IFCAXIS2PLACEMENT3D(#113,#114,#115);
#113=IFCCARTESIANPOINT((100.,0.,0.));
#114=IFCDIRECTION((1.,0.,0.));
#115=IFCDIRECTION((0.,0.,1.));

/* -- IfcProduct instance with IfcLocalPlacement - rotated */
#120=IFCBUILDINGELEMENTPROXY('3$fw5brl95uh4EJX8NGPf7',#2,'euclidian and rotated positioned','localPos + Rotation',$,#121,#53,$,$);

/* -- IfcProduct instance with local/euclidian placement - rotated */
#121=IFCLOCALPLACEMENT($,#122);
#122=IFCAXIS2PLACEMENT3D(#123,#124,#125);
#123=IFCCARTESIANPOINT((100.,20.,0.));
#124=IFCDIRECTION((0.4142,0.4142,0.));
#125=IFCDIRECTION((0.,0.,1.));

ENDSEC;
END-ISO-10303-21;

 

 

 

 

 

 

#################################

标签:10,20,示例,--,LinearPlacement,50,---,ifc4x3
From: https://www.cnblogs.com/herd/p/17043845.html

相关文章

  • python爬虫入门脚本示例
    例如在某个目录xx下,有个普通的文件,有些文件后缀*.txt,有的却没有后缀名。现在写一个程序希望将xx目录下没有后缀名的文件改成*.txt结尾。知识点:需要用到python的os模块直接......
  • Qt | 拖放、拖动的使用、将文件拖入使用示例
    Qt|拖放、拖动的使用、将文件拖入使用示例1、窗体的拖动Qt的控件本身支持了很强大拖放、拖动功能,对于窗体的拖动,例如QDialog,可以覆写这四个函数:voiddragEnterEvent(QDrag......
  • Qt | QDialogButtonBox使用示例
    Qt|QDialogButtonBox使用示例1、简介QDialogButtonBox类,该类包含很多按钮控件,在窗体(widget)或者对话框(dialog)有多个按钮的时候,为方便管理就可以使用该类成组进行管理。......
  • ifc4x3 附录E示例-Georeference_Tiny_Survey_1
    ifc4x3 附录E示例-Georeference_Tiny_Survey_1示例概述意图IFC4x3RC1测量字符串和点及其属性集是项目初始数据的基础,用于任何线性项目的放样,并用于机器控制。因此,如......
  • 通用usb驱动libusb介绍和使用示例
    小知识:sudoinsmod/lib/modules/2.6.22-14-generic/kernel/drivers/usb/serial/usbserial.kovendor=0x8086product=0xd001同时插上ttyUSB0和ttyUSB1(ch341),obm可以将dkb......
  • spring boot——json解析示例——fastjson——使用fastJson将json与对象、集合、数组
                 ......
  • spring boot——json解析示例——fastjson
    多层嵌套JSON类型数据解析简单来说:“key”:“value”-->此时value为String “key":0-->此时value为int “key”:{“k1”:“v1”}-->此时value为JSONObject......
  • Eclipse JUnit简单示例
    在本节中,我们将看到一个简单的JUnit例子。先创建一个工程,名称为:CalculateTest,并在这个工程上点击右键,选择:BuildPath->AddLibrary->JUnit...,如下图所示:选择JUni......
  • ifc4x3 附录E示例-Georeference_Tin_5
    ifc4x3附录E示例-Georeference_Tin_5示例概述(x,y)坐标中的位数。当时,一些测量软件仍然是基于DOS的,使用的精度很低。之所以使用这种原点选择,是因为小数点之前的最后3位数字......
  • ifc4x3 附录E示例-Georeference_Tin_4
    ifc4x3 附录E示例-Georeference_Tin_4示例概述意图IFC4x3RC1此场景中有一个带有两个颜色的锡。 IfcProjectedCRS中的EPSG代码规定了水平和垂直基准。EPSG代码用......