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

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Sun Sep 15, 2019 7:30 pm

Kunda1 wrote:
Sun Sep 15, 2019 3:11 pm
Just an FYI to remember the work that @agryson did. He even made some guidelines for FC, Artwork_Guidelines
Yeah, I went there first, but nothing I could just use for my needs. I've read through the guidelines, too. Kinda handy, but I'm not an icon designer, etiher, lol. Though I've tried. ;)
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: 5781
Joined: Thu Jan 05, 2017 9:03 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Kunda1 » Sun Sep 15, 2019 8:20 pm

:+1:
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: 1540
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Tue Sep 17, 2019 11:46 am

Just a note for future reference, I've begun developing an external Python library for transportation engineering. I've dubbed it PyTrails. The goal is to basically offload the grunt work that is being done in the Trails WB to a backend that is pip-installable. Essentially, I want the WB tools to be almost entirely focused on UI development and FreeCAD-specific workflows. That way, if someone wanted to implement this in QCad or even Godot, they can.

Anyway, right now, it doesn't do much. Thus far, I've got it to import / export LandXML files (validating them against a specifed schema), and convert the etree to a dict (and back). currently building Python-specific objects that encapsulate the XML data so they can be used directly in a Python-based application.

Anyway the github link is here:

https://github.com/joelgraff/PyTrails

No documentation, but I am at least doing unit testing and running TravisCI (which, I'm discovering, is really pretty cool!)

Once I get the Python object codebase in reasonable shape, I'll probably do an initial release as a pip-installable library and maybe add it to my WB as a dependency. :)
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: 5781
Joined: Thu Jan 05, 2017 9:03 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Kunda1 » Tue Sep 17, 2019 1:45 pm

Joel_graff wrote:
Tue Sep 17, 2019 11:46 am
Essentially, I want the WB tools to be almost entirely focused on UI development and FreeCAD-specific workflows. That way, if someone wanted to implement this in QCad or even Godot, they can.
Smart
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
vocx
Posts: 1652
Joined: Thu Oct 18, 2018 9:18 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby vocx » Wed Sep 18, 2019 11:13 pm

Joel_graff wrote:
Fri Apr 19, 2019 2:18 am
A little update on the GUI tool I'm working on for horizontal alignment design.

I don't know how functional I'll make it, but it's coming along better than I expected...
...
By the way, I don't feel like reading 80 pages of discussion, but is there any expectation that this particular tool to show control points of lines and curves will be added to the Draft tools? Carlopav has been working on improving the Draft Edit tool in similar ways, adding Coin trackers and previews to different objects.
Last edited by vocx on Thu Sep 19, 2019 1:29 am, edited 2 times in total.
User avatar
Joel_graff
Posts: 1540
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Wed Sep 18, 2019 11:23 pm

vocx wrote:
Wed Sep 18, 2019 11:13 pm
By thew way, I don't feel like reading 80 pages of discussion, but is there any expectation that this particular tool to show control points of lines and curves is added to the Draft tools? Carlopav has been working on improving the Draft Edit tool in similar ways, adding Coin trackers and previews to different objects.
I haven't developed that per se, but it would be quite easy to do. I'm refactoring the codebase right now, implementing publisher / subscriber classes to help make the objects more interactive, so they can be easily linked to one another or to external controls. It's really getting better every time I go back in and rewrite things. I may try to create a pip-installable freecad-specific python library with just the tracker classes I'm creating so it's a bit more self-contained and portable.

That said - I see you doing a lot of work on the release notes page - looks good. Are you taking that over? ;)
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
vocx
Posts: 1652
Joined: Thu Oct 18, 2018 9:18 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby vocx » Wed Sep 18, 2019 11:24 pm

Joel_graff wrote:
Fri Apr 19, 2019 2:18 am
ping
Also, as you know I'm editing the Release notes 0.19 page. The Trails workbench was included but there is no picture.

It would be nice if you could post in this thread a single image that showcases the workbench. It doesn't have to be very complex, but something that attracts potential new users. In the Release notes 0.19 page, go to "Additional workbenches" to see some images used for other workbenches. For example, the image used in the "CurvedShapes Workbench" is quite good, as it shows what it is intended for. The image should have enough resolution, like 600x400 px. We don't want it to be too small and blurry, particularly if it has text.

This huge thread has millions of pictures and videos from microelly2 and others. I could go back and get an image from earlier posts, but I'm not sure what is specific of the Trails workbench, and what is part of microelly's and Hakan's investigations.
vocx
Posts: 1652
Joined: Thu Oct 18, 2018 9:18 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby vocx » Wed Sep 18, 2019 11:26 pm

Joel_graff wrote:
Wed Sep 18, 2019 11:23 pm
...
That said - I see you doing a lot of work on the release notes page - looks good. Are you taking that over? ;)
Ha, no. You are still the maintainer. I just swoop in and fix things here and there. :)
User avatar
Joel_graff
Posts: 1540
Joined: Fri Apr 28, 2017 4:23 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Postby Joel_graff » Thu Sep 19, 2019 1:27 am

vocx wrote:
Wed Sep 18, 2019 11:24 pm
Also, as you know I'm editing the Release notes 0.19 page. The Trails workbench was included but there is no picture.

Here you go. It's not great, but I sorta broke everything today as I started rewriting the base classes. :lol:


Screenshot from 2019-09-18 20-20-01.png
Screenshot from 2019-09-18 20-20-01.png (156.83 KiB) Viewed 102 times
vocx wrote:
Wed Sep 18, 2019 11:26 pm
Ha, no. You are still the maintainer. I just swoop in and fix things here and there.
Well, I certainly appreciate it. Wiki editing isn't my thing, and I like the formatting changes you've been making. Keep up the good work. ;)
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
vocx
Posts: 1652
Joined: Thu Oct 18, 2018 9:18 pm

Re: Civil engineering feature implementation (Transportation Engineering)

Postby vocx » Thu Sep 19, 2019 1:37 am

Joel_graff wrote:
Thu Sep 19, 2019 1:27 am
Here you go. It's not great, but I sorta broke everything today as I started rewriting the base classes. :lol:
Ha. Well... how does this image reflect the work of Trails? How is it any different from what you can create with Draft? I think we need a more impressive image, that is more transportationy engineery.

What do you say if you come up with a better image in a few days after you rewrite the classes? I mean, there is no rush, I just wanted to know if there was already a nice image to present the workbench. After all, the release notes don't have to be finished right now.