DynamoDS / Dynamo

Open Source Graphical Programming for Design
https://dynamobim.org
Other
1.73k stars 634 forks source link

"Create Divided Surface" node #366

Closed kronz closed 7 years ago

kronz commented 11 years ago

Existing Divided Surface node needs additional functionality to be useful.

Revit has built in functions to easily deal with many patterning use cases. Divided Surface and Intersects functionality allows for not only the subdivision of surfaces, but overlays an number of the most common patterning systems (brick, triangle, checkerboard, rhombus, etc) based on rectangular grids. While there are limitations to using this system, they remove complex data tree proceedures from the 80% use cases for paneling. Combined with an automated layout of intersection lines, Divided Surfaces with intersects will get into the 90% use case without needing complex data streams.

Because of the large number of associated functionalities in Div Surf, this may need to be a suite of nodes or be able to be accessed by Get/Set parameter nodes (MAGN-331). Need to flesh this out a bit, but Intial Node should be: Create Divided Surface Inputs:

rnarracci commented 11 years ago

Z,

I've been out of it for some time but was just today perusing recent Dynamo issues and this caught my eye. I've always thought that the precooked Revit surface patterning is more self-indulgent than useful (although you've proved me wrong with some really creative hacks) and have been wanting for some time, more custom control of surface division. The ability to divide by reference planes and levels is a step in the right direction but naming zillions of ref planes is very time consuming. So like this issue .. https://github.com/ikeough/Dynamo/issues/384 ...it would be nice to have some automated way of sequentially naming ref planes.

...a tangential issue but closely related issue.

LevL commented 11 years ago

I wonder if there is support to consider notion of 2d pattern of points as radical alternative to existing capabilities related to Divided Surface. Maybe in addition to making Divided Surface more useful.

Such pattern might have notion of vertices of each cell, indices for each vertex and cell, neighbors for each vertex, including diagonals, or neighbors per custom pattern, notion of inner, boundary, or corner cells, adjacent cells for connected pair of vertices, etc. Add ability to subdivide existing pattern based on set of planes and/or additional surfaces with set of offsets, etc. Such pattern might stretch across tangent and non-tangent faces, with no limitations to have equal number of points in rows or columns.

Then place adaptive components per cell and/or connection of adjacent vertices (potentially via coexisting patterns over imposed on same set of vertices).

rnarracci commented 11 years ago

LevL,

The stretch across idea is interesting. I am dismayed that dividing surfaces lofted along segmented arcs (tangent but multiple segments) yields separate divided surfaces. That's a Revit problem more than a Dynamo problem but maybe coders can automate a workaround.

LevL commented 11 years ago

The "stretch across" capability would be the consequence of 2d pattern being point based, not mandatory surface based as Divided Surface. In this approach there is no need to put surface through all points, each point could be moved independent of others if so desired. No prohibition of points generated from face and UV grid on face either. Just a clarification.

kronz commented 11 years ago

Great ideas. The desire for a Divided Surface creation node is to simply take advantage of the tools that Revit already offers, and allow the logic of Dynamo to increase the power of stuff like Intersects. Now, the ability to create and manipulate point collections, and maintain them over multiple surfaces is already there. The issue with point collections is how to sort, manage and visualize patterns within the collections. You can do this now, but we need to make it way easier

ikeough commented 10 years ago

@kronz Can you open a YouTrack task with this design, or close this if we've moved on?

kronz commented 7 years ago

No plans to enable this functionality currently