Galactic Pumpkraft

3 best things I saw this weekend:

  • Marvel Comics Dazzler issue #11, featuring this image of Galactus, godlike cosmic traveler, devourer of planets:

Loungin' like a boss in his fine post modern laz-e-boy.  A lesson to all you would be world dominators to occasionally kick back and take it easy.

  • 11 year old Green-Octopus-Spider-man's Minecraft stuff made real via jMc2Obj to Meshmixer to Repetier to Printrbot.
  • Revit Structural Framing and Floor pumpkin sketches via Dynamo (git yer red-hot pumpkin maker component on the Package Manager now)
15 days to Pumpkin!  What better way to celebrate Invasion Day than with digital pumpkin carving?


6th Annual Parametric Pumpkin Carving

(Four months later . . .)
Sometimes the bottom falls out . . . the buildz-mobile catches a flat, the water heater explodes, some joker hides a bunch of fresh bananas in your cape just before you unleash the flying monkeys on disloyal minions . . . what have you.

Well, that isn't what happened.  We at Buildz International Inc, LLC, have just been real damn busy.  And neglectful.  Sorry about that, and thank you for your concerned letters. (BTW, "riddance" has 2 d's, you illiterate cretin).  We pledge to do better starting today.

And so, to kickstart the old beast back into production, we happily announce the 6th Annual Parametric Pumpkin Carving! Lubricate your fuse deposition modelers, fuse your model lubricants, and start making hierarchically engraved vegetables!

Prizes, as always, will be awarded for The Goodest, The Baddest, and The Mostest Parametric.

Remember that we at Buildz Open Sores Software and Vegetable Perforations LLP are platform agnostic. Submit entries from whatever tools you are comfortable with: Flood, Lego, LittleBits, abacus, Abaqus, all are welcome. Our factory judges are not judgy (well, we are, but we do it behind your back).

Along with receiving bragging rights, the winners will have their work showcased on these pages to the tens of readers of Buildz, and receive a valuable piece of Buildz schwag. Entries must be received by 12 noon EST Oct 28. Winners will be announced at midnight on Halloween.

