Block Instance Box Morph


I am trying to box morph a series of Defined Blocks, however the component does not seem to recognize Blocks, only geometries.

The main goal of this exercise is to box morph 3 modules into 1000+ instances and keep the file as light as possible - any help/other ways is appreciated!

Given one or more Instance Defs already defined …

If the target is some sort of “ortho” grid then just apply a suitable PlaneToPlane trans for your Intstance References.

If the target is a curvy BrepFace then the classic Morphs support GeometryBase that supports Instances.

Thanks for your reply Peter,

Apologies, is this Rhino API?

Would you be able to guide me on how to script this - or is there a grasshopper component method?


Are you familiar with C#? If yes I could provide a “full from scratch” indicative demo on that matter: i.e. (a) Create some Instance Def, (b) Place (transform) the References around.

Every story needs a beginning.

I don’t know C#, but happy to learn!

I’ll post the simplest thingy available as soon I’ll be in the practice.

BTW: See that fella? It’s you.

In the mean time: You got it 100% correctly. Bravo. IR is the only way to deal with large N of parts most notably if R/GH are just a timy bit of the whole design process (meaning STEP export to some pro BIM app > adios R/GH > blah, blah).

See a small demo. Imagine an envelope (via some W Truss). Let’s forget the truss (even kids can do it). Imagine a classic planar glazing system where node primary “tube like mounts” support multi adjustable secondary glass brackets (using ball pivot joints for obvious reasons) . We are talking thousands of 3d items (even in some primive detail like the one shown below). Meaning … the obvious.

Well … given the fact that simple has a very relative meaning AND that you don’t know a thing (or two) about C# … I can barely imagine how the attached could have any meaning … but hope dies last. Does an ID from a Box and then places IR (in the layer desired) in BrepFaces “like” masonry bricks (LOL). (140.0 KB)

In real-life the Instance Defs are multi nested … but that’s another story.

1 Like

thanks darth vader. currently analysing your script in great detail, and you can go back to what you do best… <3

In fact the most pragmatic solution for you - at present time - is to try to find some add-ons that allow IR placement/manipulation. So … that C# is just an indicative take and by no means the Jack for all trades.

That said maybe I’ll add a no “brick like” placement option. This means “adjusting” the bX value in order to fit into a given isoU and thus scaling the Reference accordingly (i;e x * bX + (x-1) * delta = isoU.Length > thus you get a bXNew and scale to bXNew/bX ratio - bY,Z remain the same).

That said … the more “complex” the IR is … the more time you gain VS a naive Geom copy and trans approach (not to mention the R file size) . Obviously for large N of IRs you’ll need GPU power … but no pain no gain.

That said an Instance Definition is the cookie cutter while the Instance Reference (that hold just the Trans Matrix used) is the cookie that you see in your Views.