Sunday, August 10, 2014

CURTAINS THAT FLEX

In my second presentation in Chicago last month I proposed a heirarchy of 3 major types of rig for use in point world: straight line, rectangle & box. 



The series of planters by Frank Lloyd Wright that featured in recent posts were all based on the Straight Line Rig, hosting a series of profiles.  In this post I will use the Box Rig to make families that represent curtains.  The aim is to achieve something approaching the softness and irregularity of real-life drapes.



We start with a rectangle, drawn in plan, using reference lines.  Add equalisation plus parameters for Width and Depth.  Select the rectangle and creat form.  Convert the offset into a Height parameter.  Sometimes it is useful to add formulae that make Height and Depth dependant on the Width, as in the image above.  For the curtains we will keep things simple and type the 3 dimensions in directly.



Make your box 3m high, 1200 wide, and 200 deep.  That will be a reasonable starting point for a curtain that is partly open.  For my RTC presentation, I simply drew 2 splines using Spline through Points with 3d snapping on: one spline along the top face, another along the bottom face.  The points will snap to the edges and acquire NCP parameters (values between 0 & 1 which control their position as the family flexes)  Select both splines and create form.  Add a material parameter.   The result is an undulating surface: moderately successful, but a bit too stiff.



So I decided to add a reference line along the top face, and another along the bottom.  This allows me to vary the depth of the troughs and valleys in a somewhat random manner and create curtains that look more natural, with irregular folds.



Flushed with success, I explored the possibility of even more dramatic ripples with 2 points for each fold in the cloth.  This seemed to work OK but for some reason when you go to a camera view, random lines show up, criss-crossing the scene.  They look worse on screen than in an exported image, but still rather disconcerting.



No worries, I can live with my second version.  Copy this and change the width and depth (wider and more shallow)  Create a new type and apply a new material.  Mine is based on the Bamboo that comes with Revit, but enlarging the scale and fading the image so that it simulates a sun filter material.  Now we have 2 layers of drapes. 


Check out a plan view.  You get some very interesting shapes, but not what you would want in a set of drawings. 


Building plans are stylised.  Sometimes we forget that, but it's the main reason for the "symbolic" capabilities of Family Editor.  Hide the solid geometry of your door panel, and add symbolic representation of a "door swing".  Sadly this feature is missing from Point World.


We had some very interesting discussions in one of Paul Aubin's sessions at RTC, effectively a dialogue with Autodesk at a fairly senior level.  One of the ideas that came up was to have a new family template, possibly called "Generic Model CME", which behaves like a standard Generic Model family, but uses Point World techniques for making geometry.  It would have the visibility controls shown above, plus Symbolic Lines, Masking Regions & Detail Items. 


You would be able to go to family categories and swap to just about any category you wanted, including plumbing fixtures.  It would not be based on adpative points, so the family would respond to the "Level" and "Offset" instance parameters just like a normal Generic Model and you could schedule the components by level.  Even better, you would be able to nest this type of family within a hosted template.  So you could have a wall mounted light fitting based on Point World geometry.  We don't know yet whether this is a realistic request.  Perhaps the coding would just get too messy.  But it would be a wonderful thing if the factory discovered that it was able to grant us this wish.


In the meantime we will resort to work arounds.  Here is one.  New family, Generic Model.  In the plan view, set up reference planes, parameters and symbolic lines as shown below.  Nest this family into another Generic Model.  Create an array, link parameters and "hey presto" we have symbolic representation of a curtain inside a Generic Model family (not a detail item) 


This is good news because we can nest a GM into Point World.  So load it into your curtain, place it ina plan view, lock the bottom left corner to the same corner of the box.  Now you can link up the parameters.  You'll need to set up a formula in the curtain family to generate an "X" value based on Width and No of folds.  If you do this correctly, you will have a symbolic representation of a curtain that flexes correctly and only shows up in plan views.


How do we hide the 3d geometry in plan ?  I made a new sub-category called "adaptive 3d"  (my curtain family was made from the Generic Model Adaptive template.  In many ways it would have been better to start from "Conceptual Mass")  So assign the curtain geometry to that new sub-category, and in the project you can turn the sub-category off in plan views.  If you use a view template, it's not too painful.


Why do I say that the "Mass" template would be better than "Adaptive" for this kind of family ?  Well Adaptive Components don't respond to Levels & Offsets the way that other families do.  They're not meant to.  Adaptives are supposed to attach themselves to points within the project and adapt their size and shape accordingly.  They don't have an origin in the same way as normal families.  They are Shape Shifters.  They don't belong to any particular level.  They define themselves in relation to other objects, not to some absolute datum.  So if you want to control the position of your family by selecting a level and typing in an offset, Adpative Components will disappoint you. They also have a disconcerting tendency to flip upside down when mirrored.

So my freebie is slightly different from the above story.  It's a mass family, the symbolic "worm" is centred about the origin (which usually is a more stable way to make families) and the subcategory for turning things off is called "_Hide in Plan"

Check it out for yourself at this link.

Mass Curtains.rfa

No comments:

Post a Comment

I've been getting a lot of spam so had to tighten up comments permissions. Sorry for any inconvenience. I do like to hear from real people