Thursday 26 March 2015

Civil 3D 2014 custom subassembly : DaylightMaxOffset (no slope changes) aka TKV_LimitedDaylight

2017.01.11 link update

This subassembly is a specially designed slope to surface for cases where a max distance is set but also a constant slope is desired. Using autodesk DaylightMaxOffset slope is changing if max distance is reached. Using this one slope set from user is kept. This can be used for eg retaining walls.

DropBox link to download the subassembly

Civil 3D 2014 custom subassembly : Basic link

2017.01.11 link update

There are multiple basic links that come with Civil 3D 2014.
The one i 've made using SAC is able to use multiple ways of defining the second point.
It is also possible to use target parameters for offset and elevation for the first point.

Link to download subassembly from DropBox

Saturday 14 March 2015

Leica RoadRunner-LandXML import

I do heavy use of autodesk Civil 3D and Leica RoadRunner 5.0 for roads, bridges, underpasses, overpasses etc.

At present time i prefer to use my programs to do the exporting from Civil 3D to LandXML.
I use the Civil 3D LandXML export only for the alignment and profiles.
Then with a program i developed i export CrossSections consisting of the points i choose in the order i set.
Finally i use another program of my own with which i join alignment and cross sections on the fly (although i can do this by hand-using a simple text editor to edit do the proper LandXML file joining)

This is just an online guide to remind me problems and tricks for future use.

1. DesignCrossSectionSurf are ignored. Only CrossSectSurf are loaded.

2. Multiple axies can exist in a single LandXML file but...
    2a. only one axis with cross sections can be loaded or else an error is reported and importing stops . Unfortunately even though a success message is displayed when importing multiple axies with only one of them containing cross sections in fact not a single cross section is loaded. Layers do exist. One for each alignment. But each layer is an empty of cross sections alignment.
    2b. user cannot select which axis to load. All of them are loaded. Each axis is set on a seperate layer mention this having in mind Carlson SurvCE way of improting LandXML.

3. Each CrossSect can have multiple CrossSectSurf . They will be represented as layers with their correspondent names. But the points will not be named with the codes mentioned in Civil 3D since CrossSectSurf format does not keep point codes. The names used are of type for example L1:3. L if left side, 1 for the first point in sequense,3 the ascending number for the layer when imported (it was loaded as the third one).

In case someone wants to preserve the point naming, since DesignCrossSectSurf are ignored, has to use Autodesk Civil 3D->Toolbox->Leica Geosystems->X-change->Export data to job.

But ALL points for each feature line checked when building corridor will be assigned. No layering takes place inside a baseline. Layering takes place only if multiple corridor and/or baselines exist.

For example if a corridor has three baselines but only the two of them were checked when building the corridor then the RoadRunner job will include those two base lines as layers with all of their points that belong to checked feature lines.
This means that point joining to lines for X-Slope will be sequential using the axis criteria. So if those lines are not the desired then the user has to go back and edit road job using the include/exclude key and store it.

Finally using Leica X-change for autodesk Civil 3D user can have multiple corridors with multiple baselines all in one job. Layering takes place at baseline level.

4. While in RoadRunner staking or checking then only points in selected layer appear. Again i mention this having in mind Carlson SurvCE in which all layers are visible but only the current is selectable.
A good practice is to include a layer with all points in it just for checking that no mistaken assignment took place when building LandXML CrossSectSurfs (layers).

Addition 2015-03-16

LandXML supports multiple gaps in CrossSectSurf . Multiple PntList2D are meant to be gaps.
But Leica RoadRunner importer does ignore them. No gaps. All points are joined sequentially.

But it is possible to enter points in what ever order. Points are joined the way they are ordered in PntList2D. That is perfect compared to Trimble's logic (Trimble Link-exporting road as surface). This way it is possible to enter points with same horizontal offset the way user wants to or even draw correctly closed shapes !

Addition 2015-03-17

If CrossSects->CrossSectSurf->PntList2D starts from right to left (descending order by offset) then ALL points are named as right even if there are points with negative offset.

Also if points start with negative offset but they are not ordered by ascending offset, just after the first positive offset, then all points even if negative they are named as right.

So for the points to get correctly named by RoadRunner LandXML importer, a good practice is to be ordered in PntList2D from left to right. But even if not correctly named this leads to no mistakes while staking or checking.