GC Tween Node?

Rhino has this cool tool called TweenCurve and TweenSurface

Is there a quick way to replicate this tweening functionality for parameters?

1. Mstn Parametric Solid Extrusion A. Length parameter= 1.0m, located at say 0,0,0.

2. Mstn Parametric Solid Extrusion B. Length parameter= 5.0m, , located at say 15,15,0.

3. Drop GC Tween Node in Symbolic View. Select Mstn Solid A and B.

4. Select Parametric Solid parameter to tween. Enter Number of tweens. Default: Tween node calculates x,y,z distance between the two selected elements.

5. User confirms. Tween node does the tweening. Edit: the tween'd solids' extrusion lengths would interpolate between 1.0m and 5.0m, and the new solids be located between A & B with equal spacings as a default.

6. User uses Move command to move Solid A. Tween node updates the tweened elements.

7. User uses Move command to move Solid B. Tween node updates the tweened elements.

Parents
  • Hi Dominic,

    I see Anik's approach below for a tween between curves, but I was also wondering about your definition of the tween in extrusion. I don't think we can yet access the Parametric Solids with GC and hence the parameters. So I thought I would test something out in GC with the Global Variables just for a bit of fun.

    There is probably a combination with Anik's script that would be good to morph between 2 base profiles and then also extrude based on the tween.

    My example just took the first polygon and did a tween on the height extrusion based on the 2 global variables I setup. (they could be typed directly into the node as doubles but I was testing out the Global Variables).

    Tween.dgn

    Could be an interesting combination.

    Thanks

    Wayne

Reply
  • Hi Dominic,

    I see Anik's approach below for a tween between curves, but I was also wondering about your definition of the tween in extrusion. I don't think we can yet access the Parametric Solids with GC and hence the parameters. So I thought I would test something out in GC with the Global Variables just for a bit of fun.

    There is probably a combination with Anik's script that would be good to morph between 2 base profiles and then also extrude based on the tween.

    My example just took the first polygon and did a tween on the height extrusion based on the 2 global variables I setup. (they could be typed directly into the node as doubles but I was testing out the Global Variables).

    Tween.dgn

    Could be an interesting combination.

    Thanks

    Wayne

Children
  • Many thanks, guys!

    I don't think we can yet access the Parametric Solids with GC

    Hopefully, this will change soon. I think that OBD U7's Curtain Wall tool can already write to parameters in Parametric Cells (via declared Variables?), but it would be good to be able to read the parameters / schema info directly, especially the standard ones that are already exposed through the Mstn UI dialog boxes.

    The Tween node would read the available parameters (like those available in the Properties Panel) and allow the user to select which parameters to tween and/or process using the usual GC bag of tricks.

    The tween'd elements do not have to be in a straight line between the two 'parent' elements. It should be relatively easy to allow the user to define a path using a spline or arc etc. Linestrings would be interesting... tween at every kink?

  • There is probably a combination with Anik's script that would be good to morph between 2 base profiles and then also extrude based on the tween.

    Yes. A test case would be Stuart's ribbed membrane roof example. Let's say we need to generate some smart ribs to support the membrane between the larger ribs already modeled.

    1. Instead of lofting between the first and last path profile, you could use Anik's script to tween between the first and second path curve for the first two ribs. A second script would take the Anik's script outputs to generate the tween the ribs.

    2. Option 1 above would not reflect any changes in curvature as the ribs are flexed. This would need a way to process the whole loft between the first and last rib. Is there a way to extract this info from the loft surface? I can imagine that the individual path profiles would be available to index in the surface's 'history' tree but generating the tween curves on the surface would need more info about the curvature etc.

    Indexing/accessing the Parametric Solids/Surfaces subelement info would be very useful... coming soon? I suppose that this is already being done when the 'raw' Mstn element is promoted or ByElement'd using GC.