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

Adding keyword handling to AutoCAD .NET’s GetSelection()

https://www.keanw.com/2010/05/adding-keyword-handling-to-autocad-nets-getselection.html

Using the COM interface for AutoCAD objects from .NET

https://through-the-interface.typepad.com/through_the_interface/2007/02/using_the_com_i.html

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.