import 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并获取数据(树形结构)的更多相关文章

  1. java jar包解析:打包文件,引入文件

    java jar包解析:打包文件,引入文件 cmd下: jar命令:package包打包 javac命令:普通类文件打包 Hello.java: package org.lxh.demo; publi ...

  2. (笔记)Mysql命令desc:获取数据表结构

    desc命令用于获取数据表结构. desc命令格式:    desc 表名;同样    show columns from 表名;也能获取数据表结构. 举例如下:mysql> desc MyCl ...

  3. 在java项目中怎样利用Dom4j解析XML文件获取数据

    在曾经的学习.net时常常会遇到利用配置文件来解决项目中一些须要常常变换的数据.比方数据库的连接字符串儿等.这个时候在读取配置文件的时候.我们一般会用到一个雷configuration,通过这个类来进 ...

  4. java 根据包名、目录名获取所有定义的类

    /** * Scans all classes accessible from the context class loader which belong to the given package a ...

  5. Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)

    前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...

  6. java工作流系统表单自动 获取数据

    关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎 表单设计器  流程设计器 什么是数据自动获 ...

  7. java之初识服务器跨域获取数据

    当一个项目膨大到无法进行整理时,而作为新负责维护的团队是非常苦恼的.对于想实现两个系统的数据访问,使用Ajax数据请求方式获取jsonp格式的数据 需要有前端jquery库文件. 前端代码通过jque ...

  8. java下载excel,excel从数据库获取数据

    <!-- poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId&g ...

  9. java中JSON串转换并获取数据

    String strAllImp= " [{"id":2,"name":"还不错","count":3}]&q ...

随机推荐

  1. 使用Fluentd + MongoDB构建实时日志收集系统

    Fluentd是一个日志收集系统,它的特点在于其各部分均是可定制化的,你可以通过简单的配置,将日志收集到不同的地方. 目前开源社区已经贡献了下面一些存储插件:MongoDB, Redis, Couch ...

  2. JS中的“use strict” 严格模式

    1.介绍严格模式 2.严格模式影响范围 变量:  var.delete.变量关键字 对象: 只读属性. 对象字面量属性重复申明 函数:参数重名.arguments对象.申明 其他:this.eval. ...

  3. 伯乐在线文章URL

    一段代码,可以跑出所有文章的url # encoding: utf-8 import requests from bs4 import BeautifulSoup base_url = 'http:/ ...

  4. 【Prism】MEF版EventAggregation

    引言 第三弹是EventAggregation Demo的改造. EventAggregation  EventAggregation事件聚集是Prism框架中的通信实现.它可以在松散的模块或者窗体之 ...

  5. 设置cookie的保存时间 下一篇

    设置cookie的保存时间,通过cookie的expires性质指定一个终止时间就可以了.也就是说,你在设置cookie的时候,你的cookie字串要像下面这样组合: var d= new Date( ...

  6. KVM- 存储池配置

    1.创建基于文件夹的存储池(目录) [root@kvm_1 ~]# mkdir -p /data/vmfs 2.定义存储池与其目录 [root@kvm_1 ~]# virsh pool-define- ...

  7. (转)关于Linux核心转储文件 core dump

    所谓核心转储文件是内含进程终止时内存映像的一个文件.产生条件:特定的信号会引发进程创建一个核心转储文件并终止运行. 包括哪些特定信号,请参见http://man7.org/linux/man-page ...

  8. poj3061 Subsequence&&poj3320 Jessica's Reading Problem(尺取法)

    这两道题都是用的尺取法.尺取法是<挑战程序设计竞赛>里讲的一种常用技巧. 就是O(n)的扫一遍数组,扫完了答案也就出来了,这过程中要求问题具有这样的性质:头指针向前走(s++)以后,尾指针 ...

  9. 在Arcmap中加载互联网地图资源的4种方法(转载)

    前一段时间想在Arcmap中打开互联网地图中的地图数据,如影像数据.基础地图数据等,经过简单研究目前总结了四种方法,整理下与大家分享,有些内容可能理解有误,希望大家多多指教.4种方法如下: a)    ...

  10. dbca 快速健建库

    [oracle@e0946877f272 ~]$ dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/tem ...