BILT Speaker

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

Wednesday, 15 March 2017

Nested Revit Repeaters - Gare do Oriente pt 5

How to use Revit adaptive components and repeaters to create a model of Santiago Calatrava's roof structure of the Gare do Oriente in Lisbon:
Part 1 - The rig for one structural column
Part 2 - Placing roof panels onto the rig
Part 3 - Creating the structural elements 
Part 4 - Adding struts to the structure

Part 5 - Assemble Structure on Platforms

YouTube Link


Step by Step checklist:

Add Column Base

  • Open your column structure adaptive family created in steps 1 - 4
  • Set the work plane as the horizontal reference plane of adaptive point 1
  • Place a reference polygon centred on the adaptive point, first making it 4 sided
  • It will give four temporary dimensions, one for each side, from the centreline references
  • Make these into real dimensions
  • Select all four dimensions and associate them to a parameter called 'Half base'
 
  • Optional:  create a new parameter called Base Width
  • Optional:  add a formula to 'Half base' = Base Width /2
  • Select the four reference lines of the polygon
  • Create form
  • Drag its top surface up, and it should enable a temporary dimension for the height
  • Turn that into a dimension
  • Associate it to a parameter 'Base Height'
  • The family is now ready to use in a project model

 

Create an Array of Columns

  • Load the family into a project
  • Create railway platforms (floors or extrusions of some kind) 
  • Create an in-place Mass family
  • Draw a rectangle of reference lines, with the two long sides centred on the outside platforms
  • The length of the rectangle should be a multiple of the distance between each platform
  • Select the four reference lines (rectangle)
  • Create a form
  • Drag the top surface of the form up or down so that it is flush with the top of the platforms
  • Select the top surface of the form
  • Click on the 'Divide surface' icon
  • Depending on the number of platforms/tracks, and the length of the rectangle, adjust the number of U and V grid divisions to achieve a square pattern of grids, one per platform - remembering that the number matches the grid lines not the divisions
  • Change the surface representation of the divided path; make the Nodes visible
 
  • Place one of the structural adaptive components onto any one of the nodes
 
  • Select the component and click on the Repeater icon
  • It should create an array of columns, one on each node
  • Select the divided surface and hide its nodes again, so that they will not be visible in the project in any views.  NB. if any divided path nodes are visible in the structure, you need to hide those back in the family and reload them (which can be painfully slow, so its better to do so before creating the repeater) 
  • Finish the Mass family
  • In the project Browser, select the column family and change its 'Inside Radius' property to match half the spacing between nodes (platforms) - this should ensure that the overall size of the roof matches the divided surface grid size
  • Adjust any of its other properties as desired - eg. Base Height
  • The individual nested families will most likely be shared families, unless you changed that when creating them - so you should be able to adjust other parameters by selecting the nested families in the project browser - eg. Number of struts. NB. it can be slow to make those property changes depending on your computer, but remember that Revit is doing a lot of calculating for each change, and it is still much quicker than creating such a structure by conventional Revit modeling tools.
  • You should now have a basic parametric model of the railway station roof of Santiago Calatrava's Gare do Oriente in Lisbon


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:

Tuesday, 26 May 2015

Got Your Repeaters in a Twist?


How many times have you tried to create a 'Repeater' from multi-point adaptive components in Revit, only for the result to be a tangled mess, instead of the neat array that you were expecting? 

You may be in luck - there could be a simple solution. . . .

When you select the underlying 'Divided Path' that the repeater is hosted on, it will display the number of nodes (a blue number above the centre of the divided path)
It also shows up in the properties dialog box.  A few other useful properties are also there, including 'Show Node Numbers', which is off by default.  Try ticking the checkbox.
 It will display each node number as well as the total
If you select the other divided path, and do the same thing, you may find that the node numbers go in the opposite direction.  Unfortunately you cannot display both sets of numbers at the same time - so you need to select them individually and remember the direction
If the numbers are in opposite directions, all you need to do is reverse one of them by clicking in the 'Flip Direction' checkbox.
You might be lucky and have the repeater magically untangle itself, but that is unlikely.  More likely it will still be wrong - maybe some missing elements if the node numbers are slightly out of synch.  It is probably better to undo the repeat command before you flip the direction.

Sometimes the hosted adaptive component will disappear when you flip the direction - in which case undo and delete it first - as Revit still thinks it is out there somewhere.

