Civil engineering feature implementation (Transportation Engineering)

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
microelly2
Posts: 4690
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby microelly2 » Wed Dec 06, 2017 8:22 am

yes this works in most cases
I have a problem when I change some constraints in some mystic cases
the discussion is here
https://forum.freecadweb.org/viewtopic. ... 20#p202895

still one remark:
setting the solver to LevenbergMarquardt will help to avoid jumps too.
User avatar
Joel_graff
Posts: 1848
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Wed Dec 06, 2017 12:58 pm

microelly2 wrote:
Wed Dec 06, 2017 8:22 am
setting the solver to LevenbergMarquardt will help to avoid jumps too.
You're right - it's noticeably better.

That's pretty cool. :)
FreeCAD Trails workbench for transportation engineering: https://www.github.com/joelgraff/freecad.trails

pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers
User avatar
Joel_graff
Posts: 1848
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Mon Dec 11, 2017 12:05 am

Just created a github repo for the transportation engineering workbench

The link:

https://github.com/graffy76/freecad-transportation-wb

At present, it has stubs for the features I intend to implement in the coming months. It can create a new document with a feedback sketch and two clients (code courtesy of @microelly2) (one for horizontal geometry and the other for vertical).

Apart from that, it doesn't do anything else. I've started designing icons, but FreeCAD doesn't seem to like them. :(
FreeCAD Trails workbench for transportation engineering: https://www.github.com/joelgraff/freecad.trails

pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers
User avatar
Kunda1
Posts: 8738
Joined: Thu Jan 05, 2017 9:03 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Kunda1 » Mon Dec 11, 2017 12:28 am

Joel_graff wrote:
Mon Dec 11, 2017 12:05 am
Just created a github repo for the transportation engineering workbench

https://github.com/graffy76/freecad-transportation-wb

At present, it has stubs for the features I intend to implement in the coming months. It can create a new document with a feedback sketch and two clients (code courtesy of @microelly2) (one for horizontal geometry and the other for vertical).
+1 !!!
Joel_graff wrote:
Mon Dec 11, 2017 12:05 am
Apart from that, it doesn't do anything else. I've started designing icons, but FreeCAD doesn't seem to like them. :(
You can post in the UI/UX forum about this.
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
Joel_graff
Posts: 1848
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Mon Dec 11, 2017 12:41 am

Kunda1 wrote:
Mon Dec 11, 2017 12:28 am
+1 !!!
Yeah. I was strangely excited to have finally produced something I can share. :)
FreeCAD Trails workbench for transportation engineering: https://www.github.com/joelgraff/freecad.trails

pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers
User avatar
Joel_graff
Posts: 1848
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Thu Dec 14, 2017 3:38 am

Not that I mean to complicate things, but I just tried building a 2-center curve with all of the geometry that typically accompanies it. The video demonstrates the performance when adjusting the curve - it gets a bit jumpy. But, there are a lot of constraints.

Note that I'm representing all of the "mesaurement" geometry that is used in geometric highway design. Specifically, the curve radii, the chord, the curve tangents, the middle ordinate, and the external distance.

Relevant wikipedia link:
https://en.wikipedia.org/wiki/Geometric ... minology_2

In reality, while all of that geometry is used in geometric highway design, most of it isn't really necessary, I think, for laying out a curve - at least not in FreeCAD. Off hand, I can't say how valuable it would be to visualize a curve with this much additional geometry, but I expect it should be at least possible to toggle it on / off as it's needed. Some of those extra elements are used in design policies, so being able to verify their lengths by visual inspection will certainly be handy. I need to go digging through our design manuals at work one of these days to get reacquainted with all of that...

Anyway, I can share the file if anyone wants it as a test case for the sketcher solver (I'm using Levenberg-Marquardt in the video)...

phpBB [video]
FreeCAD Trails workbench for transportation engineering: https://www.github.com/joelgraff/freecad.trails

pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers
User avatar
Joel_graff
Posts: 1848
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Sat Dec 16, 2017 4:59 am

Just another quick video.

This time, I'm showing how FreeCAD can be used to lay out a real horizontal alignment using traditional highway engineering methods. I don't actually do this sort of design (and haven't for years), but from what I remember, this is pretty close to how I did it on paper when I was doing highway design.

phpBB [video]
FreeCAD Trails workbench for transportation engineering: https://www.github.com/joelgraff/freecad.trails

pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers
User avatar
microelly2
Posts: 4690
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby microelly2 » Sat Dec 16, 2017 7:25 am

So it's time to load the osm data from the geodat wb to have a first approximation of the infrastructure instead of an image map.
User avatar
Kunda1
Posts: 8738
Joined: Thu Jan 05, 2017 9:03 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Kunda1 » Sat Dec 16, 2017 11:04 am

:o !!
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
Joel_graff
Posts: 1848
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Sat Dec 16, 2017 1:06 pm

microelly2 wrote:
Sat Dec 16, 2017 7:25 am
So it's time to load the osm data from the geodat wb to have a first approximation of the infrastructure instead of an image map.
Can't hurt to do that. I was thinking about that a little bit the other day. Specifically, when laying out a new vertical profile (alignment), the existing terrain profile is generated first in order to develop the shape of the curve. Of course, determining the existing vertical profile depends on the shape of the horizontal alignment...

http://www.webpages.uidaho.edu/niatt_la ... erline.jpg

I also keep rethinking how things ought to be laid out. At the moment, I'm considering possibly containing both the horizontal and vertical in the same sketch - I'm having a hard time trying to think why I shouldn't do that, anyway.

I also discovered my own state (Illinois, USA) has published Lidar data / DTM's for all but handful of the counties - well over 90%, anyway. Not that it matters to anyone but me, but I was pretty excited - gives me some familiar terrain to work with, at least. :)
FreeCAD Trails workbench for transportation engineering: https://www.github.com/joelgraff/freecad.trails

pivy_trackers 2D coin3D library: https://www.github.com/joelgraff/pivy_trackers