Civil Engineering Design functions
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Re: Civil Engineering Design functions
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).
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).
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Civil Engineering Design functions
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?
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 (44.72 KiB) Viewed 3845 times
-
- bn_836.png (521.88 KiB) Viewed 3845 times
Re: Civil Engineering Design functions
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.
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
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Civil Engineering Design functions
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?
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?
Re: Civil Engineering Design functions
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.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?
BTW: OSM import looks great!
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Civil Engineering Design functions
There are two strategies:bernd wrote: Means it would be great if the elevation import would be possible without importing Openstreetmap data too (by python would be fine. ).
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.
Re: Civil Engineering Design functions
Thanks for the informations. Sounds good to me. I'm looking forward to give them a try.microelly2 wrote:There are two strategies:bernd wrote: Means it would be great if the elevation import would be possible without importing Openstreetmap data too (by python would be fine. ).
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.
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Civil Engineering Design functions
I used Googleapi,
Area 5 km x 5 km (5000 points) = 15 sec
height diffs 200 m
Area 5 km x 5 km (5000 points) = 15 sec
height diffs 200 m
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Civil Engineering Design functions
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
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
Re: Civil Engineering Design functions
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
Open source CNC hot wire cutter project (NiCr): https://github.com/JMG1/NiCr
Exploded Assembly Workbench: https://github.com/JMG1/ExplodedAssembly