Author Topic: TextMask and EntMake Annotative Text  (Read 3442 times)

0 Members and 1 Guest are viewing this topic.

Jeff H

  • Needs a day job
  • Posts: 6150
TextMask and EntMake Annotative Text
« on: March 13, 2014, 04:01:11 PM »
I have searched some and not really found an answer so save time and ask all you autolisp gurus here.

Someone was using express tool TextMask and the text was disappearing in one drawing.


Took a look and figured out the only difference was the text was annotative and tested it failed when annotative and worked if not.

I normally give a explanation to why something does not work and she is wanting to know why it does not work for annotative text.


All I knew to do was look in express folder and opened textmask.lsp and looks like it deletes the original text and creates a new one with entmake.


Is this an error in code for TextMask not testing if annotative or a  AutoLisp issue?


 

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: TextMask and EntMake Annotative Text
« Reply #1 on: March 13, 2014, 05:35:58 PM »
I would say that the TextMask tool needs to be updated. Basically entmake cloning is very risky when many entities nowadays have complex interrelations (entmake typically does not clone these relations). And even if the tool uses a more 'modern' way to change the draworder the created text mask will probably not be annotative.

But isn't this tool obsolete since the introduction of the background mask for mtext entities?

CAB

  • Global Moderator
  • Seagull
  • Posts: 10401
I've reached the age where the happy hour is a nap. (°¿°)
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

Jeff H

  • Needs a day job
  • Posts: 6150
Re: TextMask and EntMake Annotative Text
« Reply #3 on: March 13, 2014, 06:01:55 PM »
But isn't this tool obsolete since the introduction of the background mask for mtext entities?
I never use it and informed her about mtext background mask but she was wondering why it did not work and had no explanation.


cwake

  • Guest
Re: TextMask and EntMake Annotative Text
« Reply #4 on: March 13, 2014, 09:33:21 PM »
I think the simple answer is that it isn't really supported for annotative objects. It will have worked. The text will have been created, it's just that it isn't visible until you add an annotation scale to it or make it non-annotative.

The command OBJECTSCALE (and with PICKSTYLE set to 1 or 3) might help her to bring the text back once the textmask is done by adding a scale, though that will only work in model space, not in paper space. And, as roy_043 alluded to, if you leave the text as annotative then that won't solve the problem where someone later changes the annotation scale and the raster image "wipeout" behind the text stays the same size. Alternatively, make the text non-annotative.

If she doesn't want to move to using MTEXT, you could look at modifying the textmask.lsp routine yourself if you are up to it. It is the extended data of the original text that defines it as being annotative. If you removed that xdata data prior to the entmake call it would solve the problem.

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: TextMask and EntMake Annotative Text
« Reply #5 on: March 14, 2014, 05:03:39 AM »
It is the extended data of the original text that defines it as being annotative.
There is also annotative data in the extension dictionary of the entity.

irneb

  • Water Moccasin
  • Posts: 1794
  • ACad R9-2016, Revit Arch 6-2016
Re: TextMask and EntMake Annotative Text
« Reply #6 on: March 14, 2014, 06:19:43 AM »
But isn't this tool obsolete since the introduction of the background mask for mtext entities?
I never use it and informed her about mtext background mask but she was wondering why it did not work and had no explanation.

This is basically the answer:
I think the simple answer is that it isn't really supported for annotative objects. It will have worked. The text will have been created, it's just that it isn't visible until you add an annotation scale to it or make it non-annotative.

To expound on it: The Express Tools were created LONG before such stuff as annotative scales were even considered. And then ADesk never updated them when they introduced stuff like Dynamic Blocks / Annotative Scales - so all Express Tools have a chance of something failing when used with these new types of objects / features.

I don't think many has seen any point in updating the TextMask feature, since using MText is generally more efficient than using the old DText anyway. You might find someone who's done something like this already - or adjust it for yourself.

Edit: And I think there's a bigger problem - TextMask places a wipeout behind the text. A wipeout cannot be annotative. So if the text's scale changes or you add another scale to it (the main reasons for using AnnoScales) the wipeout would not update accordingly. How would you then propose to get this actually "working"? AFAICT the only way would be to generate an anonymous block instead of grouping it like TextMask already does. But then editing the text becomes a pain - so this is definitely a catch 22. IMO, much less hassle going with MText - no such troubles.
« Last Edit: March 14, 2014, 06:24:32 AM by irneb »
Common sense - the curse in disguise. Because if you have it, you have to live with those that don't.

cwake

  • Guest
Re: TextMask and EntMake Annotative Text
« Reply #7 on: March 14, 2014, 07:34:42 AM »
Irne,
At the risk of a thread hijack, do you think that there is an answer to this question I posted last year at CadTutor? It is somewhat related to this topic. Is there any merit do you think in posting it over here? I would love an answer to the question if there is one.
http://www.cadtutor.net/forum/showthread.php?83528-Adding-Annotation-Scales-to-an-object-via-Dictadd

Jeff H. I know that there are many routines around for converting individual TEXT entities to MTEXT. The one I created and use myself automatically adds the background mask to the MTEXT, honours text formatting (i.e. underline, strikethrough, overline, oblique, tracking), fields, as well as inherits the original text's annotation scales (if it is in model space). I could post it if you think it would help solve the situation.

irneb

  • Water Moccasin
  • Posts: 1794
  • ACad R9-2016, Revit Arch 6-2016
Re: TextMask and EntMake Annotative Text
« Reply #8 on: March 14, 2014, 08:26:44 AM »
Irne,
At the risk of a thread hijack, ...
I've answered in the CT thread.
Common sense - the curse in disguise. Because if you have it, you have to live with those that don't.

roy_043

  • Water Moccasin
  • Posts: 1895
  • BricsCAD 18
Re: TextMask and EntMake Annotative Text
« Reply #9 on: March 14, 2014, 08:44:54 AM »