Are dynamic blocks coming to Rhino 8?

Personally I don’t understand the Dynamic Block concept. If its a block it should be a unique item; something that can be quantified, ordered, manufactured. If you start stretching dynamically you lose that ability.


Well, like families in Revit, they would help unifying style of same component.

Revit has Type and Instance parameters. The Types being more block like. Instances being conceptual design, with the instance parameters that can be scheduled and quantified individually if need be. Having a flexible block without those qualities seems very limited.

Dynamic block is a parametric block. Type is one kind of constrained topology and instances are just different values to those parametres. It makes perfect sense. All angle retaining wall look the same just parameters are different so you create one dynamick block and have different instances.


1 Like

Exactly. Well said. I am a drafter for a millwork shop and create block instances of things like cabinets. Often I have a bunch of cabinets that are all identical in size but certain details like number of drawers are different from one cabinet to the next. If I could make a cabinet model into a dynamic block than I could just change parameter values within a single block instead of creating a new block for each cabinet.

1 Like

The Constraints feature is coming along nicely, these will be objects that end up closest to ‘Dynamic Blocks’ features.


+1 for dynamic blocks, of course!!

Why would you loose the ability to manufacture or quantify something just because it was generated using type/object parameters?
In fact, any modelling feature in Rhino where you need to enter a number is ‘parametric’ (e.g. extrude, all primitives, array, …), you just don’t have the possibility of changing this parameter again (easily) at a later time - unfortunately.

Yes, it does. Clear as daylight.

VisualArq brings dynamic blocks - driven by a Grasshopper script:

I’m not getting paid by Asuni btw… In fact, I would like to see this as a standard Rhino feature! Also because this would be useful for other industries, too, not only architecture.

I just don’t understand - are they the only ones around here that see the potential in paramtric blocks? Why doesn’t McNeel?

If this really would be done AutoCAD-style, the advantage would obviously be compatibility.
But then, is the AutoCAD way of doing this really the best there could be? I’ve just fiddled with those tools a little bit, and it’s, well, a quite specialized workflow.

In the Rhino world, it would make most sense to empower blocks with Grasshopper, just like VisualArq already does. Disadvantage: how would you convert AutoCAD dynamic blocks to Rhino GH blocks? Sounds super tricky.

In fact, those AutoCAD dynamic block tools look more like the new constraint system in R8. Should it be a goal now to make them compatible?


FWIW, I’ve added this thread to open item RH-34030 - GrasshopperBlocks: AKA ParametricBlocks AKA DynamicBlocks AKA SmartBlocks. This item is not visible to the public.


Yeah forget about the AutoCAD part, I guess I just mean the way their dynamic blocks function once they are built. Like when you click on a dynamic block of say, a doorway, you can enter a value to change the swing direction, the opening width, etc etc. In Rhino world I could click on a dynamic block 3D model of a kitchen cabinet and tell it how many drawers it needs or change the height and width.

I like the idea of empowering blocks with Grasshopper…that would definitely be the way to do it.

most feasible for me is to make grasshopper definition a dynamic block as a wrapper object. i has been mentioned before…


Exactly this.
The vaElement (and other va objects) is the ‘wrapper’ object that can ‘load’ a GH definition, and expose their parameters automatically in the regular Rhino Properties panel. The way it’s done is quite nifty.
(I used this system also in my master thesis a few years back to create parametric ETFE building parts for a big event hall).

Oh man…
Please maybe some McNeel VIP could talk to Mr. Rutten regarding block support in Grasshopper 2?

One day the whole block topic should look like it was conceived in one logical, comprehensive ‘vision’.

  • blocks in Rhino
  • dynamic Rhino blocks as a wrapper for a GH(2) scripts
  • native block support in GH(2)

Looks like a lot of people are discussing what we are talking about here already. Glad I am not alone. Wish I had better working knowledge of Grasshopper but it definitely seems like the way to add and manage block attributes.

Dynamic blocks have been discussed here often over the years but don’t seem to be a priority. I have always thought McNeel should get out of the drafting business anyway and focus modelling, but I’m in a very small minority here.


Hi Brady,
I have used AutoCAD’s Dynamic Block Feature and I understand what you are looking for. And the developer does too.

This should work with Rhino, and not require Grasshopper.
However, like most of Rhino features, Grasshopper should also support it.

This is the main YT on this issue: RH-51073
There are other YTs that are linked to it.

It is on the pile.
Hopefully it will float to the top soon.

I suspect there need to be some “additional plumbing” in the Rhino file format before the feature can be supported. Dr.Lear has retired and which is not helping get this feature get worked on.
But I will add your vote!

Mary Ann Fugier


Glad to hear it Mary! The more tools Rhino can implement that aid drafting workflow the better!

1 Like

What good is a model when it’s not drafted well?


You got it, Brady.
Just to clarify for other readers of this thread, dynamic blocks are also very helpful with modeling, not just drafting or 2D symbols.

You can have one kitchen sink block that has internal representation for many different models/materials of that size sink.

You can have one OH door that has styles for Windows or no Windows.
You can have one style fastener that has multiple lengths in one block.

I will not elaborate any more. There are many more really good examples of 3D uses for a dynamic block feature in Rhino. But #1, when you import or open a DWG from AutoCAD that uses dynamic blocks, it won’t open and look like this. :frowning:

Mary Ann Fugier


I was (well still am) able to drastically increase my productivity with dynamic blocks, using mostly the “action” parameters. It’s a really really good system. So many people overlook it, or create lousy blocks that don’t work quite right. I’ve used the “constrain” parameters as well with some success, but the “dynamic” parameters are what really drivers productivity for me.

I actually learned to create Revit families prior to learning how to make AutoCAD dynamic blocks. In fact it wasn’t until I got good at Revit that I realized “I can do this 10 times faster in AutoCAD”.

I multiply my productivity gains by combining dynamic blocks with AutoLISP.

So far, no CAD program I’ve used has been able to take an “AutoCAD” style block (with actions) and port it to 3D. Some have copied AutoCAD’d 2D dynamic blocks. One CAD program claims to have better blocks and in 3D… I have a bit of beef with that particular program’s community because they outright lied or had no clue what they were talking about (they were likely either resellers or add-on developers, or both) and it led to a lot of lost time and money for myself… that program’s “parametric” blocks, as they coined them, absolutely sucked. Revit Families tend to be a little clunky. Once you get them right they work well (sometimes that is, and within the confines of what the program can do that is) but they are very time intensive to create… correctly, hence why so many broken Revit families exist.

I’m JUST getting into Grasshopper. I avoided it mainly because I had to deal with some Dynamo disasters back in the day and shunned the visual programming altogether. It also didn’t help that 100% of the GH definitions I tried didn’t work up until recently. I’ve finally started to learn it and it’s actually quite good. It might come reasonably close to matching ACAD’s dynamic block ease of use and versatility in 3D… but it comes with a far steeper learning curve. And is a little slower to implement (but you do get 3D capability in return).

Anyone who hasn’t mastered ACAD’s dynamic block system is unaware of the outright production speed available.

1 Like

Depends on what it’s for. I use models all the time that don’t get drafted for manufacturing. 3d printing and visual effects to name 2 instances.