Change all models annotation scale at once

How can I change all the models in a file to the same annotation scale at one time?

Better yet I would like to be able to select certain models in the model dialog and choose the desired scale.

Is there a way to achieve this or do I need to file a CR?

  • Kirk,

    The key-in command MODEL SET ANNOTATIONSCALE will help if you want to write a little script/vba to do this.

    To change annotation scale to 1:20 the key-in is: MODEL SET ANNOTATIONSCALE 20

    To change annotation scale to 1":20' the key-in is: MODEL SET ANNOTATIONSCALE 240

    It's relatively simple in VBA to iterate through and active each model in a dgn file.

    So the macro could be something as simple as

    Sub ChangeModelScale()

       Dim myModel As ModelReference

       For Each myModel In ActiveDesignFile.Models

           myModel.Activate

           CadInputQueue.SendKeyin "MODEL SET ANNOTATIONSCALE 20"

       Next

    End Sub

    I'm thinking I might put a menu interface on the front of this and let the user choose the scale along with which models to update then make it available as one of our free monthly macros.

    Rod Wing

    Rod Wing
    Senior Systems Analyst

  • Thanks Rod

    I haven't toyed w\ vba. I would like to see you post this. Keep me in the loop

    Kirk

    I Wish Cadland was Reality

  • Hi Rod,

    That would be an awesome app bro!

    You got my vote.

    Lorys Lea

    Lorys

    Started msnt work 1990 - Retired  Nov 2022 ( oh boy am I old )

    But was long time user V8iss10 (8.11.09.919) dabbler CE  update 16 (10.16.00.80) 

    MicroStation user since 1990 Melbourne Australia.
    click link to PM me 

  • Using Rod's vb below you could also run a batch process and choose the model to run on from there. It's something we do with some of our printing vb to pdf and print at the same time.



  • The ChangeModelScale macro will be available as our free monthly macro for October.

    The macro will find all of the models in the active dgn file and display them in a list. It will also read the scale definition file defined by the MS_CUSTOMSCALEDEF variable. Those values will be available in an Annotation Scale drop-down list. The default value is the scale setting of the active model.

    Select the models to change and select the new annotation scale. If you just enter a number for the annotation scale it will be set to that scale as a custom scale.

    Everyone who receives our newsletter will get a link to the download when it is available. You can go to this link to sign up. envisioncad.com/resources

    Rod Wing
    Senior Systems Analyst