BILT Speaker

BILT Speaker
RevitCat - Revit Consultant
Showing posts with label swept. Show all posts
Showing posts with label swept. Show all posts

Thursday, 27 September 2018

Creating Lofts in Revit Mass - CME Part 6


Here is part 6 of my series on  comparing the five traditional form creation tools with equivalent techniques in the Revit Conceptual Massing Environment.
Previously we analysed the creation of extrusion forms, Blends, Revolves, Sweeps and Swept Blends in the CME.  Hang on - part 6 of 5?  Oh that's right, there is no way to create 'Loft' forms in the traditional Revit environment:

Part 6:  Lofts

It is possible to create a 'Loft' in the Conceptual Massing Environment - it is a little different to a Swept Blend, and has its own rules (and problems).  A loft is a 3D form made by linking a series of planar profiles to create a surface(s), which can be flat, faceted, curved or double-curved (NURBS).  I consider a loft to have a minimum of 3 profiles, as 2 would just be a 'Blend'.  The profiles are linked along a notional path - the difference between this and a Swept Blend is that the latter uses a specific path element, and a loft does not.  Revit will figure out its own path (or not, as the case may be!).


As soon as the edges are not aligned and you have 3 or more profiles, you will get curved surfaces – Revit creates its own spline edges.



The greater the displacement between profiles, the more dramatic the curves





The profiles do not have to be parallel to each other, but as soon as they are at different angles it becomes less predictable as to whether Revit will create the form as you desired. In the example below, the profiles were hosted on reference planes, which can be rotated, but only before the ‘Create Form’ process



Revit may not create the form at all, and you might get this error message:


If the error mentions 'Self-intersecting geometry', it may be due to Revit getting the profile order wrong such that it tries to create a form that doubles back or crosses over itself - something that Revit does not like one little bit.  When you select the profiles in the first place, it makes no difference which order you select them - you have absolutely no control over the order that Revit uses in the Create Form function.  It is not clear how Revit decides on the order - it may be proximity to each other?  However, I don't think it is that simple.

The second part of the error message talks about the 'Reorder Profiles' button - this is not usually visibly apparent.  There is a blank space for it in the bottom left corner of the dialog box.  Wouldn't it be nice if Revit tried to Create Form again with a different profile order;  better still if it asked you to nominate the order!

About once in every few hundred times you get this dialog box, there will actually be a 'Reorder Profiles' button.  Be very careful about clicking on it.  The first time I tried that, Revit crashed out and closed without saving anything.  Thus it is wise to save all files before attempting this.


If you do click on the button, it won't help!  If it doesn't crash, it will just fail again.  It would seem that one of the programmers was aware of this form non-creation ability of Revit, and they tried to add a solution.  However, it seems like this functionality was removed from Revit before it was released to the unsuspecting public.  Sadly one instance of the many variations to the dialog box still has the button there to tantalise us.

If you would like Autodesk to fix this, please go to the Revit Ideas wishlist and vote for this enhancement request:

Control profile order during form creation


This description of Loft creation shows a very simple example - it can get quite complex.  There are many tips and tricks as to how to make Loft form creation easier and more predictable in Revit.  More to follow later . . . .

Saturday, 2 June 2018

Creating Traditional Revit Forms in the Conceptual Massing Environment


In my recent presentation at BILT ANZ 2018 in Brisbane - Creating Nurby Forms in Revit, I started off by analysing how the traditional Revit 3D form creation tools can be matched in the Conceptual Massing Environment.

  
Traditional 3D form creation in Revit has 5 predefined sketch-based tools – these are well understood by most Revit users. They are also very limited when it comes to creating double-curved or organic shapes.

Unlike these, the newer Adaptive/CME form creation methods (from Revit 2010 onwards) are somewhat of a mystery to many users – the logic is completely different, and there is only one ‘Create Form’ command.   However, it is capable of creating much more organic shapes than the traditional tools.

I have previously listed an extensive comparison between the 'Rival Revit Form Creation Environments'.  In this series of blog posts I will go into much greater detail on the subtle inconsistencies between each form creation method.  Understanding these 'exceptions to the rule' make the whole Conceptual Massing Environment (CME) much easier to work with - I use the word 'easier' rather than 'easy', because the CME is never easy!!

