Friday 23 October 2015

Trimble link for Civil 3D Road Corridor Export bug

When exporting a surface nomatter what method is used to create it (links or feature lines) in case other points with obviously different point codes exist over the points with codes that create the surface then Trimble Link Road Export creates Template Records with points named with the name of the most top Civil 3D point code name.

Say exporting a datum surface. If used a subassembly eg LaneOutside then it does export the correct points Crown_Subbase,ETW_Subbase offset and elevation but with the code names Crown and ETW!!!

The only way to bypass it is to uncheck the future lines of the unwanted codes.

But this is a problem in case those codes create another surface! You must delete the surface not just uncheck it.

Tuesday 13 October 2015

Trimble Link Civil 3D road export critical points of interest.

A Civil 3D road can be exported to RXL only if a Corridor surface has been created.
But Trimble Link does not in fact export triangles !
In fact it uses this surface for two purposes.
First is to get the feature lines and or links that compose the surface.
Second is to get the area that the surface is limited.


The second purpose is critical for two reasons.
1. User may have not created a boundary. So useless surface triangles might exist. This is not a problem since exporting does not use any triangle at all.
2. User may have created a boundary that does not cover the whole of the expected corridor surface area but a part of it !!! So Trimble Link reports a text message to indicate those areas by station values. And finally those areas are omitted !!!


There are some very serious limitations about Trimble Link and they occur because of the logic Trimble Access or Survey Controller works.


There is always at least one side. Left or Right. It is not possible to have a road that it is not connected to axis. Axis can not be far away out of the road !!! Links always start from the axis !!!


It is not possible to have a continuous lane that crosses an axis !!! If a lane includes an axis then Trimble Road Link cuts the lane in two pieces. One for the left side and ne for the right one.
Also if lane does not pass through axis at profile elevation then for both sides a code named "Constant" vertical element is created from axis profile elevation to intersecting lane position.


Another serious limitation has to do with slopes. User is forced to select whether to consider last element for left and or right side as a slope. This is completely idiotic. There are cases that some cross sections do have slopes and some others do not. There should be an option to select codes by Link and or Feature Lines to consider them as slopes.
Most worse if a side has only one element then this is considered to be a slope one so user has no idea where this element ends !!! Totally crap logic !!!
Another one serious limitation has to do also with slopes. Say a cross section has a design catch daylight cut for 1:3. If side slope is checked for this side then cut slope is set to 1:3 but also fill slope is set to the same slope no questions !!! So if on site the real case is a daylight fill and a 2:3 is the desired slope then user must be carefull so that he manually change the slope.
There should be an option for the user to select to have a "Do not assign non existing slope" or "Default fill/cut slope to use if not existing in Civil 3D".
In case there are not a lot of cross sections i use MS XML editor to manually alter the Slope elements of the exported RXL file. If only i knew that new Trimble GPS does not support Carlson SurvCE...




Leica RoadRunner is not limited to anyone of those above. It can also accept points that create a closed shape !!!


Leica RoadRunner uses only one way to export corridors. Feature lines. In latest version (Civil 3D 2016) it is possible for the user to select which (available-meaning checked in corridor parameters) of them to export. But it is not possible to export parts of cross sections using boundaries.


My choice...Leica RoadRunner. Not the best. Not even close. But compared to Trimble Link then...no second thoughts.


Soon to enter some images to graphically represent the above.

Thursday 27 August 2015

SAC : New limitation found. Points entered in Decision branches.

I entered a Decision.
False produced a new Point. True also produced a new point.
None of them was available when i tried to use them in a link at a following flowchart although they were both preview visible for their case to take place.

So Points entered by decision are not available for Links. And i guess that their properties (.x,.y,.offset,.elevation,.isValid) are also not available.

Tuesday 25 August 2015

Civil 3D tip. Feature lines vs 3D polylines as corridor target lines

3D polylines can be used as corridor target lines.
Each one gets a name from Civil 3D and the user can not set it or change it.
But if you break it then both new parts keep the same name. And this is a problem when using them as targets.


The only workaround i found is to convert them to feature lines. Names are always unique even in case of breaking and can be set and changed by the user.

Thursday 30 July 2015

AutoCAD 2016 tips,tricks and workarounds : LISP programs permanent assignment to CUIX

I have concluded that the only way to permantly assign LISP files to a CUIX partial or main is to load them one by one. Not copy them from another CUIX partial or main. If coping them then they will not be there when exiting-restarting autocad!

AutoCAD 2016 tips,tricks and workarounds : CUI vs QUICKCUI

When entering CUI through right click on an empty spce on a toolbar then the command is QuickCUI. Its main difference is that CUI holds the user settings for its window while QuickCUI does not.

