首页 > 其他分享 >IfcConversionBasedUnit Basic unit declaration

IfcConversionBasedUnit Basic unit declaration

时间:2024-03-27 20:36:48浏览次数:24  
标签:SQUARE 定义 CUBIC IfcConversionBasedUnit METRE IFCSIUNIT 单位 declaration unit

IfcConversionBasedUnit

 

 

当没有使用实体类型IfcMeasureWithUnit作为属性的数据类型更具体地定义单位时,项目的全局单位分配定义度量值和值的全局单位。
项目的全球基本长度、面积、体积和时间单位定义为国际单位制的示例:

#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 ’*’.

 

下面是具有全局单位分配的已定义度量值类型的示例,其中包含属性IfcDoor。OverallWidth的数据类型为IfcPositiveLengthMeasure,不可能使用IfcMeasureWithUnit中的特定单位。然后应用全局长度度量单位;在这种情况下为米:

#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., $, $);

 

 

一个示例,其中项目的全局基本长度、面积和体积单位定义为英制单位(英寸、平方英尺和立方英尺),进一步定义为相对于国际单位制单位毫米、平方米和立方米的基于转换的单位:

#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);

 

在基于转换的单位中,比例因子,如立方英尺的0.0283168466,表示一个基于转换的单元中有多少基本单位。
基于转换的单位的另一个例子是以华氏度为单位的温度定义。为此,应使用基于换算的单位,因为华氏度可以使用摄氏度来定义。然而,对于IfcConversionBasedUnit,无法完全定义它们之间的关系,因为它们之间的零度偏移无法定义。相反,子类型IfcConversionBasedUnitWithOffset用于指示华氏度和摄氏度之间的偏移。
基于转换的单位的另一个例子是作为平面角度测量单位的度和梯度。这些可以定义为基于弧度单位的基于转换的单位。
比热容单位(焦耳/千克开尔文)的定义示例,定义为基于基本国际单位制的推导单位。

#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);

 

 

 

 

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

标签:SQUARE,定义,CUBIC,IfcConversionBasedUnit,METRE,IFCSIUNIT,单位,declaration,unit
From: https://www.cnblogs.com/herd/p/18094754

相关文章

  • 不拼花哨,只拼实用:unittest指南,干货为王!
    Python为开发者提供了内置的单元测试框架unittest,它是一种强大的工具,能够有效地编写和执行单元测试。unittest提供了完整的测试结构,支持自动化测试的执行,能够对测试用例进行组织,并且提供了丰富的断言方法。最终,unittest会生成详细的测试报告,这个框架非常简单且易于使用。unitt......
  • C# 异步与 Unity 协程(实例讲解)
    C#异步编程实例:假设我们有一个需要从Web获取数据的简单应用。我们可以使用C#的异步编程模型来避免UI线程被HTTP请求阻塞1usingSystem.Net.Http;2usingSystem.Threading.Tasks;34publicclassAsyncExample5{6publicasyncTask<string>FetchDataFromWebAsync(st......
  • 【Unity】TextMeshPro富文本
    启用富文本在Unity里,如果需要使用富文本,首先需要开启RichText如果不开启RichText,就会在UI上显示富文本代码1.粗体<b>Game</b>Over2.斜体<i>Game</i>Over3.下划线<u>Game</u>Over4.删除线<s>Game</s>Over5.指定颜色删除线<scolor=#ff8000>Game&......
  • Unity在旋转时出现万向节锁的解决方案
    关于万向节锁在Unity官方文档中有这样的描述:欧拉角在变换坐标中,Unity使用矢量属性Transform.eulerAngles X、Y和Z显示旋转。与法线矢量不同,这些值实际上表示绕X、Y和Z轴旋转的角度(以度为单位)。欧拉角旋转围绕三个轴执行三个单独的旋转。Unity依次围绕z轴、x轴和y......
  • Unity中如何实现草的LOD
    1)Unity中如何实现草的LOD2)用ComputeShader处理图像数据后在安卓机上不能正常显示渲染纹理3)关于进游戏程序集加载的问题4)预制件编辑模式一直在触发自动保存这是第379篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和......
  • selenium(8)断言,unittest
    Selenium中的断言用于验证应用程序的状态是否与所期望的一致。在使用Selenium进行自动化测试时,断言通常用于以下方面:页面属性断言:断言标题、URL或页面源码中是否包含或不包含特定字符。这是最常用的断言方式,可以用来断言页面是否正常打开,是否在指定的窗口及页面上。元素存在断......
  • unity+单例
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassModuleManage:MonoBehaviour{privatestaticModuleManage_instance;publicstaticModuleManageInstance{get{if(_ins......
  • 使用Github托管Unity项目
    ​准备工作在本机生成ssh密钥ssh-keygen-trsa-C"你的邮箱地址"点击回车后会出现生成的密钥路径,我们直接打开密钥复制下来。github官网添加我们的本机密钥进入Github官网,点击设置,选择SSHandGPGkeys点击newSSHkey,将我们刚才在本机生成的ssh密钥放入key中,并起......
  • python中的unittest使用介绍
    unittest 是Python标准库中的一个模块,用于编写和运行单元测试。它提供了一个框架,让开发者可以轻松地编写测试用例、组织测试套件以及执行测试。下面是一个简单的示例,演示如何使用 unittest 模块:importunittestdefadd(a,b):returna+bclassTestAddFunction(un......
  • 基于 Python + Unitest + HwTestReport/BeautifulReport的UI自动化测试框架
    一、框架目录结构概览 二、框架执行流程简介 三、框架目录结构简介 四、测试报告示例 HwTestReport BeautifulReport         ......