One of the big differences between the old and new methods is the ability to ‘Loft’ shapes in the CME, or to use multiple profiles in a swept blend:
  • The traditional environment allows the creation of a ‘Swept Blend’, which creates a single transition from one 2D profile to another – while this does allow some double curved surfaces, the transition between the two is constant along the path of the swept blend;
  • The CME also allows the creation of a Swept Blend along a path, but the big difference is that it allows more than two profiles – this allows the transition to be controlled and changed at any point along its path. There are many ways to achieve this but unfortunately Revit has a number of significant limitations in what kinds of forms it will create (more on this later).
  • The CME ‘Loft’ function allows the use of multiple shapes/profiles to control the transition from first to last, without selecting a path.
 There are many more differences that will be described in the following posts.

CME shape creation methods

The CME Create Form function only has one icon, with no user controlled options - and it works in several different ways, depending on what elements you select:
  • Single shape/profile (chain of arcs/lines/curves) – creates an extrusion of the profile. It can be an open profile that creates a surface, or a closed profile that creates a solid form, in which case it puts end surfaces on the extruded form
  • One profile plus a path - creates an extrusion or sweep (can be multiple segment path for closed profiles) 
  • One profile plus a separate straight line - creates a revolve
  • Multiple profiles plus path – creates a swept blend (single element path only)
  • Multiple profiles without path – creates a loft form
  • By hosting elements along a path then selecting all the elements (but not the path) – it creates a hybrid swept blend / loft 
It is not clear to the user how Revit decides which creation method to use and how it decides which element defines a profile, and which is a path or axis, nor the order of multiple profiles.  This is the crux of the problem - in simplifying the User Interface to a single command icon, Autodesk have robbed the users of predictability and real control over the end result.

Some of the problems could be alleviated by the following two capabilities - please vote for them on the Revit Ideas wish-list if you agree:

Control profile order during form creation

Nominate Path during form creation

Traditional Methods in the CME



Each of the traditional form creation methods (plus lofting) are examined in the Conceptual Massing Environment in the following blog posts (links will be enabled as each is posted):
1.  Extrusion 
     Extrusion Offset Properties
2.  Blend
3.  Revolve
4.  Sweep
5.  Swept Blend
6.  Loft
7.  Hybrid Swept Blend / Loft

Path

The form creation path (if used) can be model or reference lines or edges of another form or component
  • Path can be a single arc, line or curve (Revit help refers to all of these as a line)
  • Sometimes it can be a multiple chain of elements – for closed profiles on sweeps only
  • It cannot be a ‘divided path’ element

Profiles

The form creation profiles can be:
  • Model or reference lines (chained) or 
  • Edges of a form or 
  • Loaded components - 2D model lines (planar) within a component (adaptive or traditional of most categories, but not a traditional 2D profile family)
  • Must be a single chain of lines, arcs, curves (open or closed profile);
  • Very occasionally Revit allows a loop within a loop;
Depending on the original profile, the form behaves quite differently - It makes a big difference whether you use Model lines or Reference lines:
  • Model lines are ‘consumed’ by the form and can be edited later (Edit Profile);
  • Reference lines are retained as an underlying rig for the form – and they can be independently edited to change the form (can only be moved/stretched);
  • Reference line extrusion forms are automatically locked; model line extrusion forms are not;
  • Component profiles are not consumed, and can be changed if parametric;
If you host points onto a path, and then host profiles on those points (as recommended by Autodesk), there are differences in behaviour once a form is created from the profiles:
  • Model line profiles – the host point gets consumed too. It cannot be selected or moved; it loses any properties & associations to parameters (eg. for offset from end of host path); to move the profile along the path, you have to select it, not the host point – which has no parametric control;
  • Reference lines – the host point retains all its properties and associations, so it can be moved along the path parametrically (profile goes with it)

There are other subtle differences, to be explained later - in the individual form creation method posts.

Adaptive components 

Adaptive Components are a special kind of Revit family that operate in the CME world (not traditional family editor forms)
  • They are similar to Mass families but can have multiple insertion points
  • They can be of some different categories (but not mass) – somewhat limited
  • Cannot be created in-place in a project

