Bug - Text settings returns incorrect text height

In example, text height extracted directly from “text entity” component is wrong. Going the “Annotation style overrides” → “Annotation Style” - > “Text settings” route yields the correct result.

Same for other values, fonts are different, other properties return instead of value (mask size for example).

Explode object and “Model block Instance” → “Model block Definition (object output)” behaves the same way.

IMO both should return the same value.

TextSettings.gh (9.5 KB)
TextSettings.3dm (208.7 KB)

The Text Entity> Text Setting is returning the default Text Settings (which could now be overridden individually).

The Text Entity> Text Settings will return the manual overrides if given, the manual change does not affect the Annotation Style output

1 Like

So text height of 1 means the text has default value and I have to consult annotation style for what it actually is, or it was overriden to 1?

I get that style output returns what the style is. But text settings has to return the actual values, no matter if they are as per style or not.

In general you would only edit the Annotation Style to affect all Text placed on that style globally.

If there was a manual change or you wanted to change Instance heights the Text Entity > Annotation Text Settings would be appropriate.

Great point on the override to 1, that would be problematic if you were trying to find the overridden instances…, @AndyPayne , is there a reason the Text Entity > Annotation Text Setting size output is not the size set by the Style??

I’m not sure I understand what you’re after. The Text Entity → Annotation Text Setting will only return values that you have been overridden. It doesn’t automatically return all of the default values for the style. It will return null for any value that’s not manually overridden, otherwise, it will return the overridden value.
Kike and I have discussed adding a component which will return the “effective” style values. So, this component would return whatever the actual value would be for that property, whether that comes from the Annotation Style itself, or if it’s been overridden on the instance. Does this help?

Great point on the override to 1, th…

My goal is to have a new instance of the text with position mirrored by xz plane. I cannot just mirror the text entity - the output goes to autoCAD (company standard, can’t change that), where it appears mirrored / unlegible.

Altering the placement point and chaching it moves the original rather than creating a new one.
I could use “bake”, but then I would have to manually delete the baked geometry upon update.

So I have to explicitly declate a new entity in the new placement point with the same settings no matter what these are. Or is there a better way?

Kike and I have discussed adding a c…

This could be useful. I am mainly confused. I was unable to find any documentation saying it behaves like this.

This page says nothing about the outputs meaning different things for different inputs.
Annotation Text Settings - Grasshopper Rhino - Component for Grasshopper | Grasshopper Docs

Provide a Rhino file showing what you have and what you would like to have…

Just this. As per above, I cannot just mirror the entity itself.
image

I just had an idea. I will test it tomorrow but it appears to do what I want.

The new Content Cache component allows you to simply “update” an existing object, rather than adding a new copy of the same geometry. This would mean you wouldn’t have to manually delete the source object once you bake. You can read more about this feature here.

1 Like

I got back to this issue after a small hiatus and came up with a solution.
The task is: how to mirror text so it appears correctly when exported to AutoCAD.

Vertical alignment is flipped to keep the closest distance from text entity to mirror line the same for original and mirror image.

Mirror text entity for AutoCAD.3dm (54.3 KB)
Mirror text entity for AutoCAD.gh (19.0 KB)

Hello,

I’ve noticed one more issue. Three text entities. All set to the same style. Only horizontal alingment is changed. Overwrite to right alignment is not correctly picked up by TextEntity object.

TexhHorizontalAlingment.3dm (54.3 KB)
TexhHorizontalAlingment.gh (2.5 KB)

Something seems wrong with the center / middle alignment

TextAlingmentCenterMiddle_problem.gh (23.0 KB)
TextAlingmentCenterMiddle_problem.3dm (56.5 KB)

I have created YouTrack (RH-84752) in order to track this issue. Thanks for reporting this.

2 Likes

@Vojtech_Liska @martinsiegrist What build of Rhino/Grasshopper are you on? Can you try opening these files on 8.14 and see if you get the same results? For Martin’s file, I’m getting something like this (see image)… and this makes sense to me because the one Text Settings that is returning null is the “Center/Middle”… and the reason this is returning null is because there are no overrides on this annotation style. The default alignments for the annotation styles being used is center and middle and so this is returning null since there are no overrides being applied.

I’m on todays build. Rhino 8 SR14 2024-11-12

System Info

Rhino 8 SR14 2024-11-12 (Rhino 8, 8.14.24317.14001, Git hash:master @ 69ab12ed53cf1e6d17f23ab5fec3c3f7216df72d)
License type: Commercial, build 2024-11-12
License details: Cloud Zoo

Windows 11 (10.0.22631 SR0.0) or greater (Physical RAM: 128GB)
.NET 7.0.20

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA RTX A5000 (NVidia) Memory: 24GB, Driver date: 7-23-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 560.76
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0
- Secondary monitor attached to adapter port #1

Secondary graphics devices.
NVIDIA Quadro K2200 (NVidia) Memory: 4GB, Driver date: 7-23-2024 (M-D-Y).
> Accelerated graphics device with 4 adapter port(s)
- There are no monitors attached to this device!

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 7-23-2024
Driver Version: 32.0.15.6076
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 24564 MB

Rhino plugins that do not ship with Rhino
C:\Users\martinsiegrist\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\NVIDIADenoiser\0.4.3\NVIDIADenoiser.Windows.rhp “NVIDIADenoiser.Windows” 0.4.3.0

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoBonusTools.rhp “Rhino Bonus Tools”
C:\Program Files\Rhino 8\Plug-ins\export_STL.rhp “STL Export”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\RhinoRender.rhp “Legacy Rhino Render”
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\IronPython\RhinoDLR_Python.rhp “IronPython” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.14.24317.14001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”