Saturday 20 June 2015

SAC : My experience, my opinion

My final conclusion considering SAC is that it is only for very-very simple subassemblies.


It has development environ problems.
. Deleting input/output variables leads to freezing. Before deleting you should save or you loose everything until last save. The best way to delete is to save, close, reopen and delete.
. When it starts becoming "heavy" meaning lots of variables, containers, cases etc it responds very slowly. It is impossible to create a complex subassembly.


For someone like me that is used to VB.net...


...development environ is very annoying
.changing a variable's declaration name does not automatically change all its references
.cut and paste leads to renaming variables with _copy


...lucks of simple programming tools
.no arrays
.no loops
.no string manipulation
.variables are visible only after there declaration
.variables can not be private


It has bugs.
.enum size reducing leads to crazy behaviour


It lucks some functionality
.it is impossible to set the desired order for the user input values

SAC 2014 : BUG : deleting enum item

In the past i created a subassembly using SAC 2014.


New needs made me to clone it and create a slightly different one.


Among other changes i reduced by one the population of the items of an enum.
Nothing worked fine after this.


While in SAC experimenting with different scenarios i noticed that when i changed to none a superelevation variable of my own, just after this action, this variable changed by itsehelf to Side!!!
And it happened no matter what workaround i tried.


I tried importing the subassembly to C3D 2014 so to see what will happen. Abnormal behaviour. Changing values to the reduced enum resulted to disappearing points (!) and various error reports.


Finally after restoring the erased enum value everything worked fine!

Friday 12 June 2015

Civil 3D 2014 : Corridor surfaces tips and workarounds

Creating corridor surfaces can be done by two main ways.
Feature lines and Links.

When created by links there are many cases that civil 3d jump from links to points that do not belong to those links.
So the best way to create a correct surface is to use feature lines.
But in this case when creating custom subassemblies you must assign codes to all points for all cases.
Another disadvantage is that there are cases that surfaces may end to points with various coding.

Another serious issue has to do with boundaries.
Selecting automatic corridor edges in most cases gives a wrong boundary.
Interactive works fine.
By object works fine.
The best of all is to select which feature lines to use.But it can not be used for all cases.

Civil 3D 2014 intersection corridor surfaces. Multiple baselines, boundaries, angled edges and Trimble Link

Two roads end in agle side by side to a third road.
I put them all in one corridor. I used three different baselines.

Trimble Link works only with corridor surfaces. So i had to create surfaces.
I tried both Feature Lines and Links.
In both cases surface was created only for the first baseline.
To create surface for the second one i had to uncheck the first baseline and so on.

Well, i did it this way.
I kept checked only the desired one. I created the surface. No matter Feature or Links the only way to get a correct boundary was to use the Interactive method.
I then tried to create a surface for another baseline keeping only this one checked. Everything went fine. I tried to revert to the previous one and everything got a mesh. I had to recreate the surface from scratch. Even worse the so painfull to create boundary.

So finally although the best way to create Cross Sections at intersections is to use a single Corridor with multiple baselines you cannot create multiple surfaces for Trimble Link and keep them correct.
You have to make seperate corridors.
Afterwards you have to create surfaces to use them in other corridor cross sections.

Finally i tried to create corridor surfaces using interactive boundaries. Ok, i did it. I exported the surface using Trimble Link. I loaded the DC file to Trimble GeoOffice. The angled part was wrong! In one case while importing the DC file i got a warning message. So angled corridor surface finish is possible. But it is useless for Trimble Link.

The whole idea i had was to create a total eg asfalt corridor surface and export it to Trimble. Bummer.

Monday 8 June 2015

Leica X-Change and Civil 3D 2014 : Offset subassemblies not exported

Well, i created a corridor with some offset assemblies.
When exporting corridor to a Leica Road Job using Toolbox->Export to job->Corridor only main assembly codes were exported.
Damn. At least before going on site i used the simulator and found this disadvantage.

Monday 25 May 2015

Subassembly Composer : Info : Workflow>Switch

Switch values are always strings.
So in case of number switching, visual basic's ToString must be used.
When entering a Case value you must NOT use quotation marks. It is always considered to be the string container value.

eg Switch value (DoubleValue).ToString(Format"0.00")  -> "1678.56" for a double value of 1678.56138
     Case value should be set 1678.56 NOT "1678.56"

If you use quotation marks no error is reported. SAC supposes that you refer to visual basic's string value ""1678.56"" !!!

Saturday 23 May 2015

Civil 3D Survey : Bug : Insert traverse into the drawing

Right clicking on a traverse node in the tree list in the survey tab and selecting "Insert in the drawing" does nothing.
To make it work you must right click at the traverse table next to the tree list view.