Repeaters

Repeaters are a kind of array, in the CME world
  • Made up of adaptive components hosted on divided paths or surfaces within a mass or adaptive family, which are then arrayed using the ‘Repeater’ function.
  • Profiles within the repeaters can be used to create forms, with some limitations – the Repeater first has to be dissolved; the divided path cannot be used as a form creation path.

Saturday, 5 May 2018

Revit Nurby Forms at BILT ANZ 2018 in Brisbane


I am looking forward to the next BILT ANZ Conference in Brisbane on 24 - 26 May 2018, where I will be presenting a session on creating 'Nurby Forms in Revit' - ie. creating complex forms with NURBS surfaces (double-curved), which are notoriously difficult in the Revit Conceptual Massing Environment.

In this session I will start by looking at using the Conceptual Massing Environment to create the equivalent traditional Revit 3D forms (Extrusion, Revolve, Sweep, Blend, Swept Blend), and examining the subtleties of different methods.  This will inform the next stage of creating sinuous forms in Revit, and the workarounds you'll need to overcome some of Revit's limitations.  Then I will demonstrate some techniques for creating parametric NURBS forms that you would not expect Revit to be able to handle.  Finally I will look at how to make these forms look better, as Revit is not good at displaying NURBS.  All this will be done without using any API, Dynamo or Add-ins of any kind.





Hope to see you at BILT in Brisbane for my session:  #1.3 'Create Good Looking Organic Nurby Revit Content' at 1.45 on Thursday 24th May 2018.


Friday, 14 August 2015

Part 2 - Creating Revit Swept Blends along sinuous multi-segment paths


In my previous blog post I described some of my attempts to create a swept blend along a sinuous multi-segment path.

What I ended up with last time was a form created by selecting a series of profiles hosted onto the nodes of a divided path (without selecting the sweep path as part of the form).   In this example I had to indent the ends of the divided path so that the profiles were more or less linear and Revit could create the form.
 
Each of the profiles has an instance height parameter so that it could be easily adjusted to give an undulating form
My next task was to extend the form back the full length of the Divided Path.  I used a similar technique in a previous post where I had hosted points on a spline.  In this case it seemed easier because I could adjust the Divided Path properties by changing its 'Beginning and End Indent' rather than selecting individual points.
Going for broke and setting it right back to zero certainly did not work - it was unable to create the form.  Technically I was only trying to modify the form - so it would be interesting to know if the warning message is telling the truth:  is it actually recreating?  or modifying, in which case the dialog box wording is wrong.
A less dramatic change to the beginning indent from 3700mm to 3000mm was still too much for Revit.
Finally I had to settle for a mere 50mm change to the beginning and 400mm at the end - not enough to make a significant difference
I tried recreating the form with more profiles, spaced more closely - but that did not work either, when I tried reducing the indents
So I came to the conclusion that Revit is just not capable of creating a sinuous swept blend form like this if you do not include the path in the form creation.

Spline Logic

So that took me back to an idea that I had rejected earlier on:  tracing a spline over the chain of arcs/lines in order to achieve a single element path for the swept blend.  And, I needed the spline to follow the arc chain as closely as possible, and preferably to adjust when the underlying arcs are changed.
  • Just hovering the cursor over the spline tool was enough to tell me that it would be hopeless, as you cannot snap to the arcs - it would all be guesswork and lots of adjustment later on
 
  • The 'Spline by Points' tool is more promising as the spline goes through specific points exactly
  • This tool works in two different ways - you can just start drawing the spline and it places points as you click.  But I made the mistake of trying the second method which involves placing points first then selecting them so the command links them into a spline.
  • Revit did not create the spline in the order that I placed the points, nor in the order I picked them - it was seemingly random.  Perhaps this explains why it could not create forms earlier, out of my series of profiles - if it uses the same strange logic to decide the order
  • With this technique, you could re-host the points into the right order by selecting each point, and using 'Pick New Host' to put it where it should be - a very laborious process.
 
  • It is much better to use the spline command by the first method of placing them on the arcs in the order you want - and it hosts the points on the arcs nicely.
  • You need to place a reasonable number of points, especially in areas where the arcs switch direction or curve tightly - the reason for this is that the spline will not follow the arcs exactly, so more points will make it more accurate
  •  You can slide points along the arc to improve the accuracy - providing you put enough points on each arc
  • Once the spline is created, you could host profiles directly onto the spline points.  That would be fine if you just wanted a smooth transition between two profiles at start and end.  If you want an undulating shape, there are two reasons I would not host the profiles on the spline points:
