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

Update 2017-10-16 ~ Build Well R11 ~ better geometry handling #45

Closed theo-armour closed 6 years ago

theo-armour commented 6 years ago

@ladybug-tools/spiders

image Updates to Site Settings menu

Full Screen: Build Well R11

Another big update. Last time it was the menus, this time it was the geometry handling.

The whole package now has quite a few loose ends. The next few pint releases should begin to clean things up a bit

Coming up next is

Change Log

To do list items mostly dealt with

theo-armour commented 6 years ago

Build Well R11.1: L Shape beginning to work. Final version awaiting full spec.

theo-armour commented 6 years ago

BW R11.2

theo-armour commented 6 years ago

BW R11.3

image

from Open Studio

Still many issues

Plus still need to export manifold space (floor + ceiling ) and still can't rotate the building and export.

But we are moving along

bwelle commented 6 years ago

@theo-armour Great step forward! One thing to clarify...When I say ceiling height I mean floor height. We don't use suspended ceilings in pre-design. That would require another space for the plenum and way more simulation time. It's fine the way you have it. I just meant that apparently in the gbXML file, you call each interior floor surface "Ceiling" only once and put two adjacent spaces to it, above and below. It used to be that you needed to define a floor surface twice, once as a "floor" for a space and once as a "ceiling" for a space, with coordinates reversed. They've simplified now. I don't think there's a relation between which adjacent space you list first or second based on the coordinate ordering. But I will check just in case.

bwelle commented 6 years ago

@theo-armour

After the gbXML export is complete, and the new geometry methodology implemented specified in Issue #48, these are the remaining items I'd like to have working by the demo early November....

  1. Ortho view of Build Well (Anton can do this).

  2. We need a larger and bolder X,Y,Z axis in the corner of the grid with arrows large enough to be easily seen by the user. Wondering how to do this in Chrome. Might need your help with this one.

  3. I need the 2D ortho view to show text like "Length, Width, and Thickness". I will see if Anton can do this.

4.. I'd like to see 3D text for each major orientation (N,W,E,S) shown around the building, so the user would know when they rotate the building, at what point it changes from South for example to West. I'll see what Anton can for this, but probably related to the 3D axis issue with 3D text.

mdengusiak commented 6 years ago

@bwelle @theo-armour In this case when open studio can run without ShellData = rectangular geometry. Can you send me some sample of IDF I see if can use IDF instead of gbXML. I guess, we should call it OSgbXML as this is gbXML version that will only work for OpenStudio so it is not confusing. Please let me know what do you think.

bwelle commented 6 years ago

@mdengusiak Sure I'll send you IDF from sample file I sent before with rectangular geometry taken out. Adding more to gbXML is not critical path (unless that's the only way to give me surface orientation, which I do need). After the critical path demo, I'm be stoked to have other parts add like shell data so gbXML works for imports into simulation tools other than OS.

bwelle commented 6 years ago

@mdengusiak Here is the IDF generated from OS that ran...no shell geometry...

bwelle commented 6 years ago

@theo-armour How difficult would it be once ortho is enabled to have a view of just the main building with 2D zone labels on it like this?

mdengusiak commented 6 years ago

@bwelle thanks a lot, I will see if I could use any file type...without shell geometry...

theo-armour commented 6 years ago

@bwelle

How difficult would it be once ortho is enabled to have a view of just the main building with 2D zone labels on it like this?

I am thinking that gbXML Viewer should be the presentation tool and Build Well the creation tool. I look at the 'Real Time Report' currently in Build Well and feel it's not really a good direction for for a builder. And. in essence, it would mean duplicating much of gbXML viewer into Build Well - which would really slow things down.

Another thought - or just wondering out loud - is how is all this fitting in with the Micro Excel integration? Is the the sort of Flatland graphic that you need the sort of they should be building with their tools?

bwelle commented 6 years ago

@theo-armour So here' show it's working now...we just finished the initial integration of the Adjacent Building three.js code into the MicroExcel GUI. Basically because they use Angular, they took a sort of hybrid approach by using your three.js code to re-create the logic in JS/html?? if I remember correctly, but still use available functions in three.js from your code when applicable. Thus, somewhat of a hybrid. It will show both 3D interaction and 2D ortho interactive. We imagine basically the same approach for the Geometry shapes, and I have already updated specs to MicroExcel to use the new geometric parameters I provided to you that use the spreadsheet.

We only need the gbXML file export after the user is done with the GUI, spins up their runs, and we run a modified version of your code to take all the inputs and generate a gbXML file that we then use to call the OS API. We then store the gbXML for potential later use. The user in the GUI doesn't want to see all the HUD stuff and properties of surfaces when they hover over it, just raw geometry, then this current set up works fine. Only OS cares about all the jazz in gbXML.

So here's the exception, and the source of my above question...after the Geometry Page in the MicroExcel GUI, we get to a "Space Layout" page. As you can see, the user must assign space types to each zone, then the total area of each space type is computed. In order to know which space type to apply to what zone (for example they may want Office-Private facing South on Zone 1, they need a visual 2D ortho graphic with the zones labeled. I was hoping we could simply reinstantiate your code here for 2D ortho geometry, but somehow get the text identifiers added to each zone. If you have any innovative thoughts, I'm all ears. The dummy solution is to just put a stock image of the shape with zones numbered, however, if they don't see the relative areas of the zones, it's difficult for them to assign space types to them.

Note: The architect only has Building Area and Program to start with. So they know they want 40% office, 30% retail, and 30% storage. They will want to try to match this. This is just how they think. So the only way to do that since we auto-perimeter core zone is to see the relative sizes of the zones, the zone number associated with it, then select the space type from the pull down.