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.
RegardsAndrew BellTechnical SupportBentley 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
Try this last suggestion - communities.bentley.com/.../544343
And add this so it doesn't infect new files - https://communities.bentley.com/products/administration/f/product-administration-forum/181749/connect-disable-workset-verification/637495#637495
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.