So pour yourself a Dynamo (actually, don't), boot up your AKAT 1, and make a web-gl viewable, json based, gluten-free, smart-watch compatible Jack O'Lantern. Post entries to zachkron@gmail.com, at least a screenshot, but feel free to send models, journals, parameters, videos, scripts, whatever, modeled in whatever you like. If you have some huge-ass file, please send a link or let us know and we can work out some kind of upload.

A parting allegory/quiz:
A freshly poured cold beer is put on the counter just before the phone rings. When the pourer comes back and it's warm, (BTW, this is known as Alchohol Neglect) the pourer must decide whether to drink this flat, warm beer or pour it out and start a new one.
What is the proper course of action?


I love me a Parametric Bridge

I have a crap-ton of other stuff to do, and it's sunny outside, but I know that you, dear reader, really really need  a slightly impractical bridge to get you into the weekend.  So here is my triumphant (and somewhat muttering) return to screencasting: setting out geometry for a fancy pedestrian bridge, from scratch, in Dynamo.

Download the .dyn file from here.

I will follow this up with clothing this in Revit structural framing, and flexing.


Dynamo 0.6.3 Release and 0.7.0 Alpha

New Stuff!  New Website!  New Awesome!

It's been a while since the Dynamo team did a new official release, and there are plenty of new toys for everyone to use. The first bag of tricks is Dynamo 0.6.3, an incremental improvement to the 0.6.2 tools you know and love. There are, of course, a number of stability improvements, new nodes, access to more Revit functionalities and a richer computation environment. There's also a fresh, cutting edge release, 0.7.0, which takes a giant step into the future of Dynamo. This alpha release represents a significant refactor of the underlying code, a vast expansion of the geometric capabilities of Dynamo, and a rich new set of tools for scripting. 0.6 and 0.7 can each be installed side by side, so feel free to continue to use 0.6.3 in your more production oriented work, and install 0.7 to understand where Dynamo is headed.  Both releases also feature a stand alone application, allowing you to experience Dynamo without running Vasari or Revit.  0.6.3 Stand-alone has access to all the logic, list, and general computing aspects of Dynamo, and 0.7.0 Stand-Alone also features a powerful and versatile geometric engine.

And there is also a new website and home base!  This site is both a distribution point for free/open software as well as a hub for information and discussion around Design Computation, Architecture, Analysis, Fabrication, Construction, and Building Information Modeling.  The Dynamo team prides itself on being able to directly talk to designers about issues and interests that affect their work on a day to day level, and hopes that this site can nurture this kind of discussion.  The site itself is still new and relatively untested, so please be patient while the kinks get worked out of the system. There will be many more details and descriptions to follow. Please bookmark this page and visit frequently, as Dynamo is evolving rapidly.

Release notes:

0.6.3 Some noteworthy aspects, but please check the installer ReadMe for a more full rundown.
  • Dynamo Sandbox: Explore Dynamo without running Revit or Vasari (see your Start Menu)
  • Application level settings for Imperial and Metric Units:  We hear that most of the world does not use Imperial Units, and we'd like to accommodate this.  Please check out this post for a more in-depth look at our Units tools.  http://dynamobim.org/units-in-0-6-3/
  • Daylighting with cloud Rendering service sample files:  New analysis workflows available.  You will need an Autodesk ID to use these services, but you can get access to this when you sign up for membership on this website.
  • Set Parameters Node - set writable parameters for any Revit Element, (not restricted to loaded Families anymore)
  • Add name to reference plane node.
  • Convert to Unitized measures (Length, Area, Volume)
  • Explode Node (Solids to Faces, Faces to Edges)
  • Solids from Elements handles lists
  • Select All Elements of Type and Category Nodes
  • Wall Nodes element IDs persist after changes
  • Area Node
  • Volume Measure node
  • Length from Curve Node
  • Topography from Points and Points from Topography Nodes
  • Last of List Node
  • Filter by Boolean Mask
  • Group by Key Node
  • Is Null node (for filtering out null values)
  • Explode Node (replaces Explode Solid)
  • Python nodes now can take node inputs as functions
  • Shuffle List Node
  • Select All Elements of Category Nodes
  • Divided Path Node updates
  • XYZs from Divided path
  • Treat curves and edges the same for intersection operations
  • Preserve Wall Elements on change
  • Improvements to node Help descriptions
  • Toolbar shortcuts
  • Improvements to Preview bubble display (fades, compact error messages, etc)
0.7.0 This is an alpha quality release which represents a significant refactoring of the underlying code. There are some notable (temporary) restrictions to the functionality that is available in 0.6.3, and major enhancements to others. To allow users to continue work with 0.6.3 while exploring 0.7.0, this release can be installed side by side with older releases. Please jump in and try it out.  Let us know what you like and what you hate.  The Dynamo team is counting on your feedback. New
  • Geometry tools: Dynamo now has a much more extensive collection of geometric operations that are available in stand alone mode as well as when running in Revit.  Stay tuned for more posts about these tools and how to enjoy them
  • Scripting interface: Dynamo now allows for direct input of DesignScript code into CodeBlock nodes. Please see this document for learning DesignScript syntax and capabilities: http://designscript.org/manual.pdf and watch for more blog posts and forum commentary on how to make the most to these tools.
Temporarily Unavailable Functionality from 0.6.3 (coming back soon!)
  • Upgrade: 0.6 Dynamo files cannot be opened in 0.7.0. We are actively working on the upgrade mechanism
  • Package Manager: currently disabled until migration is working
  • Recursion in custom nodes
  • Revit Element explosion to geometry. Currently users cannot generically extract geometric information from Revit elements. However, there are different tools that, on a per element basis, can extract geometric data. For instance, After selecting a curve from Revit, a user can look in Revit>Element>CurveElement>Query>Curve to extract the geometry. Similarly, a Family Instance can be queried for such items as faces, curves, location, etc.
  • Revit Elements created in a Dynamo session are not remembered in subsequent sessions. New elements will be created when files are re-opened.
Known Problem Areas
  • To have both 0.7.0 and 0.6.3 installed, you must install 0.7.0 AFTER 0.6.3
  • You can only load 0.7.0 OR 0.6.3 in a single Revit session. You must close Revit before changing from one to the other.
  • Visualization can be slow with lots of curvy stuff
  • Manually Deleting and recreating Revit elements created by Dynamo can cause element duplication or failure to be re-created when the graph is re-run,
  • Search tags are in progress. If you don't find what you are looking for via search, try browsing.


Happy Valentine's Day

Solid Geometry Valentines, now available on the Package Manager:

Now get out of the office!


Dynamo Stadium

We've done a few Dynamo demo's using a Stadium dataset that Nate Miller started back this past fall and we have been tinkering with it ever since.  It's a work in progress, and I'm sure we will keep refining it, but there are a number of nice things going on that folks can learn from now.  You can see the file in action during the first few minutes of this presentation.

Download the Datasets.

Riser layout:  there are some well tested methods for laying out stadium seating, a recursive method that starts with the person sitting in the front row, with each successive riser placed such that the next person can see over the head of the person in front. In this Dynamo file, it is handled with a tiny Python node.

Placing families:  There is a boolean toggle to turn Revit family creation on and off.  This is helpful if you are looking to experiment with the general structure of the Stadium while not having to commit to the performance hit of Revit family creation.

Visualization of downstream effects:  There are a number of input parameters that are nice to see the isolated effects of.  We placed a few watch 3d  nodes so that you can monkey with the basic layout parameters and see the effects further downstream on specific structures:  Risers, Trusses, Enclosure.

You can run the definition in either a mass.rfa, or in a regular .rvt environment, but you need to have the Truss, Riser, and Panel families loaded, as well as specify a sun setting for the file.  Color Overrides will only work in the rvt environment. There is also a "custom node" in this definition that you need to download from the Package Manager. Is the menu bar at the top of the application go to Packages>search for a package> and search for "Quads from Rectangular Grid", then re-open Stadium.dyn

There will surely be updates to this in the future, but this can get folks going.
Download the Datasets.


Dynamo: Writing data to text files

There's been some recent discussion about how to write geometric data out to external data sources.  Here is the most basic on both ends:  xyz coordinates written to a .txt file.

Of course, you may want to do some fine tuning of this kind of thing.  Here is a version that cleans up the data, reducing significant digits and other formating.

You might also add some information about these points to each line of data.  Adding a couple nodes tells how far each point in from the origin, and labels what this data is:

Resulting in this .txt file.

There are surely a number of ways to do similar things.
A couple things to note here:
1. XYZ's are Containers, that is, they are a specific kind of chunk of computational stuff that is not automatically recognized as a series of numerical element or strings.  They need to be decomposed to something consumable by a text file if that is what you are writing to.  "To String" is the simplest way to do this, but there are other methods to create more fine tuned data.
2.  You need to format your data for your consuming file format.  Writing to a text file, you need to add commas, carriage returns, or other pertinent delimiters.  In the "Joing Strings" node, the "del" or delimeter that is being added is a carriage return, this basically says "return" after every line of x,y,z that comes across
3.  you can add all sorts of other data to this.  For String processessing, just enter "string" in the search bar and take a look at some of the tools that are available.

Don't forget to also take a look at a couple other examples in the Help>Samples>23 Data Import and Export, for tips on how to write to Excel.  There are also explanations in the pdf tutorial.

Thanks to the folks who participated in this discussion over on the Vasari Forum.