Obviously a bug.

Civil 3D Survey : Tip : Least Square analysis error message "System error : could not invert matrix" workaround

In some cases when performing LSA solvation fails or produces some, not all, abnormal ellipsis errors.
I get a message "System error:could not invert matrix".

In this case you must not perform the analysis in one step through "Perform analysis...".

You can do it step by step.

First "Create input file"

Then "Edit input file".
Propably there will be some "Distance std error" that have no sense.
You can manually set them to a logical value.
For example i had automatically generated, some not all, values of...500000000000000.0000 (!!!) and i changed them to 0.0050.

Then save the altered file.

Finally "Process input file". Now it will propably produce no error messages and error ellipsis will be normal.

Survey database is not automatically informed if used those steps. So for the results to reflect in drawing and data a final step is required "Update survey database".

Remember that before all those steps if there is a previous not adequate adjustment it should be first reset.

Not only user must learn how to use properly the software but must burn his mind to find workarounds.

Too many hours lost in learning, testing, exploring options and searching for workarounds.

Civil 3D Survey : Tip : Network tree list Traverse node...lost...and found

Strange (meaningless) bug...

I created a new network in a survey database and the option for a traverse was not there!!! I closed the database, i reopened it and...voila!!!

Civil 3D Survey : Info : Traverse data filling

I enter survey data for a traverse.
Then i create it.
After entering the very first station all other data is filled automatically!!!
And if there is only one path to create it then the filling is correct!!!
Good intelligence!

Civil 3D Survey : Info : Changing observations after adjustment that updated survey database...

A traverse adjustment took place with the option to Update survey database checked.

Then if you enter an existing observation and try to change it, you will be allowed to do it.
You will even be allowed to press the save-apply button.
But all data will remain bold. This should not happen. It means that database was not updated. Although values seem to be changed.
Indeed if you exit and renter no change was kept. But also no warning message was ever shown!

So you must first reset adjusted coordinates through right click on the control points of the network and only now it is possible to alter observations.

Bad intelligence. There should be a warning.

Civil 3D Survey : Info : Survey point identitification

Unfortunately there is only one way to manipulate survey points.

Integer numbering. Not naming.

In case of Survey Command Window refering to point is possible only through its number.

In case of tables it is possible to use its name. But after entering it it alters to its number.

Also creating a new point through Survey Command Window you can only assign number and optionally a description. Not a name.

Civil 3D Survey : Critical Tip : Case of foresight measurement to an existing control point

If survey data is entered through Survey command window...
eg AD 112 23.7896 113.678 ,say that pt numbered 112 already exists as a control point imported to current survey database...
then you will be asked to overwrite or ignore. Ofcourse you must select ignore. Doing this control point coordinates are neither altered in control points list nor is survey points list and everything works fine.

If survey data is entered through setup and observation tables then you are not asked and overwrite takes place.
This means that coordinates are correct when viewed at control points list but when viewed at survey points list they have the observation values which is wrong.

In this case when a new station takes place for this point it will use the overwritten values!!!

A workaround trick to fix this is to open the control points table and do a minor change to eg points name. After this the coordinates at the survey points table are informed correctly!!!

Or else everything goes wrong from so on.

Civil 3D Survey : Info : Network created points and prospector's point list

If a network creates new points then those points do not exist in points list in prospector tab.

To enter them you must select which of them you want to enter and do Insert into drawing.

After doing this whatever change takes place is immediatelly reflected to propspectors tab list of points.

Also editing is possible only through survey tab commands.

Prospector tab point list icons is different for those points.

Civil 3D Survey : Info : Traverse adjustments

Traverse adjustment can be done through...

...Network adjustment (least squares)
...Traverse analysis

When entering traverse analysis there is a critical option for the user to select to Update survey database or not.

If checked then...

Adjusted survey points are ALWAYS set also as control points in network's control point list with a different icon next to them than the non adjusted ones.

Adjusted point coordinates both in network control points and survey points tables are identical.
Obviously the coordinates for those points are different when viewed through observation table as observations. Adjustment is only for the station point and its backsight azimuth. Foresight angle and distance are unadjusted. They might also different than before adjusting if station was not a control point.

Right clicking on Network control points there is an option to Reset adjusted coordinates. Doing this coordinates revert to original and so on for the azimuths.

If not reset then it is not possible to recalculate Network or Traverse that includes those points.

If you want to see the drawing of the network or traverse then you must select Insert into the drawing.

You can set the civil 3d custom (network named) object to what ever layer you want. If you readjust then updated drawing is in the same layer.
If least squares are selected then the ellipses are also drawn with the network or traverse.

Civil 3D Survey : Info : Do i need to enter a distance in every observation ?

Station observations that do not create new points may not include distance measurements. This is very helpfull when entering starting or ending traverse observations where distance is useless.

Civil 3D Survey : Info : Survey Command Window commands you won't read about in Help or Tutorial what they can do

Some basic Survey Command Window commands are...

STN 6 ...sets the current station to point number 6

BS 5 350.6789 ...sets the backsight to point number 5 with the angle set to 350.6789

For my reference and only...
AD 10 56.7816 125.879 ...creates a new point with number 10 using angle relative to whatever backsight 56.7816 and at a distance of 125.879 units.

Civil 3D Survey : Info : Entering survey data. Survey command window and batch files.

There are two main ways user can enter survey data.
1.Right click on desired Network and select Survey command window
2.Through desired Network Control points,Non-control points,observations etc.

Survey command window is the fast way to do it.
If batch file is selected then data can be entered through a simple text editor and entered on the fly.
But text file should be saved in the folder where the desired network is (a subfolder for the Civil 3D projects main folder).
Also in case of deleting a network object then all data saved in its folder is UNRECOVERABLY lost. Do not look in the Recycle Bin. You won't find anything at all!!!

Civil 3D Survey : Info : Why control points already imported are visible only in one network?

Once an import event has imported control points to a Survey Database although those points are visible to only one network table (the one declared when importing) they can be used by all other networks in this database. No need to reimport them only to set them visible to another network.

Civil 3D Survey : Critical Tip : I enter the correct survey data but angles, distances, everything is presented wrong.

One step before entering survey data.
Setup Equipment data is critical.
Watch out the angle direction and units, the distance units, corrections and slope or vertical property and so on for the selected Setup Equipment.
A good practice is to setup a new localized Setup Equipment and set it as default.

Civil 3D Survey : Critical Tip : Autocad ID gives me the correct coordinates but Survey Point coordinates are different

Through Toolspace->Settings Drawing settings->Transformation whatever zone may be selected BUT apply transformation settings should NOT be checked.
In such a case coordinates values using autocad command ID are different from those when points are imported to survey database because of the transformation!!!

Saturday 9 May 2015

AutoCAD dropdown layer list sorting

Some times layers in DropDown List are sorted and some times it does not.
Why this happens?
In case i have lots of Xrefs with numerous layers then MaxSort variable must be set to a limit that is bigger!

Leica RoadRunner TPS1200&Viva SmartWorx stakeout

I thought that when i enter a station and offset to stakeout then, what ever the actual station and offset are, the Delta Elevation result value is for the desired values.
In fact if the StakeOut is...
...X-Slope then it refers to the actual Station and Offset
...Stringline then it refers to the actual Station


I strongly wish there was an option for the Delta Results to lock on to the desired Station and Offset values. Carlson SurvCE does it. Also Trimble Access/Roads.

Trimble GPS Base-Rover link frequency and Survey Styles

Communication frequency has nothing to do with Survey Styles although its configuration is made through it!
So the user is allowed to create different Base and Rover Survey styles for different modems but it is not possible to assign different frequencies for different Survey Styles!

Trimble Link Road Export

When exporting a corridor from Civil 3D 2014 using Trimble Link, slopes are assigned this way.
If there is a slope assigned and a daylight exists then both cut and fill slopes assigned to template have this value.
If the template was made using Trimble GeoOffice or Trimble Buisness Center then it could be possible that fill and cut values were different.

Thursday 7 May 2015

Xrefs and time to save...

When lots of Xrefs are attached or overlayed, then when saving it is better to unload them all or else it may time consuming. Time is less when they are overlayed but still too much.

Tuesday 28 April 2015

Is this a joke ?

Leica TPS1200 battery cost 200 euros+vat !!!
Leica TPS1100 battery cost 180 euros+vat !!!

Leica TPS1200 RoadRunner : Bridge cross sections

I stakeout all bridges, underpasses, overpasses, gutters, ditches etc the way the pictures below show.




This is possible following the below steps...
1. creating corridors using Civil 3D
2. using custom Microsoft VisualBasic.NET 2013 DLL program running from within Civil 3D (using NETload command) to export Corridor Sections (no need for sample lines) as proper LandXML cross sections
3. using custom Microsoft VisualBasic.NET 2013 EXE program to load Civil 3D LandXML exported alignment and profile, clean it from superelevations and cross sections that might have been exported also with it and finally attach the above exported LandXML sections to a compact LandXML file
4. using Leica LandXML converter from LandXML to RoadRunner job.
 
All overpasses, underpasses, bridges, boxes, walls i staked out, for the past three years, were made this way.
 
If anyone wants to try the above methods just leave a comment and i will create a new post with links for the mentioned programs and instructions.

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.