Jump to content
Developer Wiki and Function Reference Links ×

Creating Parametric Shelves in VW/Marionette


Recommended Posts


I am trying to create a series of shelves, or "ribs" where the front profile is defined by a lofted surface. i.e., the profile of the shelves will vary by elevation, and their profile will be defined by this lofted surface. I want to do this in Marionette (already have a script that lofts the curve from 3 NURBS), but, to start, how does one do this manually?

I've created a sample file with two versions, one with the profile curve as a generic solid, one as a NURBS curve. The shelf section is 1" thick, a NURBS curve in both cases. It seems like the "Project" tool in "Add" mode should do what I want, but I can't get anything to work. I've also tried this with two solids in Add, Subtract, Intersect, etc. Any help would be appreciated!



PS - I've added pdfs of what happens when I try to use "Intersect Surface." It gives me the correct front profile, but no shelf behind it.

Edited by Fairfax
Link to comment

I got some help, but not out of the woods yet. The "Project" tool does not trim the extra part of the polygon/NURBS curve which is being projected that extends beyond the profile. In fact, it won't project unless the polygon/NURBS curve to be projected is within the profile it is projected onto.

That is one issue to deal with, which could make for tricky Marionette scripting. The second is that it's not clear to me that Marionette even features the proper "Project" tool, as I've noted in another post here. The only "Project" tool I located was in the "Points" section and it does not take a solid and a polygon/NURBS curve as inputs.

Something about all this rhymes with "hugs!" ;-)

Link to comment

I just heard back from a VW Marionette expert (thanks Sarah!) to try the "Contour" function, which also has a node in Marionette. This is a bit cumbersome because it creates NURBS curves which then need to be converted to polygons to "trim surface" the shelf polygons, which are then extruded, unless there's a more streamlined approach. Thanks!

I am having trouble getting the "Contour" node to work. How do you compute the "point" and "dir" input values from/for a given NURBS surface?

Link to comment
  • Marionette Maven

You'll most likely want to leave "dir" alone, the default value will split the surface horizontally.

I'm having a hard time producing an object that will extrude, though. Usually when we use contours, we use it on an object that would produce a closed shape, in this case, it's not really doing that well since you're just doing a surface that was converted to a generic solid.

I'll keep poking it, but I feel like this workflow is probably not going to produce the results you want.

Link to comment
  • Marionette Maven

So here's as helpful as I can be at the moment.

I've mocked up an example using a Hemisphere and contouring to produce "shelves" throughout it. (you'll have to use your imagination on the shelling of the hemisphere ;) )

Your output will be a little trickier, as you have a more difficult contour result. I would suggest attempting to add a vertex on each poly (after converting from your NURBS) to prevent the crossover you'll probably encounter.

If I wasn't descriptive enough here, feel free to reach out to me directly (either through a message here, or by email - which you can find in my profile)


Edited by MarissaF
Link to comment
  • Marionette Maven

Hey Alan!

Thanks for bringing this up. I, too, have been encountering the problem when converting to Polygons. It appears that some shapes when converted are actually being created as MULTIPLE polygons (you can think of it as each line is now a separate object) and we don't have a "compose" node to fix this problem (something I'm working on, I promise).

I'm not sure what the circumstances are that the conversion fails, as you and I have noticed, it DOES work in some cases, but fails in many others.

You're not doing anything wrong. We just have something weird going on with the back end of all of this. I'll look into it further.



Link to comment
  • 7 months later...
  • 2 months later...
  • 2 weeks later...

I've made some progress. Alan, I modified your network to use three polygons to create the lofted surface. I've created three networks, one complete and the other two split, so that one creates the lofted surface and the other creates the shelves. Two problems remain:


1) The "loft" command in Marionette doesn't seem to work for the polygons I've created. Running the second network (to create the loft) will show you what happens with the Marionette command. I've included a manually created loft to illustrate the difference.


2) The network portion that uses the contour node to create the shelves doesn't create a shelf at the bottom of the surface. Running the third network uses the manually created surface to create the desired result. It would be nice if one network could do the whole thing.


Any insight would be appreciated.




Lofting Shelves v2.vwx

Link to comment
  • 1 month later...
  • 1 year later...



It's taken a lot of time, and much more fiddling, but I finally got a result I like. Thank you so much for your assistance. I'm happy I automated this process because it took quite a few tries to get the desired result.







Screen Shot 2018-05-10 at 6.02.55 AM.png

Screen Shot 2018-05-10 at 6.03.28 AM.png

Screen Shot 2018-05-10 at 6.03.58 AM.png

Edited by girwin
Replaced pdfs with screenshots
  • Like 1
Link to comment

@girwinHi, Great to see you got the results you were after. The process pdf & 1 look great, the other #2 pdfs i cant open.

Now you have this network you can use it as a template to do more.

If you have any other things you want to automate happy to look at it.


Edited by Alan Woodwell
Link to comment

The other two were views of the iterations of shelves - glad I didn't do it manually! The process was really quite subtle; small changes make a big difference in the result and/or crashed the script after lofting a curve that couldn't be contoured. I updated my post with screenshots instead of pdfs so the images appear inline. Now I need to build this! Thanks again!

Edited by girwin
Link to comment



Funny you should offer! I'm trying to turn this toward designing a bench and can't seem to change the direction of the contours (I'd like them to run in the Y direction in plan view.) Also weird, when I tried to put the script above into my main design file in VW, it changed the direction of the contours and I couldn't adjust it, so I had a separate VW file, working properly, to generate the geometry and I pasted it into the other file.


Here's one more perceptive of the studio.

Screen Shot 2018-05-14 at 4.09.28 PM.png

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...