Considered doing an AU class on the value of Adaptive Points and Dynamo, but no time this year. Depending on the type of Nurbs curve, and if you don’t mind having Dynamo open during the process, my favorite option is this:
- Create an Adaptive family
a. Create a point at the family origin and make it an Adaptive point. Change the point’s orientation parameter to whatever you like-- let’s say “by instance”.
b. Set the active workplane to the adaptive point XY workplane.
c. Place a point (by workplane) on this plane, and set it’s offset to, say, 5 ft. You can even tie this offset value to an instance or type parameter in the family.
d. Save this family (00 01PT_Adaptive_Line.rfa) - Load this family into your project or Mass.
- You can either place this family at the desired points from Dynamo (AdaptiveFamilyByPoints) or place them manually and then reference them by selection from Dynamo. Either way, you can get the point location in Dynamo afterward either by getting element geometry and choosing the start point of the line, OR, because the Adaptive Point is at its family origin, getting (I think-- not at puter) element location.
- Make sure Revit preview is turned on in Dynamo, and then use NurbsCurveByPoints in Dynamo. Now you can see, live and in project environment, your Nurbs curve(s), and are free to move your points around freely.
You would probably need to save Dynamo files for working groups of Nurbs curves, especially if your process requires you to send model lines to the project. Be sure to save your Dynamo file when done-- That way the model curve element IDs are saved into the .dyn file, and if you wanted to edit model curves down the pipe, they would be overwritten when the script is run again (not require deletion).
One trick here is if you need to insert control points, but they do not occur at the end of your curve. I believe when selecting multiple elements from Dynamo, the list order is by element ID, and hence order of creation (I still don’t know of a multi-element selection by pick order in Dynamo that retains its selection after save/close/reopen. I believe Springs Package has a pick multiple by pick order, but it loses reference after closing). Your points will be out of order and not produce desired result. A workaround is to draw a model line or chain of model lines in Revit that approximate(s) the path of your spline. You can then reference this curve(s) in Dynamo and sort the points using the guide curve to get them in the proper order. Yet another workaround here is to assign numeric values to the Mark parameter (or a parameter you create) of each point instance, and sort this way.
Would love to know if others out there have a better way, and would definitely love to know of a selection by pick order with persistence.
Nick