Civil Engineering Design functions

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
sanzo
Posts: 13
Joined: Mon Sep 22, 2014 8:00 pm

Re: Civil Engineering Design functions

Post by sanzo »

Other thoughts to add to the discussion:

Once the Alignment/profile/profile view(the section along the alignment) is figured out, I think it's important to have functions that translates the coordinates, from XYZ (easting northing elevation) to the alignment station and elevation and vice versa. And also from these two coordinates system to the X and Y of the profile view.
I just used these function in a VBA macro to place dynamic objects (sheetpiles - simple rectangles with adjustable height and width) on a profile view one next to the other, using the rock profile as the lower limit and the top excavation profile, and to export all the info needed to recreate these sheetpiles on Revit using dynamo (Client needs 2D drawings but also a 3D IFC model, but civil 3D < 2016 doesn't handle IFC).

On the LandXML side, we recently find out that the definition of a corridor (road, tunnel, bridge and so on) is very redundant (al least the civil 3D export), since the typical section is repeated throughout the alignment, instead of being a single "object" swept along the alignment between two points. This is because a corridor in civil 3D is not a solid, but a sequence of cross sections connected to each other (you can use the tool to transform it into solid, but it's not parametric).
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil Engineering Design functions

Post by microelly2 »

I have started the first version of a geodata workbench: import of openstreetmap information
https://youtu.be/4owqbD6lUI4

source:
https://github.com/microelly2/geodata

Next steps:
height information - where to get this info from for free?
lod1 for buildings
lod2 for standard buildings - is information of this kind free available somewhere in the world?
Attachments
bn_837.png
bn_837.png (44.72 KiB) Viewed 3842 times
bn_836.png
bn_836.png (521.88 KiB) Viewed 3842 times
cox
Posts: 971
Joined: Wed Nov 26, 2014 11:37 pm

Re: Civil Engineering Design functions

Post by cox »

Here is a link to the dataset openstreatmap elevation rendering is based on. http://www2.jpl.nasa.gov/srtm/cbanddataproducts.html

Some elevation data is also present as ele tags in the osm file.
Need help? Feel free to ask, but please read the guidelines first
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil Engineering Design functions

Post by microelly2 »

I'm looking for elevation data.
There are two sources easy to use by script

data from google
https://developers.google.com/maps/docu ... tion/intro
and
http://open.mapquestapi.com/elevation/#ex_directions

both work for my location and I cannot say something about the quality of data worldwide

https://maps.googleapis.com/maps/api/el ... 10.9483120

the idea is to get the elevation data in a wished precision for an area of interest, build a surface and place the buildings on it
I can ask the elevation of the control nodes and there is a support for ways too.

https://maps.googleapis.com/maps/api/el ... samples=10

http://open.mapquestapi.com/elevation/v ... 1,10,50,10

(mapquest requires a registration)

so I ask the community what data we want to use for a first implementation?
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Civil Engineering Design functions

Post by bernd »

microelly2 wrote: the idea is to get the elevation data in a wished precision for an area of interest, build a surface and place the buildings on it
I can ask the elevation of the control nodes and there is a support for ways too.
...
so I ask the community what data we want to use for a first implementation?
Besides the OpenStreetMap import I'm really interested in importing elevation data into FreeCAD. May be others too. Just would like to mention this because your are implementing elevation import into FreeCAD. Means it would be great if the elevation import would be possible without importing Openstreetmap data too (by python would be fine. ). There are lot's of use cases for this. For example I have done some excavation models in FreeCAD allready. I used point clouds which where fortunately supplied by an survey office.

BTW: OSM import looks great!
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil Engineering Design functions

Post by microelly2 »

bernd wrote: Means it would be great if the elevation import would be possible without importing Openstreetmap data too (by python would be fine. ).
There are two strategies:

1) given a lat/lon position and a diameter import a grid of all elevation data around the position of wished detail (say 1m squares - I still do not know the quality of data)
2) given a list of points (a way in osm) get the elevation along this way for example to get a 3D model of a highway

The api supports both, so I can implement them as python methods.
The result is a point set or a dwire.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Civil Engineering Design functions

Post by bernd »

microelly2 wrote:
bernd wrote: Means it would be great if the elevation import would be possible without importing Openstreetmap data too (by python would be fine. ).
There are two strategies:
1) given a lat/lon position and a diameter import a grid of all elevation data around the position of wished detail (say 1m squares - I still do not know the quality of data)
2) given a list of points (a way in osm) get the elevation along this way for example to get a 3D model of a highway
The api supports both, so I can implement them as python methods.
The result is a point set or a dwire.
Thanks for the informations. Sounds good to me. I'm looking forward to give them a try.
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil Engineering Design functions

Post by microelly2 »

I used Googleapi,

Area 5 km x 5 km (5000 points) = 15 sec
height diffs 200 m
bn_843.png
bn_843.png (45.89 KiB) Viewed 3529 times
bn_844.png
bn_844.png (638.15 KiB) Viewed 3529 times
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Civil Engineering Design functions

Post by microelly2 »

First Approximation move the buildings to their ground height using a 60 m grid

930 elevation points
208 buildings


computing time from map + elevation grid to this placement: 12s
time complexity = a * (930 * 208)

overall time for this district < 1 min :D
bn_845.png
bn_845.png (157.83 KiB) Viewed 3496 times
JMG
Posts: 288
Joined: Wed Dec 25, 2013 9:32 am
Location: Spain
Contact:

Re: Civil Engineering Design functions

Post by JMG »

Wow microelly, this is really awesome! :) :)
FreeCAD scripts, animations, experiments and more: http://linuxforanengineer.blogspot.com.es/
Open source CNC hot wire cutter project (NiCr): https://github.com/JMG1/NiCr
Exploded Assembly Workbench: https://github.com/JMG1/ExplodedAssembly
Post Reply