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
Joel_graff
Veteran
Posts: 1949
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by Joel_graff »

BC-carpenter wrote: Wed Apr 03, 2019 9:42 pm Conclusion:
Importing just the 3D points was sufficient for the project I was working on. I was able to triangulate a surface manually from the imported point cloud, and to reproduce as much of the survey information as was relevant.
Site investigation is substantially complete, and I am working on the fourth concept model for the new house.
Looks good!

I have horizontal alignments well-established. I hate to say it's done because there's no doubt plenty of edge cases that will break it. That said, it's really not hard to bring in LandXML data and move it into Python / FreeCAD data structures. All the same, I'm focused on getting highway design support in place, but there's another guy who's focused on a surveying-specific workbench and has designs on LandXML as well. You can find his thread here:

https://forum.freecadweb.org/viewtopic. ... 09#p291309

Hopefully, he'll continue development on that. The LandXML work I've done could easily be adapted for surveying needs.
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
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by microelly2 »

Joel_graff wrote: Wed Apr 03, 2019 10:13 pm The LandXML work I've done could easily be adapted for surveying needs.
Have you already published your xml-parser somewhere to reuse?
because of the problems with xml parser and python 3 I started too my own parser, in a first step for osm and pgx track data.
because these kinds of data use only a small functionality of xml such a special parser is not to complex and may be faster than the general xml parser.
I see that we can read the trinagulation data from the landscapexml file to create a mesh the direct way.
From the mesh to a Bspline surface we can use scipy interpolation methods.
User avatar
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Post by HakanSeven12 »

Joel_graff wrote: Wed Apr 03, 2019 9:39 pm So... I've been thinking of renaming the transportation workbench to something a little shorter... and catchier...

A few ideas:

FreeCAD-Roads
FreeCAD-Roadie
FreeCAD-Roady
FreeCAD-RoadRunner

Or maybe Roadbench. RoadBench?
RoadRunner +1
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by microelly2 »

HakanSeven12 wrote: Thu Apr 04, 2019 9:16 am
Joel_graff wrote: Wed Apr 03, 2019 9:39 pm So... I've been thinking of renaming the transportation workbench to something a little shorter... and catchier...

A few ideas:

FreeCAD-Roads
FreeCAD-Roadie
FreeCAD-Roady
FreeCAD-RoadRunner

Or maybe Roadbench. RoadBench?
RoadRunner +1
There is already a programm http://www.dia.uniroma3.it/db/roadRunner/
User avatar
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Post by HakanSeven12 »

Joel_graff wrote: Wed Apr 03, 2019 9:39 pm So... I've been thinking of renaming the transportation workbench to something a little shorter... and catchier...

A few ideas:

FreeCAD-Roads
FreeCAD-Roadie
FreeCAD-Roady
FreeCAD-RoadRunner

Or maybe Roadbench. RoadBench?
microelly2 wrote: Thu Apr 04, 2019 9:49 am There is already a programm http://www.dia.uniroma3.it/db/roadRunner/
We can rename WB as FreeRoads
User avatar
Joel_graff
Veteran
Posts: 1949
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by Joel_graff »

microelly2 wrote: Thu Apr 04, 2019 9:49 am There is already a programm http://www.dia.uniroma3.it/db/roadRunner/
HakanSeven12 wrote: Thu Apr 04, 2019 10:01 am We can rename WB as FreeRoads
All of the names I've listed are trademarked, I think. I did a little search, too. That said, if it's formally FreeCAD-RoadRunner or FC-RoadRunner, it would likely avoid entanglements, since it clearly cannot be confused with the other application.

I really don't care what it's called, to be honest. It could be anything - just something memorable and *short*!

We could call it Edsel. :D
https://en.wikipedia.org/wiki/Edsel
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
Veteran
Posts: 1949
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by Joel_graff »

microelly2 wrote: Thu Apr 04, 2019 7:14 am [Have you already published your xml-parser somewhere to reuse?
because of the problems with xml parser and python 3 I started too my own parser, in a first step for osm and pgx track data.
You'll have to go picking through my github to look at the work I've done with it, but it's all based on xml.etree.ElementTree. Nothing to see there so far as custom parsers go:

https://github.com/joelgraff/freecad-tr ... tionwb/XML

I worked hard to get FC to build with Py3 / Qt5 to make that happen. I don't think I'm going to be upgrading my version of FC any time soon. :lol:

I did spend a bit of time writing importer / exporter modules, though. The reason is because I want to map the LandXML element tags to a Python dictionary, but with different keys, if only because I don't want to be tied to LandXML too much, in case I need to support another format. Also, I want to make sure that the LandXML files are fully-specified, with all attributes that can be provided when saving the file out. This will help make sure the LandXML files generated by FreeCAD are compatible with every other application (that doesn't implement it's own LandXML spec, anyway).

Anyway, I agree it would be reasonable to write your own parser, but in the grand scheme of things, LandXML is used for everything, so I'd rather build my LandXML code around a library I don't have to support. :)
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
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by microelly2 »

Joel_graff wrote: Thu Apr 04, 2019 11:40 am We could call it Edsel. :D
https://en.wikipedia.org/wiki/Edsel
+1 because I love this kind of state coach,
it's a motivation to restart swept path dialog design to add this car model.
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by microelly2 »

Joel_graff wrote: Thu Apr 04, 2019 11:45 am
https://github.com/joelgraff/freecad-tr ... tionwb/XML
I worked hard to get FC to build with Py3 / Qt5 to make that happen. I don't think I'm going to be upgrading my version of FC any time soon. :lol:
Here is my short version of a parser which works both for p2 and p3
bp_972.png
bp_972.png (221.49 KiB) Viewed 1436 times
Attachments
my_xml_parser.FCStd
(323.05 KiB) Downloaded 36 times
my_xmlparser.py
(7.79 KiB) Downloaded 60 times
User avatar
Joel_graff
Veteran
Posts: 1949
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by Joel_graff »

microelly2 wrote: Fri Apr 05, 2019 6:22 pm Here is my short version of a parser which works both for p2 and p3
That looks handy. Though, I have to be able to add nodes and serialize the XML with the namespace information in the header as well...
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
Post Reply