FreeCAD Trails Workbench (Transportation and Geomatics)

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

Re: Geomatics Workbench

Post by Joel_graff »

:shock:
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: Geomatics Workbench

Post by Joel_graff »

HakanSeven12 wrote: Fri May 10, 2019 11:34 am Test for create contour feature.
Did you ever get LandXML figured out for surfaces?
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
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: Geomatics Workbench

Post by HakanSeven12 »

Joel_graff wrote: Fri May 10, 2019 12:05 pm Did you ever get LandXML figured out for surfaces?
No :) I thought you'd do it.
User avatar
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: Geomatics Workbench

Post by HakanSeven12 »

HelmutHogreve wrote: Fri May 10, 2019 9:14 am Hi,
The workbanch will not be displayed after manual installation. Is there a bug in the InitGui.py?

class GeomaticsWorkbench ( Gui.Workbench ):
^???????
No it works. I remove and reinstall it.
User avatar
Joel_graff
Veteran
Posts: 1949
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Geomatics Workbench

Post by Joel_graff »

HakanSeven12 wrote: Fri May 10, 2019 12:09 pm No I thought you'd do it.
It's going to be quite a while before I have time to do that, I'm afraid. :(

If you're interested in getting something going sooner, I can help you set up the data structures, based on what I did for alignments. It's not hard to parse the XML, but you'll have to decide how the internal dataset that your workbench uses will be structured - whether it will follow the XML schema or if it'll be unique. I opted for a unique structure because the internal alignment data doesn't map 1:1 to the XML data.
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: Geomatics Workbench

Post by Joel_graff »

HelmutHogreve wrote: Fri May 10, 2019 9:14 am Hi,
The workbanch will not be displayed after manual installation. Is there a bug in the InitGui.py?

class GeomaticsWorkbench ( Gui.Workbench ):
^???????
You might want to post the error message you're getting along with your system information.

System information is available under Help -> About FreeCAD - click the 'Copy to clipboard' button, then paste the clipboard text into your post.

I don't know how Hakan has structured his workbench, but if you're running Python 2.7, there's a good chance that's the problem. ;)
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
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: Geomatics Workbench

Post by HakanSeven12 »

Joel_graff wrote: Fri May 10, 2019 1:12 pm I don't know how Hakan has structured his workbench, but if you're running Python 2.7, there's a good chance that's the problem. ;)
My workbench works with python 3.6 :)
User avatar
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: Geomatics Workbench

Post by HakanSeven12 »

Joel_graff wrote: Fri May 10, 2019 1:09 pm It's going to be quite a while before I have time to do that, I'm afraid. :(

If you're interested in getting something going sooner, I can help you set up the data structures, based on what I did for alignments. It's not hard to parse the XML, but you'll have to decide how the internal dataset that your workbench uses will be structured - whether it will follow the XML schema or if it'll be unique. I opted for a unique structure because the internal alignment data doesn't map 1:1 to the XML data.
Your workbench already have an Import XML function and you can add surface parse in it.Because landxml files can includes alignments and surfaces together. So its not sensible use two workbench for XML import.

If you can return a list of triangles vertexes we can create a mesh with that vertexes.
User avatar
Joel_graff
Veteran
Posts: 1949
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Geomatics Workbench

Post by Joel_graff »

HakanSeven12 wrote: Fri May 10, 2019 1:50 pm Your workbench already have an Import XML function and you can add surface parse in it.Because landxml files can includes alignments and surfaces together. So its not sensible use two workbench for XML import.
It's really a bit more complex than that.
'
The XML parser I created can be re-used, but once you import that XML data, you need to parse it for your purposes. As you suggest, you need a list of triangles, so that's up to you to convert the XML data you need to do that.

So there's several parts to making the XML import / export modules work:

1. Create a 'surface importer' which uses the LandXML module to import LandXML data and parse it. This converts the XML data to a format that's useful to you in your workbench.

2. Create a 'surface exporter' which takes your internal data and builds the corresponding XML for use in other applications.

3. Ensure that the importer / exporter follow the LandXML schema (v1.2) for surfaces. This means you'll likely have to handle XML elements and tags you don't use, at least for exporting, to ensure your LandXML conforms the the schema and is readable by other applications.

Personally, I think you'll be better off if you get familiar with the XML schema for surfaces / survey data, if you aren't already. It will help make your workbench better because it will help you think about features / functions you might not yet have considered. It also helps ensure that what you do internally can be easily exported for use in other software. Really, if you can't export your data to LandXML and ensure it's 100% compatible with the schema so it can be used in other applications, you are only making your job more difficult later on.

All of my XML-related code is contained here:

https://github.com/joelgraff/freecad.tr ... roject/xml

The LandXML schema documentation is here:

http://www.landxml.org/schema/LandXML-1 ... .2Doc.html

I will certainly help you with the process, but I suspect it's a bigger job than you might think :)
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
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: Geomatics Workbench

Post by HakanSeven12 »

Joel_graff wrote: Fri May 10, 2019 2:15 pm It's really a bit more complex than that.
'
The XML parser I created can be re-used, but once you import that XML data, you need to parse it for your purposes. As you suggest, you need a list of triangles, so that's up to you to convert the XML data you need to do that.

So there's several parts to making the XML import / export modules work:

1. Create a 'surface importer' which uses the LandXML module to import LandXML data and parse it. This converts the XML data to a format that's useful to you in your workbench.

2. Create a 'surface exporter' which takes your internal data and builds the corresponding XML for use in other applications.

3. Ensure that the importer / exporter follow the LandXML schema (v1.2) for surfaces. This means you'll likely have to handle XML elements and tags you don't use, at least for exporting, to ensure your LandXML conforms the the schema and is readable by other applications.

Personally, I think you'll be better off if you get familiar with the XML schema for surfaces / survey data, if you aren't already. It will help make your workbench better because it will help you think about features / functions you might not yet have considered. It also helps ensure that what you do internally can be easily exported for use in other software. Really, if you can't export your data to LandXML and ensure it's 100% compatible with the schema so it can be used in other applications, you are only making your job more difficult later on.

All of my XML-related code is contained here:

https://github.com/joelgraff/freecad.tr ... roject/xml

The LandXML schema documentation is here:

http://www.landxml.org/schema/LandXML-1 ... .2Doc.html

I will certainly help you with the process, but I suspect it's a bigger job than you might think :)
After I finish this workbench, I can do something for that :)

I have a question for you how can I get tangent vector at a station?
Post Reply