What do you mean Report the
Length of Any Curve?
Have you ever noticed that when you model a curve in Revit,
say in the in-place mass family editor, and you select the curve; the length
displayed in the properties window is grey-ed out. The length value is read only. That means it is not report-able.
“The Path Divided Method” presented below gives seven simple steps that will describe how to create a length parameter on a spline made up of 4 points. Note this method can be applied to any curve or series of curves.
1. Create a simple spline
·
Start by opening a new project and start a new
in-place mass and name it. Draw a spline by points . Select the Spline and note that the length
is greyed out.
2. Applying the divide path command
·
With the Spline still selected click the “divide
path” command. Change the number of nodes to 2. This will place a node on each end of the spline. The divide path is
the key to making the length report-able.
3. Changing the divide path layout
·
Select the divided path and change the “layout”
to ‘Minimum Distance’ as shown in divide
path properties in Figure 2.
·
Change the measurement type to “segment length” Note that the ‘minimum distance’ that is
displayed is able to be made into a parameter and it is the true
length of the spline!
4. Creating the “Stand In” or Stunt-Parameter
·
Click the parameter button next to the ‘minimum
distance’ value and create a parameter; call it “Change Me”. This will be
changed later because the minimum distance instance reporting parameter is
grey-ed out.
·
To work around the limitation of the parameter
not being able to be defined as a reporting parameter just simply make a
dimension that is a reporting parameter on a sacrificial element and then change that reporting parameter to the
minimum distance parameter. This is shown
in step 5 below.
5. Creating proxy or sacrificial elements that
host the stand in parameter
·
Create two sacrificial elements that will host
the reporting parameter. Place two points anywhere in the in-place mass
environment. Add a dimension between these two points and add a parameter to
that dimension that is an instance reporting parameter. Call it “Length_Report”
-Here is The Trick
·
Change the dimension parameter between the
sacrificial elements to “Change_Me”. Now the length between the nodes that are
hosting the reporting parameter and the length of the spline are the same. This
is critical -these need to be equal, in order to change the minimum distance
parameter to a reporting parameter… Note that these elements are called
sacrificial because their only purpose is to create a reporting parameter. You
may discard them or hide them once the reporting parameter is created.
6. Creating a parameter that reports length of
spline
·
Select that divided path and change the minimum
distance parameter to “Length_Report”.
·
Add the same parameter to the “maximum
distance”. Change the “layout” back to “fixed number” and presto. The length of the spline is now report-able!
7. Creating a shared parameter that reports
length of spline
·
To make this parameter useful in the project
environment simply create another Length Parameter; -make it Shared and call it
“Length_01”.
·
Via the Formula column set it equal to the
“Length_Report” parameter. Now anytime
the spline changes length it reports it to the Length_01 parameter. That will
now be able to be added to a schedule or a tag.
Closing remarks about method
This method is limited to three Revit modeling environments:
the in-place mass family environment, the (external) mass family environment,
and the adaptive component family environment and editors.
While the above steps may seem lengthy, with some practice it
can demonstrably be completed in about two minutes or less. Thus the in-place
method is a viable solution along with more traditional (external) families.
Applications of the Path Divided Method
Egress Path of Travel
The method described above also can be applied to splines, lines,
arcs or any series of splines, lines and arcs. This means that the total length
of a series of straight lines could be reported and scheduled and could be
easily applied to an Egress Path of Travel (with only one object!). Follow the
steps below and you will be able to schedule an egress length of travel in no time at all.
i.
Go to a floor plan and create an in-place
mass
ii.
Go to the Object Styles and change the mass
to “dash” and a thick line setting of at least 6. This will force all line work
in an in place mass to be dashed.
iii.
Sketch the dashed “path of travel” using
the model lines tools as shown Note
that the start node and end arrow were also modeled as shown. Also note that the line segments travel
down the stairs and are 3 Dimensional. Also, if desired sweep a profile
along the egress path
iv.
Instead of using the in-place mass line as
the “dashed” line for documentation you could, alternatively, create the dashed
path of travel lines using project modeling lines and lock the in-place mass
lines to the project model lines so that they move together and hide the in-place
mass model lines.
v.
Select the series of lines and select the
“divide path” command and follow steps 2 thru 7 as described above to make the
series of straight lines reportable.
vi.
Create a mass schedule in the project
environment that contains a “path” of travel. Display the shared parameter
created in step 7 above. Add the schedule to the same sheet as the egress path,
if desired, and it should look similar to the Figure above.
Expanded Elevations:
Unrolling the Curved Wall
The Path Divided Method can also be applied in such a way as to flatten
out a curved wall. The curved and unrolled walls in this example are hosted by
face onto “geometry in-place mass surfaces”.
The only real challenge is finding the length of the wall and with
the method described above it is easy. Follow the steps below to make the bottom
edge of the wall and the side edges of the wall into reportable length
dimensions and then create a wall that is flattened or “unrolled”.
i.
First create the curved wall by creating an
in-place mass surface. Draw a spline with four points on any level. Select the
spline and select the “create form” command. This will create a surface that
will serve as a “geometry rig” for the curved wall.
ii.
Go to the project environment and place a
wall by face on the in-place mass surface. It should look similar to the curved
wall.
iii.
Edit the mass surface again and select the bottom
edge of the wall rig. While the bottom edge is selected active the divide
command and follow steps 2 thru 7. Do this again for the sides and follow steps
2 thru 7. Note that divide path could also be applied to edges, in this case
wall edges, as well as curves.
iv.
Now create the unrolled wall by creating a rectangle
in the same in-place mass editor as the previous step. Apply the bottom
parameter and side parameters to the length and height at each end of the rectangle.
Host a wall to this surface. The final unrolled wall should look similar to what
is shown in Figure 6.
v.
Follow the steps above to create length and
width parameters for the curved and unrolled wall openings.
Closing Remarks: Do What Can’t Be Done.
As you can see after reading this article, that there is a way to report and schedule any
curve, including splines. So, in the
future; any time someone says “you can’t do that in Revit” be skeptical at the
very least.
Other applications of this method? The sky
is the limit!
I am very excited to have people try this method and apply it to
whatever they feel will benefit them and their company. Please feel free to
share your use of these methods and who knows; maybe we’ll get this
functionality in Revit one day without having to use the divide path command.
The entire article could be found here
1 comment:
Hi,
This works fine for a component that is not adjustable inside a Revit project. I want to create a family that has the ability to change and be adjustable within a project, such that it's possible to schedule the different lengths of the components of a curved line. In such a case, what would be the process to obtain this?
Best regards,
Tore
Post a Comment