Tuesday, 16 December 2014

The Poppy - Shrine of Remembrance Melbourne

Here's a stunning success of the Grasshopper to Analysis/BIM workflows with the assistance of the Geometry Gym tools.

John Noel of Irwin Consult in Melbourne emailed me earlier today with some images of a stunning feature recently added to the Melbourne Shrine of Remembrance.

Here's some images by John Gollings which are featured on the Irwin website and this article.

I look forward to visiting this in my pending return to Victoria.  You can read more about the details of this project at the  ARM Architecture website and Irwin Consult website.  Grasshopper, GSA and Revit were involved in the design and documentation of this stunning feature.

Congratulations to all involved.  If you've work that's published/built and it involved the Geometry Gym tools, please let me know and I will be glad to promote it on the blog.

Wednesday, 10 December 2014

IfcScript Introduction

It's an honour to have the work I've done as an early adopter of IFC4 recognized by Building Smart International.

With the library of c# code that I have for importing and exporting IFC4, I've been working on a project for Building Smart to generate sample IFC4 files.  These are small unit tests that highlight a particular aspect (or comparison) of the schema, concentrating on new features and aspects of IFC4.  This includes shape representations such as nurbs and triangulated face sets, cardinal points, reinforcing and new standard case classes.  Now that the bulk of the project has been set, it should be easy to add many more.

Here's an introduction to the project.

It's using my c# library as a means to generate and export the IFC files, but the scripting aspect of it is opensource on github, you can access it here.  https://github.com/BuildingSMART/IfcScript

What's nice with the scripting approach to generating the examples is that examples can be kept in a consistent style, with common changes swept through them.  The scripts can also be built across different schema (including IFC2x3, IFC4 and IFC4 addendum 1) although I still need to enable some exceptions to be thrown when invalid classes are called on.

It's been a good opportunity to polish my library as an API, and it also serves as some good examples of how to use my c# library as an API.

If you'd like to get involved or test this, please don't hesitate to contact me.  And if you have more requests/suggestions for further examples, then do let Building Smart or myself know.

Tuesday, 25 November 2014

Publishing Geometry Gym Samples to GitHub

I've been asked many times about a manual for the Geometry Gym plugins, particularly Grasshopper to Revit.  I've hesitated a few times.  The plugins are still evolving fairly rapidly and I've been reluctant to spend time on something that might quickly be irrelevant.

I also find this post by David quite relevant.  And there's also the question about what format help documentation should be in and how it could be contributed to by a wider user group.