1.  The orientation of the profiles will most likely be different to when they were hosted on divided path nodes.  In this example I got lucky and they were correct:

2.  You would need to place every profile.  It is much easier to create a divided path and host one profile onto a node, then repeat it.  In this example I was unlucky and the orientation was different to the original divided path!  This is typical of Revit - the mysteries of why a divided path on a series of arcs vs on a spline will produce nodes that have different xyz orientations is just that:  a mystery.  I will write another blog post on that subject some other time.
  • For the sake of this example, let us assume it was the same orientation so we could just go ahead and 'Repeat' the profile, then dissolve ('Remove') the repeater.
  • To create the form, you need to select all the profiles AND the spline (not the divided path)
  • Now the length of the swept blend should be adjustable easily by changing the divided path indents.  
  • The heights of each profile can be changed to give it an undulating shape
  • The first and last profile can have very small width and height to taper the shape
  • If you hide the profiles (by subcategory) you'll get a cleaner shape
  • The profile could be made of a single half ellipse, as in in the next example - to eliminate the horizontal joint lines
  • Finally you have a beautiful piece of undulating furniture.  Or a Loch Ness monster, depending on your project.

Anyone who has read this far will agree that this is a tortuous process (pun intended), riddled with workarounds.  The main purpose of this blog post is to demonstrate to the software developers how complicated it is to create some forms in Revit - how many roadblocks there are in the software; how many workarounds you have to learn; and how long it takes.  If anyone has learnt any tricks along the way, that is a bonus.

There are other programs around that could do this in minutes rather than hours (or days) - but they lack the precision of being able to document something that is buildable and follows a more geometric basis, such as a series of arcs rather than splines.  So I would much rather be able to do this in Revit to start with.

Related topics:

Friday, 7 August 2015

Part 1 - Creating Sinuous Curve Swept Blends in Revit Adaptive/Massing Environment

Loch Ness monster created in Revit

In a recent blog post I was trying to create a swept blend (or loft) along a single spline path
and I encountered a few problems, which were mostly (but not all) solved by including the spline path as part of 'Create Form' process.  That was just a preliminary test for what I ultimately wanted to create:   A swept blend along a sinuous multi-segment path made up of arcs and lines - not a spline (as seen above).
Here follows the next instalment in my trials and tribulations.  I will start simply by comparing the traditional methods and conceptual massing creation of a sweep, before moving on to a swept blend.

Traditional Sweep

In the traditional family editor, Revit can easily create a sweep along a sinuous multi-segment path, unless the radius of a curve on the path is too small and causes impossible geometry.  This example below is a simple sweep of one profile along several linked arcs and lines.  It creates a pretty good looking form if the arcs/lines are at perfect tangents to each other (in both the path and profile) - it does not show any join lines.
Traditional family editor sweep

CME Sweep

Try creating it in the Adaptive/Conceptual Massing Environment (CME) and you don't get such a good result - and there is less likelihood of Revit actually creating the form at all.  The example below is created using the same geometry as the one above, with some provisos:
  • The sweep path of perfect tangent lines and arcs had to be traced as reference lines with the pick line tool as you cannot copy sketch lines from the traditional family editor into the Adaptive/Massing environment (Grrrr - why not?).
  • The profile had to be recreated as an adaptive component profile as you cannot use regular Revit profiles in CME.  Refer to Swept blend using profiles in Adaptive Components for how to create and host the profiles.
CME Sweep using one profile and reference lines/arcs as path
Notice the nasty join lines at every change of line/arc in the path;  likewise in the profile, which again has perfect tangent transitions.

CME Swept Blend

