GC SS6 Workflow flaw due to removal of baseCS

The removal of baseCS is already rearing its ugly head.

If I want to recover a file or simply start a new one, I typically copy > paste from a gct backup. Problem is, now baseCS is removed unless the user does one of two - and only two - very specific actions, it doesn't exist, meaning the pasted script wont execute as it cant find baseCS. Sure, the simple answer is, add baseCS then paste in the code, but really this is an example of potentially many problems that this new functionality will cause.

When this idea was first proposed I mentioned the problems it will create, particularly for new users. Most simply wont be able to fathom how to do anything with the software and will probably jump into the arms of Grasshopper which doesn't have such idiosyncratic nuances. 

Can there not be a tick box in the Workspace > Preferences that gives the user the ability to decide if baseCS is automatically created or not?

  • I feel the pain, brother. I have some stuff in some old dgn's and I can go back and refer to it. I've taken to keeping Notepad++ open and I copy and paste the transaction file back and forth between the two. However it is worth noting that there is a ~gt file by the same name as the dgn and it is a text file with the current transactions before commitment. KInd of like a buffer. I've gone there and grabbed my last transactions when the dgn was "corrupt."
  • As much as the missing baseCS may disrupt a copy/paste workflow from pre-Ss6 GC scripts, the non-interference with non-GC project files was the overriding concern for the removal of the automatic baseCS insertion when opening a DGN file with GC.  

    We will consider your suggestion of a GC preference to insert a baseCS into any DGN that is accessed with GC and does not contain a CoordinateSystem.AtModelOrigin, yet. 

    The work around is definitely to keep a text file (or GCT file) that contains the transaction of adding a baseCS:

    transaction modelChange 'Add baseCS'
    {
        node User.Objects.baseCS Bentley.GC.NodeTypes.CoordinateSystem
        {
            Technique                     = 'AtModelOrigin';
            DGNModelName                  = 'Design Model';
            SymbolSize                    = 1;
            GraphLocation                 = <auto> {40.0, 40.0};
        }
    }
    

    https://communities.bentley.com/cfs-file/__key/communityserver-discussions-components-files/360/baseCS.gct

       

  • I've not tried this, but I suppose we could also create a seed file named something like CG_seed.dgn which already has a baseCS transaction in it. I've been opening a file I called GC_template.dgn that has the views already set up and has a baseCS in a transaction file, then I save this to start my new GC file. I've just been too lazy to copy it to the seed folder.

    Answer Verified By: Mueller 

  • Tom, this is a great suggestion and it does work, indeed. A quick test using such a baseCS-containing file as seed file confirmed that this is a viable shortcut to reduce steps in the copy/paste/modify scenario when using older GC scripts not containing a baseCS (especially if those scripts contain copious references to "baseCS"). This would work well for users who are not working within a project set up for a mixed (ABD and GC) team.

    Caveat is that this may be in conflict with firm or project settings and may require configuration changes so that perhaps a user-level configuration makes such seed file available to GC users as a default, rather than the default ABD seed file. Another caveat is that in this case this is a solution for expert users (or expert organizations) who know how to unlock configuration settings and how to fine tune them to meet their specific requirements.