Draw spline /polyline in Revit using x,y,z coordinates from an excel file

I was trying to create a 3d plyline from coordinates using dynamo . Could do it upto some extent , but the spline can not be selected in the revit window. I need that spline to be picked as a path for modelling a tunnel tube which is along an alignment profile based on the coordinates .

This process is relatively easy with other tools such as Microstation but with revit i am just loosing my patience because simple things are made so complex .

One way to use your curve as aligment is to create adaptive component.

  • first you split your curve on correct segment lengths
  • then you split your curve with those points
  • get start and end points from split curves
  • place adaptive component on those points
1 Like

This likely means you haven’t made a Revit element just yet, but are looking at Dynamo preview geometry. Post an image export of the canvas as you likely have missed the last step.

you work in family adaptive components and not in project or another family right. Should work. Did the same.

You also can import a dxf file (with your spline) and create a revit spline with Dynamo. I think its a better option.

Its also works in project, you just need to addaptive family in that way (mostly 2 point family)

Thts the script I have used to create a spline as per my coordinates , in adaptive family. After loading the spline family into the project , it doesn’t help , on loading , its asking for placement on a workplane or a face. (here the purpose of coordinates is getting lost , since I have to place that spline family manually . I want the spline to be automatically placed in to its coordinates when loaded .

Also the loaded spline cant still be picked for a path for creating a sweep profile , I am using revit 2019 and it doesn’t work , Please suggest some other measure.

Even after working in adaptive family it doesn’t work , the spline is created and can be loaded into project . but when I am trying to create a sweep profile using the same spline it cant be picked .

I have already tried importing a dxf file with spline but that cannt be picked for path for creating a sweep profile . No its not a better option , Please suggest something practical and workable

I think you did not get my query properly , the spline forms, very nicely with dynamo , both in the adaptive family and in project . even after creating an adaptive family, and loading into projct , I cant pick that spline for path and create a sweep profile .

I understand your problem, I just gave the alternative way to look at your problem. To use Dynamo SPline you need to have a family that can use that curve (Structural framing etc.), and even then you get alot of problems in Revit project.

We were using this workflow for a while (splines), but in the end the tunnel is build in straight segments, so its better for your model to be the same. So you create Adaptive family with 2 points (Inner lining, excavation, etc.) and then place that family on the points that you get. See pictures below!



Then for to get “watertight model” you use start or end angle with Void.

Let me explain my problem once again in detail.
I totally agree with your point that tunnel be build in straight segments between two points . I could do that successfully .

I could do this using a dynamo script for placing a tunnel ring family on the x,y, z coordinates .

Upto this point everything is fine . No issues .My tunnels are modelled as per the alignment .

Next step is I would like to model a walkway somewhat looking like this, but it should be along the entire length of the tunnel

As you can see in the images , the model lines are in parts (between 2 coordinates ) and it is created by dynamo itself If I am correct .

Now when I m trying to create a sweep profile , I have to individually pick these broken model line parts to create a path for the sweep . which is a very tedious task considering the entire length of the tunnel which is over 18kms . TAB selection doesn’t work here , I have tried it already . I just don’t want to do the picking of path individually and there should be a faster or a efficient way to do this which I am not able to do . Any suggestions ?? If you can help

Hmm my suggestion would to use structural framing by curve, since you can use curves as your location (dynamic node) but I don’t know this will work with sPline.

structural FRAMING BY CURVE ??!! Even that would need a reference curve to be picked upon and here are more than 1400 model line parts that need to be picked . So I guess there is no solution to this as of now !! Pathetic software for this kind of work ! yet Autodesk keeps marketing revit as if it can launch space rockets!!

You can use Dynamo Curves, you dont need Reference curves! Reference curves are needed if you want to place families by hand, most of curved elements work with Dynamo curves.

How do I input those broken model lines in my model into that input for framing by curve ?? so that the framing is modelled into that curve|?

Instead of using Reference Point By Coordinates, use Point By Coordinates, then Polycurve.ByPoints, then PolyCurve.Curves and you got your input Curves

1 Like

how to select these broken model lines so that framing is done all through out this line ?? any answer for that ?

are you generating those lines with dynamo or are those curves already present in your project?

please re read the entire thread , This is what I have been trying to explain since the beginning ,. these lines are created using dynamo itself to place the tunnel rings on the coordinates

and those are not curves , but straight segments between two coordinates ( or the centre point of tunnel rings ) tunnel is essentially moddled in segments like you said earlier in your comment .

OK since you are generating Model curves, you can easily generate Dynamo curves!

please re read the entire thread

We are the only ones in this conversation :slight_smile:
Also you were always saying SPline.

Like i said earlier use polycurve.bypoints you have all the data you need to create polycurve. use polycuve cuves to get all the segments of that curve. You can use that curves (lines, segmets what ever you want to call them) for adaptive component or structural framing