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
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by microelly2 »

Inspired by another threat I asked how to get the road profile opened by clipping planes.
phpBB [video]

for me it is the proof of concept for miki: describe an open inventor scene by a simple text and get direct access to the parameters using ids.
so we can clip the street in different directions and look inside.
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: Mon May 14, 2018 4:50 pm for me it is the proof of concept for miki: describe an open inventor scene by a simple text and get direct access to the parameters using ids.
so we can clip the street in different directions and look inside.
This is definitely not something you see in a standard highway design workflow... but we don't usually have a need for arbitrarily clipping the model in 3D as you're doing. In terms of design, there's only two clips that matter - profiles defined along an alignment (the center line of the road, a grade line for a ditch), or cross-sections orthogonal to an alignment. Orthogonal cross-sections are typically done at regular intervals (1', 10', 25', 50', etc).


That said, I don't mean to imply this wouldn't be useful. And having more functionality than we need at our disposal is never a bad thing. :)

I should also mention, for a BIM-quality model, where underground structures (culverts, gas lines, electrical conduits, etc) are being modeled, this sort of feature could come in handy.
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
griffmic88
Posts: 37
Joined: Mon Mar 05, 2018 3:18 pm
Contact:

Re: Civil engineering feature implementation (Transportation Engineering)

Post by griffmic88 »

Joel_graff wrote: Mon May 14, 2018 5:29 pm
microelly2 wrote: Mon May 14, 2018 4:50 pm for me it is the proof of concept for miki: describe an open inventor scene by a simple text and get direct access to the parameters using ids.
so we can clip the street in different directions and look inside.
This is definitely not something you see in a standard highway design workflow... but we don't usually have a need for arbitrarily clipping the model in 3D as you're doing. In terms of design, there's only two clips that matter - profiles defined along an alignment (the center line of the road, a grade line for a ditch), or cross-sections orthogonal to an alignment. Orthogonal cross-sections are typically done at regular intervals (1', 10', 25', 50', etc).


That said, I don't mean to imply this wouldn't be useful. And having more functionality than we need at our disposal is never a bad thing. :)

I should also mention, for a BIM-quality model, where underground structures (culverts, gas lines, electrical conduits, etc) are being modeled, this sort of feature could come in handy.
I have clipped areas within the design process for my personal use to check areas that are complicated in 3d modelling. Especially at intersections, with spline grades, it would by a useful addition, as Microstation I know has clipping planes for BIM models (for Blocks, in Autocad, and Cells, in Microstation) they are clipped for purposes that are strictly visual and a guide for the designer to look for things called conflicts. Conflicts arise when these said models interact that aren't supposed to and are flagged by the designer to review.

For instance, if I model a culvert and a gas line intersects this culvert a conflict flag notifies me to let me know that there is conflict...but where at specifically? That's where the conflict flag creates an automatic clipping plane for me to view the isometric, or standard view to visual the interaction, and also usually with a snap command identify the elevation of the conflict.
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 »

griffmic88 wrote: Tue May 15, 2018 8:24 pm For instance, if I model a culvert and a gas line intersects this culvert a conflict flag notifies me to let me know that there is conflict...but where at specifically? That's where the conflict flag creates an automatic clipping plane for me to view the isometric, or standard view to visual the interaction, and also usually with a snap command identify the elevation of the conflict.
There you go. I had a funny feeling it would be useful for a conflict management-type thing. We just don't use it enough to have a clue where I'm at. :)
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: Fri May 11, 2018 7:17 pm but I got schooled some time ago on another project that tabs were strictly verboten, which is why I switched...
amusing - found this article
https://stackoverflow.blog/2017/06/15/d ... -use-tabs/
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 »

I found a way to get the doxygen docu displayed from git
https://htmlpreview.github.io/?https:// ... index.html
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: Wed May 16, 2018 8:41 am amusing - found this article
https://stackoverflow.blog/2017/06/15/d ... -use-tabs/
That's hilarious. :lol: Too bad I'm not a professional developer!
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: Wed May 16, 2018 10:08 am I found a way to get the doxygen docu displayed from git
https://htmlpreview.github.io/?https:// ... index.html
I've never messed around with doxygen... well, once maybe...
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 »

Just a small update video on doing horizontal alignments in sketcher.

I went back to the basics and really tried to come up with the most efficient way to do layouts, and this is what I came up with. It's not really anything new, just a documentation of alignment design best practices, I guess...

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

Re: Civil engineering feature implementation (Transportation Engineering)

Post by Joel_graff »

@microelly2 - After I revisited alignment design, I went back and looked at your sketchlib files more closely. I'm trying to sort out a few thoughts:

1. The Constraint layer - It makes sense, but the way the layers abstract the design is a bit... odd? clunky? Your three-layered approach seems best - it's more robust than my approach, I think. The difference that bothers me is that there isn't a continuous back tangent alignment like I set up in my top layer in the video in my last post. I really feel as though the constraint layer ought to supply a complete constraining / control geometry for the entire alignment, not just short segments which define the direction of tangents between curves. In other words, every curve that can be adjusted in the Design layer, needs to be directly attached to a tangent line in the Constraint layer.

2. The Design layer - The geometry here should be reduced to the arc and it's immediate tangents, assuming the constraint layer provides continuous tangent geometry

3. The Result layer - How is the bezier curve represented / calculated? I see it doesn't exist as it's own object in the model...

As an example, suppose I design an alignment and at one place, I used a single-center curve. Perhaps I decide I would rather use a 2-center curve. If the Constraint layer provides continuous back tangents, I should be able to just delete the single-center curve's sketch from the model and add a new two-center curve, then attach that curve to the same tangents in the Constraint layer.

Maybe another way of looking at it is that you are maintaining the design continuity in the Design layer, where I feel it should be maintained in the Constraint layer...?
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