MoI discussion forum
MoI discussion forum

Full Version: On static and dynamic display of dimensions ; and converting annotations to lines.

From: pior (PIOR_O)
19 Feb 2023   [#1]
Hello all, Michael,

If I am not mistaken I've noticed that under some circumstances, one can end up with two kinds of live dimensions objects in a MOI scene :

- The regular/default kind that remains at a fixed display size on screen regardless of zoom level (meaning that when zooming out, such dimensions become big in relation to the rest of the drawing). For the sake of the discussion I will call them "dynamic".

- Another kind, which I believe appears when re-importing a DXF with live dimensions in it. These remain at a fixed sized in relation to the drawing (meaning that when zooming out, these dimension objects become just as tiny as the other elements of the drawing). I am calling these "static" - but they are still editable, still functioning as live annotations.



1 - Is there a way to toggle a dim object between these two behaviors directly in MOI ? I understand the appeal of the default kind in theory, as them (may) allow to always be able to read a dim regardless of zoom level ; but in actual practice it isn't that useful really as everything gets mangled when zooming out anyways (a very similar problem to that of the default node annotations in Unreal Editor, cluttering the workspace when zooming out). I find myself very often wanting to have these dim just behave like regular objects. After all, the need to read dimensions highly depends on context : If I am working on a large assembly that has some precise details, I only need to inspect dimensions related to the these small details when zoomed in, never when zoomed out.

(For context : I am currently working on some objects that are in the order of magnitude of a meter, yet the connections between the parts are being adjusted in the realm of tenths of millimeters, or even half of that. Meaning that if I put dims on these small features to make sure that my tolerances are right, they show up annoyingly when zooming out to assess the whole design).

2 - Also, on the same topic : is there a way to convert dims (of either of the kind mentioned above) and dynamic text into completely static objects made of lines ? I know that the 3D text tool exists of course, but text written with it never being editable past the initial writing stage makes it unusable for annotations. Whereas being able to write some dynamic text and then later "bake it down" would be extremely useful - especially when writing instructions/annotations directly into the file for future reference or for a machine shop to work with.

- - - - -

For now I've resorted to writing notes and dimensions by hand using the sketch tool ; or when time allows, carefully writing letters/numbers with straight lines by snapping to the grid. Such annotation methods aren't ideal really but they solve issues 1 and 2 at the same time. Being able to "bake down" annotations (2) as well as having dims with a "static" on-screen behavior (1) would be fantastic.

Image Attachments:
fixed and dynamic dimensions.gif 


From: Michael Gibson
19 Feb 2023   [#2] In reply to [#1]
Hi pior, yes this behavior for dimensions is controlled by the "Scaling" property which you can change by selecting the dimension and clicking the "Details..." button to bring up the detailed object properties dialog:





If you want to change the default behavior for new dims, you can change the value of the property preset in Options dialog > Dimensions > "Scaling".

If you have a relatively small number of dims then the "fixed size on screen" can be easiest because the text will stay the same point size everywhere including in PDF output. So you can just set it to be a 12 point font for example and you'll get 12 point text size in your PDF without any extra work needed.


However, that doesn't work very well if you have a larger number of dims and if they are arranged inside of geometry like some lines making a title block table for example. So if you set "Scaling: By model units" the text will behave like geometry and it will be affected by the view's zoom level.

When dims are imported from DXF they will use the "By model units" type scaling because AutoCAD does not have the concept of "fixed size on screen/page" type text behavior.


> 2 - Also, on the same topic : is there a way to convert dims (of either of the kind mentioned above) and
> dynamic text into a completely static objects made of lines ?

You could try exporting out to PDF/AI/SVG format and then importing it back in.

- Michael

Image Attachments:
dim_scaling1.jpg  dim_scaling2.jpg 


From: pior (PIOR_O)
19 Feb 2023   [#3] In reply to [#2]
Hello Michael,

1 - Ha ! at first I though that I simply overlooked the option you mention ... but I now realize that it simply isn't available in V4, as the property panel for dims on my end is as follows :



Is there perhaps a way to toggle the option without going through the UI ?

2 - Understood - but I suppose that even by simply relying on a PDF export to bake things down, I would still be limited by the fact that I can't lock the text in place beforehand since I don't have access to the Scaling option for text in V4. So I suppose that this goes back to question (1), on how to possibly set text scaling for dims and annotations to be by model units. Is the current zoom factor at the time of export determining the equivalent Scaling that the DXF dims get written as ?

(As a matter of fact, being able to "bake down" the text and dims to geometry/lines would become secondary or even not needed at all if I could at least set the scaling of these objects to be by model units - because that way I'd now that there would be full consistency between my MOI work scenes and my DXF exports for the shop, and that would be a good place to be). Of course I could also upgrade to V5 but that's not something I need at the moment and I would rather keep all my current projects as V4.

As always thanks for the support !

Image Attachments:
2023-02-20 01_12_20-Object properties.png 


From: Michael Gibson
19 Feb 2023   [#4] In reply to [#3]
Hi pior, the "Scaling" option is available in v4 but it looks like you have a customized UI that is kind of a mash-up of a MoI version 3 era moi.css file (which is why your dropdown controls have a strangely placed arrow) and maybe some pieces from an older v4 beta?

You are missing some other pieces of the v4 object properties dialog as well, it should look like this for annotation properties:



It looks like you are missing new UI stuff from the Sep-10-2020 v4 beta - http://moi3d.com/wiki/V4Beta#Sep-10-2020

It's probably from overwriting the final v4 UI files with older versions.

You can get a new download of the installer at https://moi3d.com/reinstall.htm .


re:
> Is there perhaps a way to toggle the option without going through the UI ?

Nope. Well actually I guess you can set it through script as well but using the UI is the intended way.


> So I suppose that this goes back to question (1), on how to possibly set text scaling for dims and
> annotations to be by model units.

I would recommend to re-install MoI so you have the final v4 UI instead of the UI from an earlier beta version.

If you want a dark UI I'd recommend using the v5 beta, it has one built in.


> Is the current zoom factor at the time of export determining the equivalent Scaling that
> the DXF dims get written as ?

When you have "Scaling: By model units" set there is an additional "Height" field that is shown where you can edit the model units height.

- Michael

Image Attachments:
2023-02-19 17_01_07-MoI.png 


From: pior (PIOR_O)
19 Feb 2023   [#5] In reply to [#4]
Interesting - Indeed my UI is heavily customized, and it's very likely that I've ported it from V3 to V4. Besides the custom color/theme I only need my custom Sidepane.htm for tools organization really - so indeed a clean install should do the trick. Will try !
From: pior (PIOR_O)
10 Mar 2023   [#6] In reply to [#5]
Alrighty, all solved through a reinstall. Thanks !

And for what it's worth, two suggestions from there :

- The ability to copy-paste dim styling properties from one to another
- A way to convert from Screen Size to Model Units according to the way the dim is currently presented on screen.
From: pressure (PEER)
10 Mar 2023   [#7] In reply to [#6]
Hi Pior,

Yeah it might be cool if the number of model units that keeps the screen size of the annotation the same as immediately before changing the scaling mode were applied when changing from annotation scaling By Screen Size to By Model Units. In other words, if the annotation size on screen wouldn't change when changing mode. This would make it so that the By Screen Size mode could be used to get things close by zooming and then By Model Units could be used for finessing / locking things down.

- Peer
From: Michael Gibson
10 Mar 2023   [#8] In reply to [#6]
Hi Pior,

re:
> The ability to copy-paste dim styling properties from one to another

At some point I'd like to add controls for this into the object properties dialog.

Until then I've attached a MatchAnnotationProps command that can do that job.

To use it, select the dim you want to modify, then run MatchAnnotationProps, then select the object you want to match up with.

Instructions for installing a plug-in here.

- Michael

Attachments:
MatchAnnotationProps.zip


From: pior (PIOR_O)
17 Mar 2023   [#9] In reply to [#8]
Well, that's yet another excellent little addition ! Very useful, thanks Michael :)