首页 > 其他分享 >IfcSIUnit 案例

IfcSIUnit 案例

时间:2024-04-23 13:00:29浏览次数:26  
标签:based defined METRE IFCSIUNIT 案例 units IfcSIUnit unit

当没有使用实体类型IfcMeasureWithUnit作为属性的数据类型更具体地定义单位时,项目的全局单位分配定义度量值和值的全局单位。

 

An example where a project’s global basic length, area, volume and time units are defined as SI units:

#1=IFCPROJECT (’00ZhrqZYLBcgy$rVVaiu2A’, $, ’Example project’, $, $, $, $, $, #2);
#2=IFCUNITASSIGNMENT ((#3, #4, #5, #6));
#3=IFCSIUNIT (*, .LENGTHUNIT., .MILLI., .METRE.);
#4=IFCSIUNIT (*, .AREAUNIT., $, .SQUARE_METRE.);
#5=IFCSIUNIT (*, .VOLUMEUNIT., $, .CUBIC_METRE.);
#6=IFCSIUNIT (*, .TIMEUNIT., $, .SECOND.);
NOTE  In the examples the ’*’ character as the first value in the IfcSIUnit-instances is due to the fact that in the IfcSIUnit the inherited attribute .Dimensions is redefined as a derived attribute. In the IFC Object Model schema there is a function that returns the derived dimensional exponent values for SI units. In the exchange file the derived attribute values are not exchanged, and in the case of redefinition the value is replaced by ’*’.

An example of a defined measure type with global unit assignment follows where the attribute IfcDoor.OverallWidth is of datatype IfcPositiveLengthMeasure without possibility of using specific unit from IfcMeasureWithUnit. Then the global unit for length measure applies; in this case metres:

#1=IFCPROJECT (’00ZhrqZYLBcgy$rVVaiu2A’, $, ’Example project’, $, $, $, $, $, #2);
#2=IFCUNITASSIGNMENT ((#3, #4, #5, #6));
#3=IFCSIUNIT (*, .LENGTHUNIT., .MILLI., .METRE.);
#4=IFCSIUNIT (*, .AREAUNIT., $, .SQUARE_METRE.);
#5=IFCSIUNIT (*, .VOLUMEUNIT., $, .CUBIC_METRE.);
#6=IFCSIUNIT (*, .TIMEUNIT., $, .SECOND.);
#7=IFCDOOR(’00ZhrqZYLBcgy$rVVaiu2B’, $, ’Door-1’, $, $, $, $, $, 2., 1., $, $);

An example where a project's global basic length, area and volume units are defined as imperial units (inches, square feet and cubic feet), which are further defined as conversion based units relative to SI units millimeter, square meter and cubic meter:

#1=IFCPROJECT (’00ZhrqZYLBcgy$rVVaiu2B’, $, ’Example project’, $, $, $, $, $, #2);
#2=IFCUNITASSIGNMENT ((#6, #7, #10, #13));
#3=IFCSIUNIT (*, .LENGTHUNIT., .MILLI., .METRE.);
#4=IFCSIUNIT (*, .AREAUNIT., $, .SQUARE_METRE.);
#5=IFCSIUNIT (*, .VOLUMEUNIT., $, .CUBIC_METRE.);
#6=IFCSIUNIT (*, .TIMEUNIT., $, .SECOND.);
#7=IFCCONVERSIONBASEDUNIT(#9, .LENGTHUNIT., ’INCH’, #8);
#8=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(25.4), #3);
#9=IFCDIMENSIONALEXPONENTS(1, 0, 0, 0, 0, 0, 0);
#10=IFCCONVERSIONBASEDUNIT(#11, .AREAUNIT., ’SQUARE_FEET’, #12);
#11=IFCDIMENSIONALEXPONENTS(2, 0, 0, 0, 0, 0, 0);
#12=IFCMEASUREWITHUNIT(IFCAREAMEASURE(0.09290304), #4);
#13=IFCCONVERSIONBASEDUNIT(#14, .VOLUMEUNIT., ’CUBIC_FEET’, #15);
#14=IFCDIMENSIONALEXPONENTS(3, 0, 0, 0, 0, 0, 0);
#15=IFCMEASUREWITHUNIT(IFCVOLUMEMEASURE(0.0283168466), #5);

In a conversion based unit the scaling factor, like 0.0283168466 for cubic feet, expresses how many base units make up one conversion based unit.

Another example of a conversion based unit would be the definition of temperature in degrees Fahrenheit. A conversion based unit should be used for this purpose, because degrees Fahrenheit can be defined using degrees Celsius. However, with IfcConversionBasedUnit one cannot define their relationship fully because the zero degrees offset between them cannot be defined. Rather, the subtype IfcConversionBasedUnitWithOffset is used to indicate such offset between degrees Fahrenheit and Celsius.

Yet another example of a conversion based unit would be degrees and gradians as a unit for plane angle measure. These can be defined as a conversion based unit based on radian unit.

