What prevents Snapshots from being used as Dynamic blocks?

Hello there, pretty much what the title asks

would it be possible, when blocks are compose by 3dm files, to have the snapshots as option for dynamic blocks ?

What are you looking to do with dynamic blocks? There are a couple of current threads on here about them.

Why is there so much resistance to the idea of dynamic blocks and constraints. They seem like widely requested. Just curious

1 Like

It is difficult to list all the reasons because they could simply be brushed off as excuses. And looking back to why we have not got their may not be that useful.

There are many other applications out there that do a fine job of it. So, we implement some parametric engines that others have not. Grasshopper is a good example of this. Sure, we could bring up many ways that Grasshopper does not fit well for this situation or that situation. But that is also true with any single parametric engine.

A number of plugins exist with different parametric engines within Rhino already. So that also allows people to use some of those functions. Oddly enough even Rhino.Inside.Revit was a way to get within a parametric engine. It is clear that one parametric engine does not rule them all.

So as a platform for lots of different workflows, geometry types and crazy shapes so far this is what we have.

Trying to learn what each person is trying to solve specifically helps use understand better a framework that might support such tools.

Thank you for explaining.
I can tell you that more and more architects are using rhino as their primary tool. Having dynamic blocks and constraints would be a very welcome feature.

here are two scenarios:

  1. populate an architectural plan with furniture, annotations, and other objects. here dynamic blocks would save a lot of time. for example, one might need door/window/table/etc. of one size in one place, other sizes in other places. same for annotation objects

  2. convert a measured building/lot to a plan drawing. here orthogonality is almost never given, so we measure diagonals to make sure the shape of the room is correct. a worse scenario is with irregular plots that come for surveys. diagonals are never measured, and the client often has only a printout of the survey. working with only perimeter segment length and total area, we often need to adjust the polygon to get as close as possible to the real shape of the lot. having geometric constraints would be a godsend.

i can imagine there are lots of other use cases in other fields. what comes to mind is the workflows of other modelers where geometric constraints play even more of a crucial role.

I remember there was a constraints feature in WIP… what happened to that?

The constraints project got pulled from Rhino 8 as it got too big to complete in time for the release of Rhino 8.

Is there a reason that Visual ARQ would not work for the Windows, tables etc? It comes with Dynamic blocks in effect that include doors, wall and windows, including the inherent interactions between the objects/blocks/containers that are necessary.

So the survey only has lengths, but not directions, angles or ordinates? Is the survey traced and then scaled until it matches?

There’s a huge performance hit with visualArq, so for any moderate to large projects it’s virtually unusable.

A lot of the times, yes. There’s a sketch of the plot with lines, a table with segment lengths, and a total are. Of course, It depends on the jurisdiction and how old the survey is. Most clients have old surveys that were done decades ago for the sake of the sales contract, and when they come to us for a preliminary consulation, they come with a xerox or a photo of that old survey.

Performance is another stumbling block. (pun intended) Architecture is especially difficult because of the shear number of objects. There are many reports of Revit getting bogged down as the model gets larger. Of course there are many reports of Grasshopper getting bogged down with really large models.

Yes. One way to deal with all those objects is to have 2d representational objects only whenever possible - hence the heavy use of (dynamic) blocks.

Thanks, I will take a look in this post during my lunch break to see if it solves my problem.

In my case, I am doing a lot of big movement studies with rhino, like, manually, moving hardware around the shipyard and stuff, to then create movement plans and rigging plans out of it.

In my use case, what I would like do be able to accomplish with dynamic blocks is having my rigging equipment in different positions, without having to explode the blocks every time. I am slowly building a lot of blocks in different positions, but that is not ideal.

For example, a crane, it has different arms layouts our team can assemble and it has different capabilities giving the arm extension, so I would like to be able to have the dynamic block with the arms lets say in 5 degree intervals and with the three possible arm assembled. I can easily do that with the snapshots, having layers for different assemblies and positions stored in the snapshot itself.

I feel like the tech is already there with snapshots, we just need a way to connect the block instance with a specific snapshot stored on it.

I hope I explained my user case in enough detail, I will try to see if that post using grasshopper is able to teach me to achieve this use case and if it does so, I will let you know.