If you try something similar as a swept blend you run into roadblocks very quickly:
  • Host another profile (similar or in this case same shape, lower height) at the other end of the path
  • In this example the easiest way to do that is to place a point on the reference line/arc;  then host the adaptive profile onto the point
  • Select the two profiles and the chain of lines
  • Create Form
  • Computer says 'No'.  Refer to Unable to Create Form for more variations on this dialog box
CME Swept blend on multiple arc/line path - failure
  • If you try moving the host points further around the arcs on the path so that the path is less sinuous it still fails
  • Try putting the host points and profiles on almost straight section but hosted on different lines - still no go
Another swept blend failure
  •  It is not until you put the two profiles onto the same line or arc segment that it actually succeeds in creating a form (if you select only that segment and two profiles)
This technique is getting painful and is obviously not going to work - Revit cannot create a swept blend on multiple segment paths!  What a major limitation on a sophisticated 3D modelling program.

Another approach is required:

How to convert the arcs and lines into one path?  Well you could try tracing a spline over the top - but that has several problems:
  • A spline is not easy to set out on a drawing for construction;  it cannot be dimensioned
  • A spline will not follow the original path accurately - it will bulge out when there should be a smooth transition from arc to straight line
  • The spline will not update if the reference line path is changed

Divide Path

Another option is to use an inbuilt Revit technique:  'Divide Path' - this creates a single element that sits on top of multiple lines/arcs selected in a chain.
The divided path has an added benefit of automatically generating nodes on which to host the profiles.  The next roadblock is that when you select the profiles and then the divided path, the 'Create Form' icon disappears - it cannot use a divided path as a sweep path.  Aaaaargh!
You could start placing profiles along the path, and try to link them as a form - by selecting them all and 'Create form' (without defining a path).  Sadly it does not work - it is unable to create form.  Even if it could, if they are too far apart it might take shortcuts between each profile (ie. it does not respect the order they are on the path).
If you select only some of the profiles, and create a form, you can see that it will not follow the path at all closely, especially if they are not close together.

 If you create separate forms for each pair (or trio) of profiles you get pretty awful results:
Even if it could get the order right it also cannot do all the profiles in one go as the curves are too tight for it.

So, is the answer to increase the number of nodes on the divided path and add more profiles?
It gets a bit tedious placing adaptive profiles, and sometimes they flip for no apparent reason.

So maybe we can use another Revit tool to place multiple profiles:  Repeaters

Repeaters

If you place just one profile on a divided path node, you can use the 'Repeat' command to array the profile onto every node (they still sometime flip!).
If you select all the profiles, Revit should have a better chance of more closely following the path as it joins them all, right?
The next problem is that you cannot create forms directly from a repeater - you have to first dissolve the repeater using the new (in v2015 r2) 'Remove Repeater' command.
This command was wrongly named in my opinion, as it dissolves the repeater back to individual profiles rather than removing it altogether.
If you select all the profiles, Revit still cannot create a form as the path is too sinuous for it, and it still gets the order of profiles wrong even though they are closer to each other

Unable to create Form
The next trick I tried was to push the profiles back along the divided path so that each was closer together, and did not try to go around such a sinuous curve.  This is simple enough on a Divided Path by changing its 'Beginning and End Indent' properties
 
 I then selected all the profiles and 'Create Form'.  Finally some success:
By hiding the profiles, it showed that the form does not have vertical joints - this is because we did not actually define the path by selecting arcs in the path.  that probably means the resultant form is not following exactly along the arcs, but it is close.  We still get joints running along the top because the profile is made up of arcs and lines.  That would not have happened in the traditional Revit family environment - Harrumph!
But this is still effectively a sweep, not a swept blend.  That part is easy to solve:  each profile has a height instance property (because I made them that way - it could be a type property).  So the heights of each one can be adjusted, and the form follows along.
 
 The profile heights could have been adjusted before creating the form
Once you hide the profiles, it is starting to look like the Loch Ness monster that I was trying to create
The next problem to solve is how to get the form to spread along the whole length of the path . . . .

That is an issue to be solved in the next post Part 2 - sadly it is not as simple as you might guess (if you have followed the process so far)