An example definition of a unit for specific heat capacity (Joule / kg Kelvin), which is defined as a derived unit based on basic SI units.

#1=IFCPROJECT(’00ZhrqZYLBcgy$rVVaiu2A’, $, ’Example project’, $, $, $, $, $, #2);
#2=IFCUNITASSIGNMENT((#3, #4, #5, #6, #7, #8, #9, #10));
#3=IFCSIUNIT(*, .LENGTHUNIT., .MILLI., .METRE.);
#4=IFCSIUNIT(*, .AREAUNIT., $, .SQUARE_METRE.);
#5=IFCSIUNIT(*, .VOLUMEUNIT., $, .CUBIC_METRE.);
#6=IFCSIUNIT(*, .TIMEUNIT., $, .SECOND.);
#7=IFCSIUNIT(*, .ENERGYUNIT., $, .JOULE.);
#8=IFCSIUNIT(*, .MASSUNIT., .KILO., .GRAM.);
#9=IFCSIUNIT(*, .THERMODYNAMICTEMPERATUREUNIT., $, .KELVIN.);
#10=IFCDERIVEDUNIT((#11, #12, #13), .SPECIFICHEATCAPACITYUNIT., $);
#11=IFCDERIVEDUNITELEMENT(#7, 1);
#12=IFCDERIVEDUNITELEMENT(#8, -1);
#13=IFCDERIVEDUNITELEMENT(#9, -1);

 

 

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

标签:based,defined,METRE,IFCSIUNIT,案例,units,IfcSIUnit,unit
From: https://www.cnblogs.com/herd/p/18108453

相关文章

  • 仿真软件应用案例辑
    仿真软件应用案例辑仿真软件广泛应用于各个工程领域,如机械、电子、航空、汽车、建筑等。在这些领域中,仿真工程应用可以用于产品设计、性能分析、工艺流程优化、故障诊断等多个方面。通过仿真分析,工程师可以深入了解产品的性能特点、工作环境和失效机理,从而进行有针对性的改进和优......
  • HarmonyOS NEXT应用开发案例—自定义日历选择器
    介绍本示例介绍通过CustomDialogController类显示自定义日历选择器。效果图预览使用说明加载完成后显示主界面,点当前日期后会弹出日历选择器,选择日期后会关闭弹窗,主页面日期会变成选定的日期。实现思路获取当前月和下个月的日期信息。源码参考GetDate.ets。constSATU......
  • 数字图像处理案例-第16个
    condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-f......
  • HarmonyOS NEXT应用开发案例—使用弹簧曲线实现抖动动画及手机振动效果案例
    介绍本示例介绍使用vibrator.startVibration方法实现手机振动效果,用animateTo显示动画实现点击后的抖动动画。效果图预览使用说明加载完成后显示登录界面,未勾选协议时点击一键登录按钮会触发手机振动效果和提示文本的抖动动画。实现思路创建一个函数startVibrate()调用v......
  • 使用pytesseract库识别图形验证码的简单案例
    importrequestsfromPILimportImageimportpytesseract#获取验证码图片url='http://jw.glutnn.cn/academic/getCaptcha.do?captchaCheckCode=0&random=0.20354331774429668'response=requests.get(url)#保存验证码图片withopen('captcha.png',&......
  • DRF案例
    1反序列化更新,instance就传要修改的对象,保证修改完成defupdate(self,instance,validated_data):publish_id=validated_data.pop('publish')author_id=validated_data.pop('author')forkinvalidated_data:setattr(instance,k,valida......
  • php之性能优化案例
    php是一个很流行的脚本语言,现在很多公司(新浪、优酷、百度、搜狐、淘宝等等)在使用这种语言进行网站开发。这篇文章希望能够提高你的php脚本性能。请记住你的php脚本性能,很多时候依赖于你的php版本、你的webserver环境和你的代码的复杂度。优化你代码中的瓶颈Hoare曾经说过“过早......
  • SpringCloud进行nacos的服务注册和服务管理案例
    SpringCloud服务注册pom.xml<!--SpringCloud服务注册和发现--><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.8.RELEASE</version>......
  • IfcUnitAssignment案例
    当没有使用实体类型IfcMeasureWithUnit作为属性的数据类型更具体地定义单位时,项目的全局单位分配定义度量值和值的全局单位。 Anexamplewhereaproject’sglobalbasiclength,area,volumeandtimeunitsaredefinedasSIunits:#1=IFCPROJECT(’00ZhrqZYLBcgy$rVVa......
  • 队列-经典应用案例
    这里来简单举几个经典的场景如"击鼓传花","字符串回文监测"等来加深对队列这个结构的直观认识.单端队列-击鼓传花这里先介绍一种队列的变种叫循环队列,即元素从队首出队后,立即又进行从队尾入队,类似行程了一个圈,与之对应的一个经典游戏就是"击鼓传花",英文叫ho......