Hello!
I am having trouble getting the length of a spline out of an adaptive family.
In short, I have an adaptive family that consists of 3 points, between where there is a spline. This spline is used as a sweep path for some 3D geometry. I need to get the length of that spline out and make it report-able from the model in which the family is loaded.
I did some searching prior and found a tutorial that does make the length of the spline visible from the Revit project (http://www.revitforum.org/blog-feeds/14618-report-length-any-curve-including-splines-egress-paths.ht...) but the problem is the reported parameter is stuck to the length of the spline in the family. When I bring a new instance of the family and and place the three points, the reported length does not change to reflect the new spline length.
Any help would be greatly appreciated since this method most accurately represents the real 3D geometry.
Thank you!
Solved! Go to Solution.
Solved by ToanDN. Go to Solution.
Welcome to the forum.
In that article by Marcello that you are referring to, step # 7 describes how to create a shared parameter with the length of the spline.
Unfortunately however, once in the model, the reported parameter only reports the length of the spline in the original family. Once you actually drop an instance into the file and place your three points, the reported length does not change.
So for an example, if when creating the family, say the spline is 50' long. Once you go into the actual model and drop in the new fixture, place your 3 points, the reported length will always say 50', no matter the length of the new instance.
Please advise.
Thanks!
I tried to follow all the steps from the article and I could not get the expected result either.
As an alternative, another way of obtaining the length of a spline is by using Dynamo, with at least the 3 nodes that I show below in the green group. The other two nodes are optional, in case you want to send the length to a text file. This value always updates if the same spline is edited. I hope it helps.
My apologies as I am pretty unfamiliar with Dynamo...
Can I use the data coming out of this in both a tag as well as reporting in schedules? Because with my limited knowledge it appears as though you can save this data externally but you'd have to build a separate patch to read FROM the linked CSV file and add that into the tag and schedules (which I could probably stumble my way through but seems horribly inefficient).
To me, this seems like a bug in Revit...reporting a base family parameter value rather than an instance's.
Thank you!
Well, it's definitely a feature that would be useful to have. Revit doesn't schedule lines, in the way that AutoCAD Architecture can schedule almost any geometry, lines, circles, etc. So, unfortunately, this feature is missing in Revit and what we have available is some solutions such as Marcello's method (which I could not reproduce either) or some Dynamo nodes.
I very much agree...
So going back to the original question, we have a spline used as a sweep path inside an adaptive family. I need the length of that spline (or the 3D object if that's somehow more accessible) in a tag and/or a schedule of generic models. It sounds like Dynamo could measure the length of the spline, but could not attach the value to the object in a way that allows it to show up in schedules...but could there be a patch that reads that info from the CSV back into the model?
Thank you!
You may want to contact Mario Guttman. He has written a set of tools for Revit, called "WhiteFeet". I have heard that this set of tools that allows the user to get access to values and properties of elements that we are not accesible by default.
You said you were using the adaptive as a path to create a sweep. If the sweep profile is constant then you can create a calculated parameter to get the Path length based on the Volume and the Profile Area. It will not be 100% precise but closed.
That's an excellent idea...
I'm working with someone at Autodesk right now to see about reading the parameter using RevitLookup, and then sending it back in to use in a schedule or tag. But if that fails, then that might be a good route to go.
Thank you!
@ToanDN - I see where you are going with this, but I am running into the same problem...could you elaborate exactly how you would use the volume parameter (which I see does in fact update with the instance of the family), and create a parameter out of it that would show up in tags and schedules? Maybe my unfamiliarity with Revit is showing...
Thanks!
And how to report the calculated Length in a Tag (only works in Revit 2017):
Edit a Mass Tag family. Add a shared parameter [Profile Area].
Create a Label and add a Calculated Value like below:
Load it in Project.
Bring the same shared parameter in Project:
Tag them:
The calculated parameter for the schedule worked brilliantly. Thank you so much for that!
As for the tag, I'm still stuck in Revit 2016 in fear of squashing the shared models...but I will try what you suggested when I get a chance.
I still wish that the length parameter was available as a report-able parameter :).
Thank you!
@rmarkowitz Please remember to use the "Accept as Solution" button to mark the post that you consider as the solution.
I know this is a relatively old thread, but coould you share (if you remember) what family template you used? Im tryig to replicate the process but i cant get the parameter to show anything
Can't find what you're looking for? Ask the community or share your knowledge.