My opinion has been that the best format for user guidance should be example scripts (which is why I've populated my blog with lots of short examples.  But this can be hard to search and find, and maintaining lots of files takes some effort.

I've recently been using Git (and in particular GitHub) more and more when working with others on projects (and for my own code management).  So I'm going to try hosting an example script of the Grasshopper to Revit functionality there.

If I save it as a .ghx (which is xml) that means it can be versioned and tracked, branched and a wider group of users can participate in it (even if it's just subscribing to updates).  I do intend to also note upcoming features etc in the definitions.

I've posted it here.
If you're not so familiar with GIT, then using the github windows application should make things much easier.

Initially it's just Grasshopper to Revit, but I do plan to add other examples such as the various structural analysis software.  I look forward to hearing feedback and suggestions from those that try it.

Thursday, 13 November 2014

Karamba to GSA and Robot

I've advanced on the first version of the Karamba exporter, and been testing it with Oasys GSA and Autodesk Robot (which were the most popular early requests).  If you'd like to test this with other software, let me know.

Here's an explanation and demonstration.

And here's some Karamba files to test it on.




I'm still to implement releases and other attributes, but if you need them please let me know and I'll prioritize the development of them.

Tuesday, 11 November 2014

Karamba Exporter to GSA, Robot, SAP2000, Sofistik etc

I'm seeking out Karamba users (and potential users) for a new workflow for this grasshopper plugin.  For anyone that doesn't know Karamba, it's a structural analysis plugin for Grasshopper.  GeometryGym has developed various plugins to allow generation of structural analysis data within Grasshopper, but then has the overhead of having to export the data out of Grasshopper to the external software, and then import back the results.

Karamba works as a solver entirely within Grasshopper, and should perform faster as a result.  But more traditional software has advantages of being proven and trusted, and often project requirements mandate particular software or certifications for detailed design.  At present, many users are generating the Karamba model for preliminary design, but then rebuilding the model using Geometry Gym equivalent components to export the model out for refined analysis or advanced assessment.

I've been discussing with the Karamba developer Clemens (and advancing on) a utility to extract the Karamba Structural Analysis model so that it could be verified or advanced in alternative commercial structural analysis software.  I know that Karamba can presently export to RSTAB, but I'm working on enabling this further for a wider range of software.  The exporter for Karamba would save users on generating, maintaining and coordinating multiple components if desired to use the data downstream.
At least initially the primary options are the software that I have developed plugins for.  This includes Oasys GSA, Autodesk Robot, SAP2000, Sofistik, Spacegass, Strand7/Straus7 and hopefully shortly SCIA.  The way this exporter would work also means that any structural analysis software recognizing the structural analysis aspects of IFC could also be utilized.

This would permit verification of the model results, and often projects have mandates on using specific (often certified) software for detailed design calculations.
If you're interested in participating in the early testing and advancing of this feature, please get in touch.

Also refer to this forum post for discussion and details.


Wednesday, 5 November 2014

Making Grasshopper to Revit Easier

I was very fortunate last week to be able to attend the McNeel event for Rhino Resellers and Developers.  It was an amazing event and fantastic to be able to meet in person so many of the Rhino3d community in person for the first time.  It was also great to see many others that I have met before again.  I'd like to publically thank McNeel Europe for arranging such a wonderful meeting, and can only hope it happens again in the near future.

I took the opportunity during this very brief venture back to Europe to meet with a couple of clients (apologies to those that I missed) and the feedback had one common thread.  The IFC functionality for OpenBIM export from Grasshopper has great functionality, but was confusing to new (and experienced) users as to how to put together the components.

Given that the vast majority of the users are transferring Grasshopper to Revit, I've decided to develop a new front end for the plugin using Revit phrases, terms, conventions and relationships.  This should make it a lot more intuitive for new and experienced users alike.  In the back, it's still doing the same as the existing components.  It's just I can condense 2 or 3 IFC components into 1 specific revit version, and a lot of the "optional" or additional features of IFC that don't really relate to Revit can be masked.

Here's a screen capture of the initial components I've got working in the past 3 days.  A lot more should quickly follow.

If you'd like to be involved in the early testing, or request particular functionality, then please get in touch.  Any feedback welcome.  Initially these components will be included into the existing IFC plugin, but I plan to spin it out into it's own file some time soon.

It should be noted that the IFC generated can still potentially be used with other software (although I advise to use IFC4 for it's new features and this has barely been implemented by anyone).  I will also consider other application specific components if there is sufficient demand.

One other strong theme of the meeting was Rhino for Mac, which will be available "soon".  After the session by Steve Baer about developing plugins for Rhino Mac, we sat and tested with a compiled version of the IFC importer.  It loaded and the commands were available (but not quite executing with some user input not collected) but we can be confident it might be something users can start testing very "soon" (even if not officially supported initially).

Friday, 17 October 2014

Getting Geometry into Revit

I've been having a few requests recently about getting Rhino/Grasshopper geometry into Revit, and haven't really posted many examples of what is (and isn't) possible so thought I'd add some new examples to the blog.

Some of this functionality has been available a while, but I've refined it recently so update rhino and revit plugins from http://www.geometrygym.com/downloads

With the release of 2015, Revit has enabled some more generic solid generating functionality.
At the moment it enables plane faceted objects (with straight edges) and extrusions.  I've been putting forward requests for further improvements (including masking of internal edges with co-planar faces adjacent) and if more users do so, the faster we'll see this materialize.

Grasshopper is a fantastic tool for projects such as sports stadia, so here's a slightly simplistic example of generating some seating tiers.  You can use the IfcFacetedBrep shape representation with a categorization of an IfcSlab object (as a floor).  Here's an image of the resulting Revit import.  Note that it's not really possible to edit the object downstream (although I am working on improvements for updating the model).

It would also be really great to be able to fix walls to the underside of the objects.  To facilitate the ability to do something similar, it is possible to generate a revit extruded roof (subject to various constraints on what revit can do with this).  You'll find an example of this on the inner ledge.  Just note when using a stepped shape, you need to be careful that revit doesn't have thick roof types loaded in the project/template (but you need at least one).  Revit has a bug that crashes if the roof is generated with a proportionally thick type.  You can test with this blank project (download from here).  Here's the Grasshopper file (Rhino document units should be mm) and here's the resulting IFC file.

So this works for faceted objects with plane faces and straight edges.  If your shapes don't meet this criteria, one of the few options remaining for the time being is to import a SAT (or DWG) into a generic model family.  My tools can automate this process, allowing automation of categorization and assignment of parameters/properties.

Here's an example file to demonstrate this.  Rhino  Grasshopper (Grasshopper model with new Revit Components)  Note you can right click on the ggBake component and set the .SAT generation of IfcRepresentationMaps.  Also make sure you're using IFC4 if nurbs are applicable.  An IfcRepresentationMap is similar to a block in Rhino or a family symbol in Revit, ie a master geometry that is defined in the project/model as transformed instances.  Here's the resulting IFC file.

If you have suggestions for improvements, please let me know (enabling more categorization is on my todo list).  The more that also contact Autodesk asking for more and more functionality to generate geometric objects the more likely we'll see earlier implementations of improvements.

Wednesday, 8 October 2014

Mediaconstruct event in Paris

I'm heading back to Europe for the 2014 Rhino Meeting later this month, and as part of this brief trip will visit Paris.

Mediaconstruct and RhinoForYou have arranged for a presentation of the OpenBIM workflows (including Rhino, Grasshopper, Revit, Tekla, Navisworks, Archicad and various structural analysis software etc etc) that I have been developing.

It's going to be held Thursday the 23rd October at 9:30am at Salle Victor Baltard, CSTB, 4 avenue du Recteur PoincarĂ©, 75016 Paris   (Map)

More details here. http://www.rhino4you.com/1/jon_mirtschin_a_paris_1744320.html

If you're interested in IFC4 or Grasshopper BIM, would be great to see you there.

Wednesday, 17 September 2014

Revit Shaft Openings

I was reminded by a user request today of a feature I added to the Grasshopper IFC plugin to generate shaft openings in Revit.

Note this is one of the few areas where IFC doesn't really define an equivalent to Revit, where an opening can cut any object that intersects it's location.  So the IFC this generates is not compliant with the schema, and won't be recognized by any other IFC software other than my revit importer.

Here's a sample file and image to demonstrate the use of it.

Friday, 22 August 2014

Parametric IFC

This example is a little crude, but hopefully it starts to demonstrate how powerful IFC might be if it was implemented to it's existing capability.

Here's a video demonstration which was part of my presentation at the Revit Technology Conference earlier in the year in Melbourne.  Sorry for the audio quality.  It demonstrates round tripping a revit family through IFC, preserving types and dimensional constraints.  At this point in time I've only implemented specific attributes for this prototype, but certainly I am keen to advance this much further if the demand is there.

The potential is huge.  Revit content could be converted intelligently into content for ArchiCAD, Digital Project, AECOSIM etc etc and vice versa.  Content could potentially be downgraded for specific versions of software.

If you've suggestions or feedback, I look forward to hearing it.  You can download the Revit plugin from http://www.geometrygym.com/downloads  Here's the Revit Family and resulting IFC file.

Friday, 18 July 2014

Building Smart International Award

Any GeomGym users out there using the IFC tools (and of course anyone using OpenBIM) are encouraged to enter into this award scheme from Building Smart International.
More details at http://www.buildingsmart.org/bsi-award-2014

Thursday, 10 April 2014

gbXML for Rhino/Grasshopper

It's nice to be able to announce a new plugin I've been developing for Rhino v5 and Grasshopper to import/export Green Building XML ( gbXML) files.  Lots of aspects to implement and improve on, but I've advanced to a state where more public feedback and suggestions will help inform and shape this tool.

In rhino, the functionality is initially to import gbXML.  The identified data is arranged into a hierarchical layer with color contouring by zones and construction types.  There's also a tree viewer to inspect the gbXML entities and relationships.  If you select a node in the tree viewer, the associated rhino object will be selected.  Try rhino commands ggImportgbXML and gggbXMLTreeView

In Grasshopper, there are components to generate gbXML data in accordance with the schema.  Like the IFC plugin, this can be a bit intimidating to start, but should quite quickly become familiar.  To write out to file, for this plugin you select the gbXML generating component and bake this with conventional Grasshopper Bake icon.  Here's a sample grasshopper file generating some walls and openings.

As well as generating gbXML data, it is possible to interrogate, amend (and modify) existing gbXML files generated from other software.  The modifying components are hidden at this stage.  Grasshopper primarily duplicates data (with appropriate modifications) rather than modifying existing.  This makes data expiry (such as undo) quite difficult to implement which I still need to consider.  If you wish to access let me know.  Sample grasshopper file.

Thanks to Michal Dengusiak who has been instrumental in testing (and shaping) the tools thus far.  He's been testing the resulting data in TAS, who have also been generous in validating the generated gbXML and advising on technical aspects.  I look forward to getting feedback from other users interested in this.

Sunday, 9 February 2014

BIMDayOut IFC4: The Shape of Things to Come

The BIM Day Out in Perth last year was a fantastic event, attracting presenters and attendees of a wide spectrum within the AEC industry.

Having been caught in the rain and cold (not really expected in Perth) earlier that week, my voice nearly disappeared (apologies, but the audio captured isn't too bad).

The presentation above primarily demonstrates the utilization of OpenBIM IFC to turn Grasshopper into BIM authoring software (and then receiving and utilizing the models in other software such as Revit or Tekla).

It aims to motivate software users (of all BIM enabled software) to demand more of the IFC implementation of their software, and hopefully shows a capability of IFC to convey intelligent models capable to use downstream in other software.

Congratulations and thanks to BIM Day Out committee for their work in arranging BIM Day Out, looking forward to many more of these events in the near future.