Revit API Forum
Welcome to Autodesk’s Revit API Forums. Share your knowledge, ask questions, and explore popular Revit API topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to use the SDK/API to extract a 3D path from a Revit model?

7 REPLIES 7
SOLVED
Reply
Message 1 of 8
Anonymous
938 Views, 7 Replies

How to use the SDK/API to extract a 3D path from a Revit model?

Please notice the web-based tool that I am developing. You will notice a strong resemblance to a certain 3D app that we all know and love.   : -)

http://www.dealey-plaza.org/this-government-as-promised/SBT-MBT-Tools/Robertson-Measurement-Tool/ 


User Instructions here:
http://www.dealey-plaza.org/this-government-as-promised/SBT-MBT-Tools/RMT-for-Dummies/ 

 

Question:
I have a top accuracy Revit model of that site, Dealey Plaza. What I need now is to extract the path followed by a vehicle in the middle lane. See below several screenshots from an inaccurate SketchUp model.

I would prefer the path (pun intended) of least resistance, using the GUI. Will I have to resort to the SDK?

 

TIA,

 

-Ramon F. Herrera
JFK Numbers

 

18 Zapruder Frames18 Zapruder Frames

 

Image 1.jpg

 

Image 2.jpg

 

Height Above Sea LevelHeight Above Sea Level

 

Image 4.jpg

 

Image 5.jpg

 

7 REPLIES 7
Message 2 of 8
Anonymous
in reply to: Anonymous

Since I have not received any replies in the Architecture forum, I suspect that -as usual- the solution to my problem is not trivial.


https://forums.autodesk.com/t5/revit-architecture-forum/how-to-extract-a-3d-path-from-a-revit-model/... 

 

How about sampling the model?

 - Click on one spot on the road: what are the 3D coordinates of this spot?

    Revit dutifully answers.

and you keep on clicking, writing down the coordinates.

-Ramon
JFK Numbers

 

Message 3 of 8
jeremytammik
in reply to: Anonymous

I assume that you can retrieve the curves representing the road edges.

 

Once you have the right and left hand side edge curves, you can easily generate a model line in the middle in between them:

 

https://thebuildingcoder.typepad.com/blog/2013/08/generating-a-midcurve-between-two-curve-elements.h...

 



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 4 of 8
Anonymous
in reply to: jeremytammik


@jeremytammik wrote:

I assume that you can retrieve the curves representing the road edges.

 

Once you have the right and left hand side edge curves, you can easily generate a model line in the middle in between them:


I do not have the road edges. How should I get them? This is all I have:

(1) The original laser point cloud donated to my 1-person, Not-for-Profit operation:



(2) A Revit model extracted from it with As-Built:

 


Did you notice that car zig-zaging? A need a much more accurate path.

 

My latest approach has been to use ReCap to sample points on Elm Street and write the values by hand. See attached spreadsheet.

TIA,


-Ramon
JFK Numbers

 

Message 5 of 8
RPTHOMAS108
in reply to: Anonymous

Most curves you create in Revit are based on a flat plane i.e. the simplest curve fit of points is the HermiteSpline.

 

In AutoCAD you can create a 3D polyline (3DPoly), fit it to a spline (Pedit) and divide it with the divide command. You can then extract these points (Extract Data command).

 

If there is no changing point from negative to positive in the gradient of the road along it's path you can sort the points by Z. If that isn't the case and since the road doesn't turn back on itself you can sort the points by distance from the first point in Excel. Once you have these points you can join them with straight line segments to give a smoother path. It does not help you in terms of how you get this back into Revit to form a continuous 3D curve. It would probably at best be a series of straight model lines with many separate sketch planes orientated to suit.

 

You can get very civil engineer about this with the right tools i.e. you can replicate the properties and behaviour of the car in C3D with vehicle tracking to try and drive the car through the points. This would then take into account how quickly the car can change direction given it's speed at various points.

 

Message 6 of 8
Anonymous
in reply to: RPTHOMAS108

For those interested in the topic, I am implementing yet another solution/workflow (many are needed for this problem).

 

After quite a struggle, I was able to put an excellent open source application, named Potree, used to process point clouds:

https://github.com/potree/potree 

in my Linux server:

 

http://jfknumbers-forum.org/potree/examples/ 

 

Thanks!

 

-Ramon
JFK Numbers

 

One Point at a TimeOne Point at a Time

 

Message 7 of 8
Anonymous
in reply to: RPTHOMAS108


@RPTHOMAS108 wrote:

 

You can replicate the properties and behaviour of the car in C3D with vehicle tracking to try and drive the car through the points. This would then take into account how quickly the car can change direction given its speed at various points.

 


That is an excellent tip, Richard.

I will assume that you were referring to Cinema 4D aka C4D. My next stop will be in that forum.

 

TIA

 

-Ramon
JFK Numbers

 

Message 8 of 8
jeremytammik
in reply to: Anonymous

I assume C3D refers to the Autodesk AutoCAD-based product Civil3D: 

   

https://www.autodesk.com/products/civil-3d/overview

 



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Customer Advisory Groups


Rail Community