使用java开源包解析ifc并获取数据(树形结构)
java.io.File;import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.TreeMap;
import javax.swing.tree.DefaultMutableTreeNode;
import ifc2x3javatoolbox.demo.IfcSpatialStructure;
import ifc2x3javatoolbox.ifc2x3tc1.IfcBuildingStorey;
import ifc2x3javatoolbox.ifc2x3tc1.IfcWall;
import ifc2x3javatoolbox.ifcmodel.IfcModel;
public class Test {
public static void main(String[] args) throws Exception{
IfcModel ifcModel = new IfcModel();
//File file = new File("C:
\\Users\\new\\Desktop\\项目1.ifc");
File file = new File("C:
\\Users\\new\\Desktop\\项目2016-0002.ifc");
ifcModel.readStepFile(file);
DefaultMutableTreeNode rootTreeNode = new DefaultMutableTreeNode("no model loaded");
Enumeration<?> enumeration;
enumeration=rootTreeNode.depthFirstEnumeration();//以深度遍历节点
//enumeration=rootTreeNode.preorderEnumeration();//按前序遍历根节点
//enumeration=rootTreeNode.breadthFirstEnumeration();//以广度遍历节点
//enumeration=rootTreeNode.postorderEnumeration();//按后序遍历节点
//enumeration=rootTreeNode.children();//遍历该节点的所有子节点.
//知道了遍历方式,开始遍历.
while(enumeration.hasMoreElements()){
//遍历枚举对象.
//先定义一个节点变量.
DefaultMutableTreeNode node;
node=(DefaultMutableTreeNode) enumeration.nextElement();//将节点名称给node.
//根据级别输出占位符.
for(int l=0;l<node.getLevel();l++){
System.out.print("---");
}
//System.out.println(node.getUserObject()+" "+node.getUserObject().getClass().getName()+" "+node.getUserObject().getClass().getSimpleName());//输入节点标签.
System.out.println(node.getUserObject());
}
}
}
使用java开源包解析ifc并获取数据(树形结构)的更多相关文章
- java jar包解析:打包文件,引入文件
java jar包解析:打包文件,引入文件 cmd下: jar命令:package包打包 javac命令:普通类文件打包 Hello.java: package org.lxh.demo; publi ...
- (笔记)Mysql命令desc:获取数据表结构
desc命令用于获取数据表结构. desc命令格式: desc 表名;同样 show columns from 表名;也能获取数据表结构. 举例如下:mysql> desc MyCl ...
- 在java项目中怎样利用Dom4j解析XML文件获取数据
在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进 ...
- java 根据包名、目录名获取所有定义的类
/** * Scans all classes accessible from the context class loader which belong to the given package a ...
- Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)
前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...
- java工作流系统表单自动 获取数据
关键词:工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 bpm工作流系统 java工作流主流框架 自定义工作流引擎 表单设计器 流程设计器 什么是数据自动获 ...
- java之初识服务器跨域获取数据
当一个项目膨大到无法进行整理时,而作为新负责维护的团队是非常苦恼的.对于想实现两个系统的数据访问,使用Ajax数据请求方式获取jsonp格式的数据 需要有前端jquery库文件. 前端代码通过jque ...
- java下载excel,excel从数据库获取数据
<!-- poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId&g ...
- java中JSON串转换并获取数据
String strAllImp= " [{"id":2,"name":"还不错","count":3}]&q ...
随机推荐
- 【Window Service】关于Window Service的两三事
引言 Window Service通常用于寄宿WCF服务或者定时作业.下面记录一下它的用法. 创建 创建Window Service项目后,可以看到Program和Service1类.Program ...
- Spring mvc服务端消息推送(SSE技术)
SSE技术是基于单工通信模式,只是单纯的客户端向服务端发送请求,服务端不会主动发送给客户端.服务端采取的策略是抓住这个请求不放,等数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求 ...
- linux 处理端口
1.查看8080端口是否被占用: netstat -anp | grep 8080 2.查看占用8080端口的进程:fuser -v -n tcp 8080 3.杀死占用8080端口的进程: kill ...
- loj#6566. 月之都的密码
搜交互题搜到的... 竟然还有这么水的交互题,赶紧过了再说 交互库里有一个 $[1,n]$ 到 $[1,n]$ 的双射 你可以调用 $encode(k,a[])$ 询问左边的一个大小为 $k$ 的集合 ...
- WC2019 滚粗记
离开的时候一定是笑着离开的 不然就再也回不来了 广州二中,七月再见
- Redis的一些常用命令操作
五种 基本数据 类型 以及操作命令操作命令的网址:http://doc.redisfans.com/ 一.在可视化界面上打开命令窗口 二.打开后就是这样子 三.命令操作---查询.删除.字符串 1.k ...
- group by 和 聚合函数
1.在oracle中 select * from Table group by id 会报错. 会报不是group by 表达式.为什么一定不能是 * ,而必须是分组的列或者某个列的聚合函数. 在my ...
- 【LeetCode】005. Longest Palindromic Substring
Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...
- python之 centos6.7下 python 3.5.2 源码、Django-1.9 安装
在linux6.5中已经自带了python 2 .python 2.6 ,并且yum程序使用的就是自带的python,所以系统自带的python不要随意卸载否则可能导致yum用不了. 测试环境:cen ...
- Java-API:javax.servlet.http.HttpServletResponse
ylbtech-Java-API:javax.servlet.http.HttpServletResponse 1.返回顶部 1. javax.servlet.http Interface HttpS ...