opensourceBIM / BIMserver

The open source BIMserver platform
GNU Affero General Public License v3.0
1.53k stars 606 forks source link

Create serializer with Density design #133

Closed berlotti closed 9 years ago

berlotti commented 9 years ago

Just because it is cool.... Please create a BIMserver serializer plugin with the tools from: http://app.raw.densitydesign.org/ For example: analyse an IFC model (example in attachement from https://twitter.com/StijnvanSchaijk/status/522775445025353728 b0fffk2iqaa52z3 b0fffveiyaayle8 b0fffwgiyaahea1

wcoebergh commented 9 years ago

What is the serializer supposed to do :)? Generate the data (csv, JSON) for the API to draw a graph? or the SVG graph itself

berlotti commented 9 years ago

The cool part would be to draw the graphs

lirmont commented 9 years ago

I've ported RAW to be a Java-based server-side library. You can check the code out here: https://github.com/lirmont/BIMserver/tree/master/Charting

IFC Treemap by Area

treemap - product by area

IFC Circle Packing by Area

circle packing - product by area

More plugins for charts can be added. All the charts in RAW have been ported or otherwise provided for. I just lack the industry knowledge to know what to go looking for. For example, if you know of something in IFC that is based over time with a value, that can be used to make a plugin to generate bump charts. If there's something in IFC that documents required building material (like cement) for a particular IfcProduct, that can go into a plugin to generate alluvial diagrams. Et cetera.

Other non-plugin examples might be to provide visualizations for BIMserver internals (like usage data over time).

Thanks.

berlotti commented 9 years ago

Would be nice to see the number of objects per classification. Every product in IFC can have a classification. Giving an overview of how many objects of what classification are in a model would be great.

Same for material. How many m2 or m3 meters of a material are in a model.

lirmont commented 9 years ago

For IFC classifications, something like one of the ones in the image?

It seems like building materials are ultimately specified with properties/sets of properties (which I know how to query for, but they are optional and arbitrary). I don't know that a chart can reliably pull from that. At the very least, none of the IFCs (which include some of the buildSMART common files) seem to have this information. If it's supposed to be inferred based on something else, I'll need direction. Thanks.

ifc class count

berlotti commented 9 years ago

Google on "ifc classification" for more info. E-mail me on leon.vanberlo@tno.nl for models with classification examples.

lirmont commented 9 years ago

Found one online with classifications.

a

b

lirmont commented 9 years ago

I've added material usage charts, and I think this issue is thoroughly solved. New issues can be made for exploring the idea of adding other specific charts. Thanks.

material-usage-same-scale

mrca commented 9 years ago

Hello @lirmont, I am trying out the bimserver, at the moment running locally from the jar installer in a Windows server. I would like to try your serializers, so far I have created a jar from the Charting folder using JDK and copied it to the plugins folder, the server starts fine (no complains) but the plugin is not showing up once the server is restarted. How do I get it to work? Do you have a working .jar to deploy on an installer BS? Thanks for the help and great job!

lirmont commented 9 years ago

@mrca, it's designed to work with the master branch of BIMserver's main repository. You'd compile everything into a JAR (similar to the one you're using now) by using the Builds project's "Build Jar" ANT build task in build.xml. I don't know what determines backwards compatibility; I just know it works for me if I use that task to create an expanding JAR or have Eclipse run LocalDevBimServerStarter (faster).

Anyway: http://darkabstraction.com/showOff/bim/bimserver-${version}-charting.jar

Thanks.

berlotti commented 9 years ago

Hi @lirmont. I am closing this issue indeed. Job well done and thank you so much! What I intended with the material question was an overall view of the materials in the whole model (so not per object). In this case a contracter would get an idea of the amount of steel, concrete, etc in a building.

Another interesting chart would be to get the data from the "LOD Checker" and visualise that (number of triangles per m3, number of objects per m3, number of attributes per object, etc). This would give an idea of the detailness (is that a word?) of a model.

From Stijn van Schaijk (the guy who made the original pictures that started this issue) I heard that he is interested in the visualisation of the progression over time. So number of objects over all revisions of a model in BIMserver.

Just see if you get inspired by this :-)