IfcRelDefinesByProperties IfcPropertySetDefinitionSelect IfcPropertySetDefinition IfcPropertySetDefinitionSet
private void updateObject(IfcObject ifcObject, PropertyNode root)
{
/*
if(ifcObject.getClassName().toString().indexOf("IfcBuildingElementProxy") ==-1 && ifcObject.getClassName().toString().indexOf("IfcWallStandardCase") ==-1 && ifcObject.getClassName().toString().indexOf("IfcSpace") ==-1 && ifcObject.getClassName().toString().indexOf("IfcAnnotation") ==-1 && ifcObject.getClassName().toString().indexOf("IfcOpeningElement") ==-1 && ifcObject.getClassName().toString().indexOf("IfcRailing") ==-1 ){
System.out.println("com.apstex.gui.ifc.views.propertiesview ---> PropertiesPanel.java ---> update() "+ifcObject.getName()+" class "+ifcObject.getClassName()+" id #"+ifcObject.getStepLineNumber());
}
*/
if(ifcObject instanceof IfcObject.Ifc2x3)
{
IfcObject.Ifc2x3 ifcObject2x3 = (IfcObject.Ifc2x3) ifcObject;
if(ifcObject2x3.getIsDefinedBy_Inverse() == null)
return;
PropertyNode objectNode = new PropertyNode(ifcObject);
System.out.println("com.apstex.gui.ifc.views.propertiesview ---> PropertiesPanel.java 195 ---> update() "+objectNode.getUserObject().toString());
for (IfcRelDefines ifcRelDefines : ifcObject2x3.getIsDefinedBy_Inverse())
{
if(ifcRelDefines instanceof IfcRelDefinesByProperties)
{
IfcPropertySetDefinition ifcPropertySetDefinition = ((IfcRelDefinesByProperties.Ifc2x3)ifcRelDefines).getRelatingPropertyDefinition();
//System.out.println("com.apstex.gui.ifc.views.propertiesview ---> PropertiesPanel.java 201 ---> update() "+ifcPropertySetDefinition.getName());
updateProperty(ifcPropertySetDefinition, objectNode);
}
}
if(objectNode.getChildCount() > 0)
{
/*
if(ifcObject.getClassName().toString().indexOf("IfcBuildingElementProxy") ==-1 && ifcObject.getClassName().toString().indexOf("IfcWallStandardCase") ==-1 && ifcObject.getClassName().toString().indexOf("IfcSpace") ==-1){
System.out.println("com.apstex.gui.ifc.views.propertiesview ---> PropertiesPanel.java ---> update() "+ifcObject.getClassName()+" "+ifcObject.getDescription()+" "+ifcObject.getGlobalId()+" "+ifcObject.getStepParameter(true));
}
*/
//System.out.println("===="+ifcObject.getClassName()+" objectNode "+objectNode.toString());
objectToNodeMap.put(ifcObject, objectNode);
root.addChild(objectNode);
}
}
else if(ifcObject instanceof IfcObject.Ifc4)
{
IfcObject.Ifc4 ifcObject4 = (IfcObject.Ifc4) ifcObject;
if(ifcObject4.getIsDefinedBy_Inverse() == null)
return;
PropertyNode objectNode = new PropertyNode(ifcObject);
for (IfcRelDefinesByProperties.Ifc4 ifcRelDefines : ifcObject4.getIsDefinedBy_Inverse())
{
IfcPropertySetDefinitionSelect IifcPropertySetDefinitionSelect1 = ifcRelDefines.getRelatingPropertyDefinition();
if(IifcPropertySetDefinitionSelect1 instanceof IfcPropertySetDefinition)
{
updateProperty((IfcPropertySetDefinition) IifcPropertySetDefinitionSelect1, objectNode);
}
else if(IifcPropertySetDefinitionSelect1 instanceof IfcPropertySetDefinitionSet)
{
for (IfcPropertySetDefinition def : (IfcPropertySetDefinitionSet.Ifc4) IifcPropertySetDefinitionSelect1)
{
updateProperty(def, objectNode);
}
}
}
if(objectNode.getChildCount() > 0)
{
objectToNodeMap.put(ifcObject, objectNode);
root.addChild(objectNode);
}
}
else
{
throw new IllegalArgumentException("Scheme not supported: "+ifcObject.getClass().getName());
}
}
id: 6232 name: "M_矩形-结构柱:400 x 600mm结构柱:371662" class: IfcColumn global id: "2pjGIuBpj3PPch3_QVbyx_" "M_矩形-结构柱:400 x 600mm结构柱:371662"
"371662" size: 7
===== IfcPropertySet
"Pset_ColumnCommon"
: "LoadBearing"
: "Reference"
: "IsExternal"
: "Slope"
===== IfcPropertySet
"其他"
: "族"
: "族与类型"
: "类别"
: "类型"
: "类型 ID"
===== IfcPropertySet
"尺寸标注"
: "体积"
: "长度"
: "面积"
===== IfcPropertySet
"标识数据"
: "注释"
===== IfcPropertySet
"结构"
: "启用分析模型"
: "钢筋保护层 - 其他面"
: "钢筋保护层 - 底面"
: "钢筋保护层 - 顶面"
===== IfcPropertySet
"阶段化"
: "创建的阶段"
===== IfcPropertySet
"限制条件"
: "底部偏移"
: "房间边界"
: "顶部偏移"
: "柱样式"
: "随轴网移动"
: "底部标高"
: "标高"
: "顶部标高"
: "柱定位标记"
IfcRelDefinesByProperties IfcPropertySetDefinitionSelect IfcPropertySetDefinition IfcPropertySetDefinitionSet的更多相关文章
- IFC是什么
IFC是用EXPRESS语言来描述的一种数据格式 IFC的物理文件 为了数据交换的目的,STEP标准Prat 21规定了正文文件的结构,认为一个STEP文件或一个Part 21文件包括两端:头段和数据 ...
- xBIM 格式之间转换
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...
- xBIM IFC 墙壁案例
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...
- xBIM 基本的模型操作
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...
- IFC文件解析
什么是IFC? EXPRESS语言与IFC体系 一.IFC 1.IFC简介 IFC是一个数据交换标准, 用于不同系统交换和共享数据.当需要多个软件协同完成任务时, 不同系统之间就会出现数据交换和共享的 ...
- 一堵墙IFC数据-wall.ifc
这是一面墙的IFC数据内容 =====================================文档内容======================================= ISO-1 ...
- xBIM 基础06 将STEP物理文件转换为XML
系列目录 [已更新最新开发文章,点击查看详细] 一.STEP标准简介 STEP,它是Standard for the Exchange of Product model data的缩写.产品数 ...
- xBIM 基础05 3D墙案例
系列目录 [已更新最新开发文章,点击查看详细] 使用编码的形式去生成一堵墙的模型需要做很多的工作. using System; using System.Collections.Generic ...
- xBIM 基础03 基本模型操作
系列目录 [已更新最新开发文章,点击查看详细] 本篇将使用基本的代码示例来表示如何使用xBIM.我们将介绍持久存储的四个基本功能,即 CRUD(创建,检索,更新和删除).以下示例通常适用于IF ...
随机推荐
- JSON【1】
http://repo1.maven.org/maven2/com/fasterxml/jackson/core/ JSON[jar]包下载 JSON是什么? 是一种轻量级的数据交换格式,完全独 ...
- ASP.NET MVC 入门5、View与ViewData
View建立时有MVC View Page 和 MVC View Content Page两种类型, 前者为标准View, 后者为可继承Master母版页的View. Asp.Net MVC 默认使用 ...
- 微信公众号开发--微信JS-SDK分享到朋友圈和分享给朋友
之前写过一篇使用微信JS-SDK来实现扫一扫功能的博客 微信公众号开发–微信JS-SDK扫一扫功能 在该博客里介绍了微信JS-SDK的基本用法,其中包括以下几个步骤 还详细介绍了通过config接口注 ...
- 在jQuery中使用自定义属性
在jquery中 自定义属性及值默认以下都是在class='acitve'对象中 进行自定义属性操作:1,自定义属性格式:data-xxxx2,获取该属性值: $('.active').data('x ...
- exam8.29
咕了好几篇后... 我终于开始重新写了 T1: 不会,没思路,暴搜还可能会(一开始我以为暴搜时间复杂度为$\Theta (mn ^ k)$) 于是码出了暴搜... 跑一遍$(4,4,5)$,然后... ...
- P2734 游戏 A Game
题目背景 有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的任意一端取一个数,取数后该数字被去掉并累加到本玩家的得分中 ...
- local模式运行spark-shell时报错 java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':
先前在local模式下,什么都不做修改直接运行./spark-shell 运行什么问题都没有,然后配置过在HADOOP yarn上运行,之后再在local模式下运行出现以下错误: java.lang. ...
- Js 之常见手势操作插件 Hammer.js
一.下载 链接:https://pan.baidu.com/s/1UbEtSbT1xcmdzzTCaWmW1A提取码:ldqy 二.案例 三.代码 <!DOCTYPE html> < ...
- 2019-12-11:kali linux工具Msfvenom 命令自动补全
msfvenom大家都不陌生,在我们使用MSF进行权限维持,内网渗透的时候都会用到,支持的语言的种类很多.大家都知道我们在使用msfvenom 的时候需要手动输入很多参数,这些参数需要记忆,或记在其它 ...
- select选中
比如<select class="selector"></select> 1.设置value为“全部“的项选中 复制代码代码如下: $(&quo ...