Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating a free open source gbXML file viewer #3

Open
theo-armour opened this issue Sep 9, 2017 · 7 comments
Open

Creating a free open source gbXML file viewer #3

theo-armour opened this issue Sep 9, 2017 · 7 comments

Comments

@theo-armour
Copy link
Member

image
Screenshot of 'read gbxml polyloop' displaying the gbXMLStandard.xml

@macumber suggested I post here to let you know that I have started an effort to build a free, open gbXML data file viewer that displays models in 3D in your browser.

The reason I have been able to build these scripts is because of the schema and the sample data files in this repository. I am very appreciative of this material and the many efforts behind their creation. Thank you.

Regarding my effort, there is currently a read me file and two live demo scripts here:

Ladybug Tools > Spider > Read gbXML Read Me

Ladybug Tools > Spider > Read gbXML PolyLoop

Ladybug Tools > Spider > Read gbXML Rectangular Geometry

Note issue with floor slabs. ;-)

All are at an early investigative stage. The gbXML has been quite easy to parse so far and so I expect a fair amount of improvements before too long.

Here's the current mission and vision:

Mission

  • View gbXML files in 3D in your browser
  • Full zoom, pan and rotate
  • Run on computer, tablet and phone
  • Adjust a wide variety of viewing parameters
  • View the full gamut of data typically available in a gbXML file
  • Open files via URL or open file dialog
  • All free and open source hosted on GitHub
  • All easy-peasy plain-vanilla JavaScript + Three.js

Vision

  • Helping students, clients and non-AEC pros gain access to BIM data easily, quickly and freely

My questions:

  • Are other people working on projects like this?
  • Is there anybody I can or should collaborate with
  • Are there any other places on the web with sample files for testing?
  • Are there any aspects or particular usages that I should prioritize in the development timeline? Does anybody need anything soon.
  • Is Lodybug.Tools the best place to host the scripts? Or is there a place with a selection of viewers that these scripts might well fit together well.

Anyway, I hope you enjoy this effort. I look forward to any comments and suggestions. It's probably not worthwhile to report bugs yet. My list issues is already long enough for the moment. I think the main thing to discuss is cool ways of collaborating and interesting ways of visualizing the data.

Bye for now...

Theo

@theo-armour
Copy link
Member Author

theo-armour commented Sep 11, 2017

@StephenRoth2014 @JoeLago @chiensiTB

image

read gbxml polyloop r2

Source on GitHub

Change Log

  • R2
  • Handles non-orthogonal polyloops fairly well
  • Reports various stats
  • Reports the number of polyloops drawn as lines only
    • Mostly because number of vertices does not equal 4
  • Occasional mis-rotation of polyloops
    Made some progress. Code can use a lot of clean up.

@chiensiTB
Copy link
Member

chiensiTB commented Sep 11, 2017 via email

@theo-armour
Copy link
Member Author

@chiensiTB

Thank you for your kind thoughts. Your wish list is my command line.

an extension of VA3C from the Hackathon?

Were you there?

In any case, yes you connected well, a mental extension if not a code extension. But also an extension of ideas I had while I was working at Autodesk designing AutoCAD and more recently while watching Mr.doob: letting code and ideas float freely may generate jobs and salaries for uncountable numbers of peeps.

Would love to contribute to this project. I have many, many good ideas

Yay!

So, it seems to me, that a prime thing that needs to happen is to know at any moment in gbXML, figuratively, who you are and what it's about. In other words take the following doc and use its snippets to inform you - while you are in the viewer - what you are looking at.:

https://github.com/chiensiTB/gbXMLValidator/wiki/What-is-gbXML

But another thing to think about is whether the code is hosted on GreenBuildingXML or on Ladybug.tools? Should GreenBuildingXML be purely about the schema and and keeping the format pure and/or should it take a role in taking building simulations into new places?

This is a cool start.

You said the magic words. Is it OK if the code name for the next release is not a boring old number thing? Is it OK is if has 'harriman' is part of the file name?

Theo

PS There should have been another update tonight, but I went out with the boys instead. So it goes.

@StephenRoth2014
Copy link
Member

This is great. We've been wanting to do this for a while, and this is a very good start. I am trying to get more sample gbXML files. Thank you!

@theo-armour
Copy link
Member Author

@StephenRoth2014

All cool. I'm pleased you are pleased.

I should have a new release up by end of today /tomorrow. Playing with the text data and turning it into 3D is too much fun!

@theo-armour
Copy link
Member Author

@chiensiTB @StephenRoth2014 @macumber

image

gbXML viewer harriman

  • Add menuing system
    • Separate UI & Three.js
  • Add heads-up data readout
    • Mouse over any geometry
    • Display BIM data near cursor
  • Continued text file viewer fail
    • read xml data/display as text

Coming up next: cleaning up the code that turns gbJSON into Three.meshes. When that's done, we can start adding features.

@theo-armour
Copy link
Member Author

Update ~ 2017-09-13 ~ gbXML viewer 'carmel'

image

@macumber @StephenRoth2014 @chiensiTB

For the time being I will be documenting updates to the gbXML Viewer where it is currently hosted - in the Ladybug Tools repositories (see link at top of page) - and just supplying a heads-up here.

Here's the interesting question: where should this project live?

I note that there are several gbXML validators hosted on https://github.com/GreenBuildingXML. Should there also be 3D visualizers here. And, if so, at what stage of readiness should they be before being accepted?

My thought is that that the more things happening on this site and the greater the activity then the greater the spread of gbXML as a standard. If things ever get too busy here then new GitHub organizations can be formed so to spread the load.

So do you have any thoughts as to where you think the gbXML project should be hosted?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants