Showing posts with label Civil 3D. Show all posts
Showing posts with label Civil 3D. Show all posts

Tuesday, 22 November 2022

Civil 3D : CoGo points export to KML issue

Το Civil 3D εξάγει αυτούσια τα CoGoPts σε KML!
Όταν όμως τα σημεία έχουν εισαχθεί με διαφορετικά point styles τότε τα μόνα σημεία τα οποία εξάγονται με εντοπισμό θέσης και descriptions είναι αυτά τα οποία έχουν point style αυτό με το οποίο έγινε η πρώτη εισαγωγή σημείου στο dwg! Όλα τα άλλα εξάγονται μεν αλλά χωρίς πληροφορία θέσης! Δηλαδή δεν σχεδιάζονται στο Google Earth ή στο maps.
Αν μετέπειτα υιοθετηθεί για όλα τα σημεία το αρχικά επιλεχθέν point style τότε εξάγονται σωστά κι ας είχαν πριν άλλο point style.
 
Ώρες χαμένες, μέχρι να βρω λύση στο πρόβλημα, τρεις.

Επίσης, όταν το Google Earth έχει να εμφανίσει σημεία στην ίδια θέση τότε εμφανίζει μόνον αυτό που εισήχθη πιο τελευταίο. Έτσι μπορεί κανείς να νομίσει ότι κάτι δεν πάει καλά. Απενεργοποιώντας την εμφάνιση του σημείου που είναι ορατό τότε εμφανίζεται και το ταυτόσημο.

Tuesday, 18 October 2022

Παραγωγή Civil 3D alignment από alignment exported to dwg από 3rd party software ή μη.

Είχα μια οριζοντιογραφία περίπου 85 χλμ.
Έπρεπε να την περάσω στο χειριστήριο του GNSS.
 
Προφανώς άπειρες οι κορυφές.
Ο μελετητής αν και την σχεδίασε με το Civil 3D έδωσε τον άξονα σπασμένο σε polylines.
 
Ένωσα όλα τα κομμάτια με join.
Έκανα Create alignment from polyline. Άπειρα ευθύγραμμα τμήματα από τις σπασμένες κλωθοειδείς.
Το Trimble Access σε TSC3 το δέχθηκε.
To FieldGenius σε South HW300, για το οποίο προοριζόταν, γονάτισε. Πάγωσε κυριολεκτικά.
Οπότε έπρεπε να εισάγω τον άξονα με γεωμετρικά στοιχεία.

Ξεκίνησα λοιπόν την αναπαραγωγή του με βάση τον πίνακα των κορυφών.
Έκανα ένα τμήμα και το ήλεγξα. Ο πίνακας που συνόδευε την επίσημη μελέτη δεν είχε σχέση με τον σχεδιασμένο άξονα! Μελέτες Made in Greece.
Έστειλα email στον μελετητή . Δεν μου αρνήθηκε τίποτα, εγώ καταφερτζής δεν είμαι, οπότε άξονα δεν πήρα. Το γνωρίζει ότι κάνει για πολιτικός;! Άτομα με τέτοιες ικανότητες χρειάζονται τα κόμματα για τα τηλεοπτικά παράθυρα!

Οπότε σκέφτηκα τι μπορώ να κάνω με την καλύτερη δυνατή ακρίβεια και τον ελάχιστο κόπο;

Χρησιμοποίησα λοιπόν το Quick select.
 
Έπιασα όλα τα arc και τα έβαλα σε ένα layer με το ανάλογο όνομα και το δικό τους χρώμα, πράσινο. 

Έπιασα όλες τις line με μήκος μεγαλύτερο των 10μ, αφού από ένα πρόχειρο έλεγχο δεν βρήκα τμήμα ευθείας που να απαρτίζει κλωθοειδή, με μήκος μεγαλύτερο αυτού.
Τις πέρασα σε ένα layer με μπλε χρώμα, όπως έκανα για τα κυκλικά τόξα.
 
Τα υπόλοιπα τα έβαλα σε ένα layer με κόκκινο χρώμα για κλωθοειδείς.

Τούτη όμως η μέθοδος δεν μου εξασφαλίζει όμως ότι δεν θα υπάρχει κάποιο μικρό ευθύγραμμο τμήμα που δεν θα ανήκει σε κλωθοειδή αλλά θα μου ξεφύγει. Επίσης δεν μου ξεχώριζε τις διαδοχικές ομόρροπες ή αντίρροπες κλωθοεδείς με ή χωρίς ενδιάμεσο ευθύγραμμο τμήμα. Αλλά και για αυτό βρήκα άμεσα κι εύκολα λύση και την παραθέτω παρακάτω.

Ξεκίνησα την παραγωγή άξονα.
Για την οικονομία του χρόνου επέλεξα να μην αναπαράξω την πολυγωνική αλλά να κάνω την εισαγωγή τμήμα προς τμήμα.

Πέρασα πρώτα όλα τα ευθύγραμμα τμήματα με Fixed line (two points).
Κι όμως. Ο μελετητής είχε τμήματα με θλάση έστω κι απειροελάχιστη!
Οπότε ποτέ δεν πήγαινα το σταυρόνημα κατευθείαν στο endpoint αλλά έτρεχα αυτό κατά μήκος της γραμμής μην τυχόν και βρει κανένα endpoint. Και βρήκα ουκ ολίγα!
 
Μετά άρχισα να περνώ τα ενδιάμεσα.
 
Όπου υπήρχε απλό κυκλικό τόξο ενδιάμεσα ήταν απλό. Με ενεργοποιημένες τις Quick Properties έκανα click επάνω του και διάβαζα την τιμή της ακτίνας. Για μεγαλύτερη ακρίβεια, όπου χρειαζόταν, έκανα Endpoint και Center.
 
Όπου υπήρχε κλωθοειδής η ακρίβεια αναπαραγωγής της εξαρτώταν από την πυκνότητα των επιμέρους ευθύγραμμων τμημάτων που την απάρτιζαν. Και τελικά δεν είχα πρόβλημα στις χιλιομετρήσεις.
Έπιανα με αριστερό παράθυρο όλα τα επιμέρους ευθύγραμμα τμήματα, τις κόκκινες γραμμές στο layer της.
Έχοντας ενεργοποιημένες τις Quick Properties αυτομάτως άνοιγε παράθυρο με τα στοιχεία των γραμμών.
Αν στην property Length υπήρχε μια ενιαία τιμή κι όχι various αυτό σήμαινε ότι δεν κρυβόταν κάποιο μικρό ευθύγραμμο τμήμα ή άλλη κλωθοειδής. Οπότε μετά έκανα join.
Και είχα το μήκος της κλωθοειδούς στις Quick Properties.
Αν όχι τότε έψαχνα με το μάτι. Αν δεν έβρισκα το διαφορετικό τμήμα μετρούσα το μήκος ενός τμήματος κι έβρισκα όλα τα όμοιά του με Quick Select για αυτό το μήκος σε αυτά τα τμήματα και τα έκανα join.
 
Τόσο απλά. Πολύ δουλειά μεν αλλά συγκροτημένη και ακριβής δε.

Έτσι πέρασα 85 χλμ.
Ο άξονας από Join των επιμέρους τμημάτων του μελετητή είχε μήκος 85301.0369μ, από την μέθοδό μου 85301.2189, δηλαδή μεγαλύτερος κατά 0.182μ και η αναγραφή του μελετητή ήταν 85301.037μ.
Υποφερτή διαφορά για το είδος του έργου αναφοράς.

Αμαρτίες μελετητών παιδεύουσιν εργοταξιακούς τοπογράφους.

Saturday, 6 February 2021

Civil 3D upgrade. Native subassembly property GetValueFrom issues.

So you have some complex assemblies made of native Civil 3D subassemblies.
You upgrade to a newer version.
You use the same assemblies to a new dwg or even you just open an existing dwg with the new version.
Everything works fine.
BUT...you have to make a change. Make subassemblies property changes to GetValueFrom eg Slope from a previous one. You select the value to override with. Check is automatically assigned.
But no changes take place at the drawing. You look again and the value is not assigned! Yes, Civil 3D fooled you.
The only way to achieve this change is to use a current version of the native Civil 3D subassembly for the one to GetValueFrom . Then the following, previous version, subassemblies can actually GetValueFrom.

Tuesday, 7 May 2019

Civil 3D and SAC insanity...once again.

I created a subassembly using SAC2014.
It checks corridor stationing to decide to do some actions.
I have a decision like the following.

math.floor((StationValue-StaStart)/Step) = (StationValue-StaStart)/Step and StationValue>=StaStart and StationValue<=StaEnd

For StationValue=4059, StaStart=4045, Step=2, StaEnd=4059 the result was False !!! because floor was 6 (???!!!) and full double was 7. Insane !!!

I changed to math.round and values became equal so it should turn to True. But i did not !!!???

Being one step before madness i reduced the region less than the StaEnd and then i got it back.
Everything got as expected.
Simple Corridor rebuilding  or region stationing extending by grips does not trully rebuilds that station. Only reducing region stationing that much so that the desired station does not exist and then extending back worked out.

Autodesk's products insanity.

I made a test. Changed SAC code back to "Floor". Reloaded subassembly and rebuilded the corridor. Everything looked as expected so the result was True. But i did not trust it. So i reduced region stationing and then restored it.
Guess what. Now it turned to False. Again. So true rebuild for a station takes place only if it is vanished and restored !!!

Back to "Round" and everything worked fine although it should with "Floor".

Insanity continued...
I did the region stationing changes using the plan view grips.
When finally subassembly worked as expected plan view was immediatelly updated.
But the Cross Section View was not ! I had to move the Sample Line back and forth to update !

Wednesday, 27 March 2019

Civil 3D workaround : Corridor Surface Boundary "Add automatically" option not showing although it should

So you have a corridor made of sub assemblies that should expose one or more codes for adding boundaries automatically but this option is not offered although it should.

Watch for locked layers. Assemblies, alignments, profiles, targets, superelevation views, surfaces whatever may be related to the corridor and its surface.

If all unlocked then check this.
Set boundary to Corridor extends.
Rebuild corridor and watch the Event viewer.
If there is a warning that "could not apply mask (0) to corridor due to crossing polygon" then try this.

Set Corridor frequencies to another much larger value.
Apply.
Now the option for Adding automatically should be available.
Select the desired code.
Apply and rebuild.
Reenter corridor properties and change frequencies back to the previous values. Apply and rebuild.

Add automatically is still available and everything is working fine.

Yet another workaround.
Autodesk is unintentionally training our brains to prevent failure due to aging. Or maybe our brains are about to get burned because of all this over the years searching for workarounds, tricks and things like these trying to make their software to work as expected.
We should also not neglect all those extreme feelings of frustration, surprise, anxiety, desperation and finally...triumph that comes with situations like these.

Friday, 1 March 2019

Civil 3D tip : Multiple corridor link codes. Material area fill styles priority.

Suppose a corridor link has multiple codes.
When assigning a Code Set Style that uses more than one of those codes to set a Material Area Fill Style only the last by order code entered is applied.
All others are ignored.
I am talking about the order the codes are declared by the user...
...at the original autodesk sub assemblies, wherever this is possible and 
...at subassemblies created using SubAssemblyComposer.

No matter what the transparency is or if it the hatch is solid or not.

Civil 3D "bug" : QTO material list gaps. Application freezing

I had a case of three similar alignments in the same dwg.
I had to set multiple gaps for the QTO material lists.
First alignment everything worked fine.
Second and third one and by the time i applied whatever gap the application freezed.
No matter what i tried i always ended up to an eternal loop which would set the particular CPU core to work at its maximum endlessly.

I was entering the gap stations by hand. I typed them. One by one. For every alignment.
Trying to set stations to other than those of the sample lines obviously did not work. Only sample line stations are accepted. I tried to bypass it doing a graphical selection. You are only allowed to select sample lines. Not stations. So i entered all gaps graphically. And everything worked fine!!!

Still have not figured out why everything worked fine for the first alignment since i also typed by hand all stations.

Autodesk give us a break. I lost seven whole hours of my working time trying to find a solution. One step before going crazy. No solution over the internet or the Civil 3D forum. I was off time for the deliverables. My supervisor thinks i am slow and i lack of knowledge about this software. For God's shake.

Monday, 4 February 2019

Civil 3D bug : Modifying sections views offset sampling & minimum elevation

Say i have some cross section views.
There are some cases that i must do the following actions for the Civil 3D section views to match section views made by another design package.
First change the minimum section view elevation.
Next change the section view offsets.
I watch that surface maximum offset values are updated as reported at the section properties.
But graph is not informed and offsets remain !

Sample line group properties, Sections, Sample more sources, Remove, OK and then Add again does not work.
Also closing and reopening the drawing does not work.

Workaround is to swap the actions order. First fix the offsets and next fix the minimum elevation.

For any already existing wrong graphs the only way to show all is to manual or by custom software set for each one cross section view the SectionViewProperties, Elevations, User specified, Maximum value to the value of the Automatic one.

Wednesday, 9 January 2019

Autocad NET programming : ObjectBrowser documentation error : Selection filters

All the selection methods are documented at the object browser with FilterType as Object. It does not work. FilterType must be declared as Short().
eg SelectionSet.SelectOnScreen(New Short(){0},New Object(){"AECC_PARCEL"})

Tuesday, 8 January 2019

Civil 3D : Survey : Mass move SurveyPoints

I had a case of a survey that had some points at wrong elevation. The GPS pole height was forgotten to zero elevation.
So i had to change the SurveyPoints elevation. Minus 2m to the elevation of some points.

I unlocked all the SurveyPoints.
Then i selected the desired ones through a SurveyQuery.
Finally i moved them using native autoCAD command Move.
Points were moved. And changed their properties to CoGoPoints! SurveyPoints maintained their original coordinates!

If doing this one by one using either the SurveyPoint editor or by simply dragging, Survey property is kept and coordinates change. Mass move through native autoCAD commands has no effect.

So i had to make the mass changes, export all the points, delete previous import event, CoGoPoints, Survey Points&Figures and finally reimport.

Yet another Civil 3D issue. It is obvious that there might have been lots of manual corrections to the SurveyFigures due to mistakes when surveying. All of them should be done again.

Why such a dummy way of thinking autoDESK ?

Same day found a workaround.
Make a dummy SurveyNetwork
Right click on it, select SurveyCommandWindow
Type MOD ELS BY PtStart PtEnd deltaElev
eg mod els by 35 142 -2
Modifies elevations of point 35 to 142 by -2
At ToolSpace Survey right click SurveyPoints and select Update.
AutomaticUpdate SurveyPoints does not work!!! Has to be manual after this modification.
Next to this a ProcessLinework has to be done also for the figures to update.

Friday, 2 February 2018

AutoCAD & Civil 3D : My custom tips, tricks, workarounds and knowledge

Problem : Civil 3D alignment labels do not change next to scale change
Workaround : Select the non responding objects. Set them in another layer. They will adapt scale at once. Set them back to the previous layer.

Problem : autoCAD LT 2011, where is the SheetSet manager
Answer : Sheet set manager was included in the next version. No SSM for this version.

Problem : Plotting to DWF does not use the selected ctb file.
Cases :
1.Works fine when publish through SheetSetManager for Single Sheet printing but fails when trying Multiple Sheet.
2.Does not work at all when in autoCAD LT 2011
Solution for all cases :
Copy the desired ctb file to the default Plot styles folder.
Tools->Options->Plot and Publish->Plot Style Table Settings->Add or Edit Plot Style Tables...
Opens the default Plot Styles folder

Saturday, 30 September 2017

Civil 3D limited automated annotation. Alignment name can not be mentioned for an axis in a Section View.

I tried to find a fully automated way to annotate alignment axies in section views. Bummer !

I did an internet search. Same problem for other users.

Profile Grade Line Marker Point is capable of using blocks containing whatever info. But all this must be made by hand, one by one !!!

So i used VB.net to create a custom app to solve this problem.

Reads the Civil database and gets all the axies (with or without profile).
Exposes them to the user to select which of them to work with using CheckedListBox.
Creates blocks with the Alignment names.
Assigns them to new MarkerPoint Styles.
Select PGL to create using those new MarkerPointStyles.

I could also create plain autocad points and text for each PGL but these objects do not belong to the section view and that is a disadvantage.

App soon to be completed and available for downloading for Civil 3D 2017.

Monday, 28 August 2017

FeatureLine based Corridor Baseline results to hidden Alignment & Profile exposed through API !!!

I develop a custom Civil 3D plugin to export alignments, profiles and corridor cross sections to LandXML.
I used a dwg with various cases for testing.
There was a case of a Corridor that uses a Feature Line for Baseline.
When getting Alignments and Profiles i found out that Civil 3D creates a hidden Alignment and Profile for this Feature Line !!!
The Profile type although unnamed has an enum value of 5 !!!

Monday, 31 July 2017

Civil 3D road corridor with multiple shoulders. One corridor. Two baselines one for each side vs one baseline using conditional subassemblies. Trimble Link Roads export. Leica Infrastructure Link export.

In a road corridor a common case is the existing of both sides different kind shoulders.

A way to deal with it is creating a single corridor with two baselines refering to the same alignment
and profile, one for each side.
Breaking the baselines into multiple regions each one ending to a different shoulder.
So subassemblies are created for one side at a time.
Final count of them is significant less as also regions needed, than if a single baseline would exist for both sides. Also much simpler and understandable.
BUT exporting to a Trimble sensor is a problem. Although user creates a single surface with both sides, Trimble Link exports a seperate RXL for each side.
Also Leica HeXML export breaks apart corridor into two layers, one for each side.

Another way to deal with it is to create a single corridor with one baseline and only one region.
Assembly is based on conditional offset assemblies for different shoulders. So if user declares a target then the correspondent subassembly is applied !
Conditional target needs not to be drawn on the exact trail. Just joining start to end of the certain kind of shoulder.
Caution ! A good practice is to create Targets as properly named Feature Lines and even better in properly named Layers. This approach is time consuming but leads to less mistakes and it is easier to examine and make changes.
Also it is crucial that Sections are added for each start and end of each Conditional Offset Target for each side.
Obviously there is no problem exporting to either sensor.
BUT there is a huge "bug".
In the first case shoulder always changes at the start and end of each region.
But in this case shoulder does not change at the exact station a conditional target is apllied !!!
There is a tolerance which is not user accessible.
I have found that this tolerance is a 0.042m delta East from the edge of the declared target of the Conditional Offset Assembly that has the priority.
This is equivalent to the first case (of two baselines multiple regions) using 4.2cm (East to West) gaps among regions.

So, Conditional Offset Subassemblies is not a solution when strict accuracy is expected regarding stationing performed.

My preffered approach is...
...the first case of Corridor creation
...exporting corridor sections as two LandXML files containing only sections, one for each side, through my custom Civil 3D plugin
...join those two sided sections into a single one, based on stationing using another custom desktop NET software of mine
...finally attaching them to the Civil 3D alignment (and profile) export using my previously mentioned custom software or MS XML editor (not preffered-time consuming) or a Text editor (need to be carefull where to do the join).

But this is also not the best solution if there is a need for ovelapping conditional subassemblies. Leica import for LandXML does not assign C3D point names but custom names based on side and ascending offset position. If names were used points would be joined correct. But in this case sections are totally a mess.
Why overlapping conditional subassemblies ? It is very simple. GOMACO cable extensions !

Worst of all.
Leica Infrastructure Link exporting to HeXML is a perfect LandXML enhancement since points are named -even though using a weird manner- and is LandXML and HeXML schema error free
But in some cases finally unexplained error stops the transformation to RoadRunner job. eg "error found at position 1469"

 

Friday, 7 July 2017

Civil 3D corridor baseline based on Feature Line export to sensor

Trimble Link is capable of no question exporting these kind of baselines !
Leica Infrastructure Link displays an error message and no export takes place.
Leica X-Change is discontinued. Last version was for Civil 3D 2016. This feature is available from v2017.

Civil 3D Trimble Link Road export tip. Feature lines unchecked. Point empty coding.

When exporting a Civil 3D Corridor to a Trimble sensor using Trimble Link the apropriate Corridor Surfaces must have already been created.
But no Cross Sections will be exported if Surface is created through Links that the Feature Lines at the two edges of each Link are not checked !
This also means that uncoded points can not create a Trimble Link exportable surface !

 

Leica Infrastructure Link discontinued ?

It is July. March was the release date of Civil 3D 2018. There is no Leica Infrastructure Link for it. Maybe discontinued ?

No. Released at the first week of August. Nothing new. Same problems. Same limitations. Just working with C3D2018. Simple DLL recompilation using latest references.

Leica Infrastructure Link multiple baseline corridor export

In case a Corridor consists of more than one Baselines based on different Alignments then all Feature Lines checked in whatever Baseline are exported but only the first Baseline Alignment is exported ! All other are ignored ! Finally only one Layer is created for the entire Corridor.
So it is not possible to set the appropriate Centerline when in RoadRunner.

X-Change was capable of producing multiple Layers.

So it is crucial to work only with X-Change and up to Civil 3D 2016
or
create mutiple Corridors, one for each Baseline
or
do multiple HeXML exports having checked only one Baseline per session but it does not work
follow this link https://infrastructuresurveyor.blogspot.gr/2017/06/i-had-corridor-with-multiple-baselines.html

Wednesday, 14 June 2017

LandXML & Civil 3D tips, clarifications and important matters to remind me while programming

LandXML angular direction :
Unit is always Decimal Degrees
Positive values only, counter clockwise, zero to East

LandXML horizontal alignment elements :
Are set in CoordGeom
Common to Civil 3D are Line, Curve and Spiral (others are Irregular line and Feature ?)

LandXML horizontal alignment element Spiral :
Civil 3D supports only Spiral.SPItype=Clothoid

LandXML horizontal alignment element Curve (Civil 3D Arc) :
Civil 3D supports only crvType=arc

Civil 3D api can be viewed only using Chrome. IE does not show side window elements !?
http://docs.autodesk.com/CIV3D/2018/ENU/API_Reference_Guide/

Civil 3D alignment simple type entities are subentities of more complex ones like SCCS etc.

LandXML theta angle :
is Pi-SpiralIncludedAngle in degrees and is always positive and less than Pi.
Spiral Included Angle is the angle between Short and Long tangents and is always positive and less than Pi.

Friday, 2 June 2017

Leica Infrastructure Link - Civil 3D export corridor : failure - Autocad JIT error message "This operation on featureline-based baseline is invalid"

One of the top rated in the wish list about Civil 3D was the option to create a corridor using feature line baseline type. Civil 3D 2017 was the first version to support it.

Leica X-Change no longer exists since this C3D version.
Its successor Leica Infrastructure Link freeware must be used instead.

Running this addon pressing the "Read Civil Objects" button user sees the following message.
The program stucks at this point.



OR

After reading civil objects when trying to save "Export HeXML" user sees the following message

Well at least it is multithreaded. So in either cases user can press Continue and then the OK button and end this addon. But no export takes place.
Same thing happens even if baselines feature line based are unchecked when rebuilding the corridor.
Only solution is to revert to the previous baseline type method of alignment/profile.


Well. It is obvious that Leica developers did not examine the changes between v2016 and v2107.
In v2017 baselines types can differ. Developer should examine if it is "IsFeaturelineBased" or else the above exception is thrown. At least there should exist a user notification.

Leica developers should have seen this link
https://knowledge.autodesk.com/support/autocad-civil-3d/learn-explore/caas/CloudHelp/cloudhelp/2017/ENU/Civil3D-DevGuide/files/GUID-6D41D043-4958-40B7-9C7E-45A6D780955B-htm.html