If you have just one hosted adaptive component, you may find that it just gets stretched to another location when the direction is flipped.
In which case you could select the adaptive point at one end, and rehost it to the correct node on the divided path
Once the nodes are matched up you can try the Repeat command again

If that didn't solve the problem, it could be more complicated!  Have a look at some of my other posts on Repeaters - listed on the Repeater Index Page


Saturday, 14 September 2013

How to Indent a Revit Repeater on a Divided Surface

In a recent post by Andy Milburn over on Shades of Grey, he mentioned that it is not possible to indent the edges of a divided surface.  Well, that is absolutely true - Divided surfaces are unlike divided paths, which have an indent setting so that you can push the start or end nodes of the path in from ends of the underlying path.
Divided Path indent settings

The implication of this is that when you use a divided surface to generate a "Repeater" in Revit, the repeated adaptive components will overhang the edge of the divided surface.   In the example below, a one point adaptive component is placed on a node of the divided surface, then repeated - since the adaptive component consists of a cylindrical extrusion centred on the point, it is repeated to all nodes of the divided surface.



Since you cannot indent the edges of a divided surface, how can you prevent the repeater overhanging the divided surface?  If you made the extrusion offset from the adaptive placement point you could make it indent on one or two sides of the divided surface, but then it would overhang even more on the other sides.

However, in Revit there is usually a way to achieve what you want, so I attempted to find a way to indent the repeater, if not the nodes of a divided surface:

How to Indent a Repeater Pattern

You have to use some tricky thinking, and control where the repeater components will land - and prevent it from placing any part of the extrusion in the adaptive component on the edge nodes.
One way to do this would be to create a four point adaptive component:
  • First create a new adaptive component and place four points in a square arrangement
  • Make the points adaptive
  • Join the four points with four reference lines
Now you need to set out a centre point to host the geometry so that it remains centred whatever the arrangement of placement of points
  • Place four more points on the mid-point of each reference line (watch for the triangular snap symbol
  • Join those four points with two more reference lines
  • Place yet another point on one of the central lines
  • When you select the point, it will have an option (on the Option Bar, no less) to host it by intersection
  • Select that option, then pick the other central reference line
  • It will move the point to the central intersection.
  • NB. On reflection, you could skip the last four stages and just have one central linking reference line with a single point on its mid-point.  However, you could this intersection technique for other situations - perhaps if your extruded geometry needs to be more complex than a cylinder (see later on).
  • Select the central point and set its "Show Reference Planes" to "Always"
 

  • Set the active Work Plane to the horizontal reference plane of the central point
  • Place a reference circle centred on the point (assuming you want a cylinder)
  • Give its radius a parameter
  •  Select the circle and "Create Form"
  •  Select the top facet of the cylinder and give its Positive Offset a parameter called "Height"
  • Save and load the family into wherever your divided surface resides
  • Place one of the components onto four adjacent nodes of the divided surface in the same order that they are numbered in the family (its good practice to always use the same convention - say clockwise, unlike the diagrams shown here!!)
  • Select the adaptive component and click on the "Repeater" command (its the Array icons, but with the letter P on it)
  • If you snapped to the nodes correctly it should create a regular pattern
  • The extruded cylinders will be inset from the edge - however, they will only be inset by half the distance between nodes
  • If you want the cylinders to be inset by the full distance between nodes, you'll need to be more tricky:
  • Delete the repeater (you cannot dissolve it or alter its layout)
  • Place a new component on alternate nodes in a square pattern
  • The cylinder should then sit exactly over a node
  • Select the component and "Repeat" it
  • The pattern should spread over alternate nodes on the divided surface
  • The spacing will then most likely be too big
  • Select the divided surface and double the number of divisions (or half the spacing if it is set by distance)
  • Oops - we've now ended up with the same indent as before, so we may need to try another trick
  • The answer here is to coerce Revit into doing what you want by indenting the initial placement of the component 
  • Make sure that the first placement node you select is one node in from both edges
  • Select the component and repeat it
  • This will only work if the number of divisions is equal;  it will probably no longer work if you start playing around with number of divisions after repeating the component - so it pays to set the number of divisions correctly to start with.

If you want to be really clever, you could go back to the original four point adaptive component and give it some reporting parameters and use them to drive the cylinder size depending on the divided node spacing