ladybug-tools / spider

:spider_web: 3D interactive analysis in your browser mostly written around the Three.js JavaScript library
http://www.ladybug.tools/spider
44 stars 15 forks source link

Wish List - error list and highlights for gbXML #16

Closed mdengusiak closed 6 years ago

mdengusiak commented 6 years ago

I really like your gbMXL viewer. Thanks a lot. I would like to add to your road map/ wish list one more item. For me oen that could help and transform way how we use gbXML.

Currently working on many international project 90% of my projects are done in BIM in fact Revit. Current revit gbXML generation engine is "not perfect", will be polite here even if I build perfectly model from scratch myself using very unrealistic simple rules. Would be amazing if we could allow your viewer to list also area where errors are. In step one just as simple geometry check.

Here is example. Simple building and there are two spaces that internal wall do not have two spaces assign to construction.

Maybe we could scan model and check all surfaces that are not external and highlight them in viewer if do not have two spaces assign etc... Also zones with duplicate ID and surfaces with Duplicate ID. We all could use this tool as model verification and then know exactly where to focus and what to fix. We could even send this directly to Autodesk, Bentley and ArchiCAD in case there is issue with their gbXML export engine.

Looking forward to hear what do you think , Michal

2017-09-22 16_50_37

correct

wrong

2017-09-22 16_50_15

Here we have Revit, TAS sam1

here is your viewer..but something does not look right 2017-09-23 21_23_11

theo-armour commented 6 years ago

@mdengusiak

Thank you for your kind thoughts.

Is there any way you can make a sample gbXML file with the error available?

I will respond in more detail later today regarding all your good thoughts.

Congratulations on being the first serious user that I know of. ;-)

Theo

mdengusiak commented 6 years ago

Sure... I am happy to help and support because having reliable, high quality gbXML is key for all next futuristic steps. We need to fix geometry first. Please see attached, ps. maybe we could find some way of fixing files as well,

2017-09-23-SAM_Live.zip

theo-armour commented 6 years ago

@mdengusiak

Cool! Thank you.

Fingers crossed I can fix the errors soon.

theo-armour commented 6 years ago

@mdengusiak

None of the gbXML files have images. So I had no idea of verifying whether the generated views were valid or not.

Looking at you image and th gbXML viewer output, it looks to me that the viewer is reversing one of the axis of the geometry. Here is what your model looks like when I reverse one of the axis. This should not be too difficult to fix.

image

May I use your file as the new default file that displays when you first load the script?

theo-armour commented 6 years ago

@mdengusiak

image

gbXML Reader is being rebuilt from scratch. Much good stuff already working - as you can see above. Will be smaller and faster with fewer errors - and code much easier to read. More details soon.

mdengusiak commented 6 years ago

@theo-armour I will not list here some ideas,

  1. Would be possible to have control over colors..is good to set this up in the beginning as later no one got time to chage.. We can easily see from drawing how each building element is interpreted.

Here is my proposal.. aRGB(alpha, red, green, blue) = (255, red, green, blue) = RGB, will be simpler to refer

External Wall =RGB (255, 180, 0) Ground Floor = RGB (128,64,0) Roof = RGB (128, 0, 0) Exposed Floor = RGB (64, 180, 255) Ground Wall = RGB (128,64,0) Glazed Wall = RGB (0, 0, 255) Window Glazed = RGB (0, 0, 255)

Internal Wall = RGB (0, 128, 0) Internal Core Wall =RGB (128, 0, 255) Internal Floor = RGB (128, 255, 255) Internal Ceiling = RGB (255, 128, 128)

Air Wall, Floor = RGB (255, 255, 0)

  1. Maybe we can control center of rotation Shift + dbl click outside building to set center location at centroid of the building when we select, space, surface and Shift + dbl click will set per space, surface

  2. dbl click to isolate space, dbl click outside building to bring a whole building view

  3. Show Compas rose image

  4. Mask facing surfaces option this will hide first surface so we can see inside image

image

mdengusiak commented 6 years ago

@theo-armour

Comments to viewer,

  1. Would be good to set on color per BuildingElement, as beove so it is easier to look and and understand,
  2. As in Engineering add units and Legend

image

mdengusiak commented 6 years ago

I think I better add all idea here in one place and will add each idea separate continues number

  1. move CAD id image

9.Could we select story and just examine each storey in isolation so we can all rooms. Would be good if we could select multiple stories image

theo-armour commented 6 years ago

Yes, let's keep this issue open for a while

units

See my reply elsewhere regarding units on menus. Units on the HUD is another task. So we have to move the HUD into it's own file - and make it each to have files with various units and languages

select and see

Many fun things can happen:

Selecting a storey from menu and highlighting on screen should be quite doable. Ditto selecting spaces and zones. or select an element and its space i highlighted.

Recent releases of Three,js have excellent sectioning capability. See: https://threejs.org/examples/#webgl_clipping_intersection

My favorite is this old demo: http://wikihouse.github.io/viewer-experiments/display-wikihouse-studio2/display-wikihouse-studio2-r5.html

Takes very long time to load and settle down.

Click on the 'Exploded View' slider

screenshot 2017-10-12 at 1 36 12 am