Is there really only one option for the WorkSet Mismatch Alert Dialog?

Everything I have found about turning off the WorkSet Mismatch Alert in MS U15 seems to indicate that the only option is to turn the alert OFF, and use the WorkSet the DGN is branded with when it is opened.

Is that really the only option? 

We were assured in a Service Request to Bentley that there would be/was an additional option to turn it OFF, and use the user's currently Active WorkSet when the DGN is opened.

We needed both options, and have been waiting for MS U15 to provide some relief.

Could someone at Bentley let us know exactly what the option(s) really are?

Thanks,

G,Houck

  • Just to note, any link to Enhancements or Defects in our responses go to internal Bentley systems. If you have the same issue you should raise a new Service Request via the online manager and we can link this to the existing Enhancement.

    Regards
    Andrew Bell
    Technical Support
    Bentley Systems

  • Thanks to the likes of much smarter MicroStation developers than myself, and particularly to Jon Summers, Yongan Fu, Changsong Ling, Jan Šlegr , et al. we seemed to come up with a VBA solution that works for us, which allows us to turn ON & OFF the WorkSet Mismatch Alerts for a MicroStation session, or forever. 

    I do not take credit for this code, but I do take advantage of it.  Thanks to all who contributed. By default, if you turn the Alerts OFF, you open DGN files without interruption, and use your currently-active Workset.  MicroStation ignores the DGN file's WorkSet brand.

    The three main methods are:

      WRK_TurnAlertsON - Turns them ON (as they are by default)

      WRK_TurnAlertsOFF - Turns them OFF 

      OnProjectLoad - Turns them on if this is Auto-Loaded

    We have menu options that execute both of the above, plus the auto-loaded is for those who don't want to make the decision, and just want the Alerts to disappear.  Thanks all! g.houck

    Option Explicit
    
    ' ------------------------------------------------------------------------
    ' Enums Describing MicroStation Processing States
    ' ------------------------------------------------------------------------
    
    ' define the Batch Processing State values
    
    Public Enum PROCESSSTATE
        PROCESSSTATE_Inactive = 0
        PROCESSSTATE_Processing = 1
        PROCESSSTATE_Paused = 2
        PROCESSSTATE_Done = 3
        PROCESSSTATE_Cancelled = 4
        PROCESSSTATE_OpeningFile = 5
        PROCESSSTATE_AnalyzeFile = 6
        PROCESSSTATE_ClosedFile = 7
    End Enum
    
    ' Declarations into MicroStation DLLs
    
    Private Declare PtrSafe Sub mdlSystem_setBatchProcessingState Lib "ustation.dll" (ByVal procState As Long, ByVal s As LongPtr)
    Private Declare PtrSafe Function mdlSystem_getBatchProcessingState Lib "stdmdlbltin.dll" () As Long
    
    ' ------------------------------------------------------------------------
    ' OnProjectLoad - If autoloaded it will check Config Variable _WRK_WRKSET_ALERTS_OFF for Y|T|1
    '                 If set, it turns OFF Alerts
    '                 If you remove the Config Variable (flag) Code, it will always turn Alerts OFF
    ' ------------------------------------------------------------------------
    Public Sub OnProjectLoad(Optional ByVal IgnoreMe As Integer)
      Dim flag As String
      
      flag = UCase(Left(RTrim(LTrim(Application.ActiveWorkspace.ExpandConfigurationVariable("$(_WRK_WRKSET_ALERTS_OFF)"))), 1))
      
      If (flag = "Y" Or flag = "T" Or flag = "1") Then
        Call WRK_TurnAlertsOFF
      End If
    End Sub
    
    ' ------------------------------------------------------------------------
    ' WRK_TurnAlertsON - Turns WorkSet Mismatch Alerts ON
    ' ------------------------------------------------------------------------
    Public Sub WRK_TurnAlertsON()
        mdlSystem_setBatchProcessingState PROCESSSTATE_Inactive, 0
    End Sub
    
    ' ------------------------------------------------------------------------
    ' WRK_TurnAlertsOFF - Turns WorkSet Mismatch Alerts OFF
    ' ------------------------------------------------------------------------
    Public Sub WRK_TurnAlertsOFF()
        mdlSystem_setBatchProcessingState PROCESSSTATE_Processing, 0
    End Sub
    
    ' ------------------------------------------------------------------------
    ' WKR_AreAlertsOFF - Returns TRUE if Alerts have been turned OFF
    '                    Assumes anything but PROCESSSTATE_Processing is FALSE
    ' ------------------------------------------------------------------------
    Function WRK_AreAlertsOFF() As Boolean
      Dim rtc As Long
      rtc = mdlSystem_getBatchProcessingState()
      
      If (rtc = PROCESSSTATE_Processing) Then
        WRK_AreAlertsOFF = True
      Else
        WRK_AreAlertsOFF = False
      End If
    End Function
    
    

  • Is there a VBA file of this code I can download somewhere? I am having the same issue with the workset dialog box on startup.

    Do I just need to place the said VBA file in a location somewhere and have Microstation point to it and auto load on startup?

    Thanks

  • With regards to the first link I dont have a configuration.cfg file anywhere? I have a ConfigurationSetup.cfg though. Should I edit this one?

    With regards to the second link I do not have a MS_SUPPRESS_FILE_WORKSET_ASSOCIATION configuration variable in the settings of Microstation.