DWG Export import errror: Text alignment default is bottom, why is that?


#1

When I place a text in V6 the default alignment is bottom, so new lines added move the text upwards, instead of placing the new line below as in V5. Why was that change made?

And if I export it to DWG 2004 and read it back into Rhino then the alignment has been converted to top…
Thus correctly placed text is no longer where I placed it.

Can you please look into this @dale?


(Dale Fugier) #2

Hi @Holo,

I cannot answer your “why” questions, sorry.

In order to provide assistance, we’ll need some sample code and/or files and/or instruction on how to repeat what you are seeing.

Thanks,

– Dale


#3

Hi man!
I was going to say “It’s a s easy, just export and import”,
but then I tried and it works as expected… so something is going in in the projectfile… I will investigate and supply a file!


#4

I found the issue here. I have a a script from v5 that converts textdots to texts and it adds no specified alignment and relies on Rhino’s default. So I presume the issue here is that the DWG default is different. I’ll provide a sample code during the weekend if needed.


#5

Alignment of multiline text HAS changed from V5 to V6.

In V5, when you add a multiline text with the text tool, the lines move upwards from the insertion point, as the default is that the text block insertion point is on the lower left. This is pretty much the standard and also “AutoCAD-compatible” as far as I know.

In V6, when you add a multiline text with the text tool, the lines move downwards from the insertion point, as the default is that the text block insertion point is on the upper left.

This may seem nice for you with your multiline text going downward as you type, but as the default setting is for ALL text blocks, single or multiline, it wreaks havoc with everything else, including imports and exports. It means that the insertion point of a text is wrong in most cases and so when moving things to and from other programs via DWG/DXF, the text vertical alignment changes.

I filed a bug report to have text alignment default restored to bottom left, but it hasn’t been acted upon.

–Mitch


(Lowell Walmsley) #6

In AutoCAD, the default insert point for old style Text is the bottom of the first line, which translates to bottom left for single line text. For Mtext, the insert point is the top left.

In Rhino, the insert point is controlled in dimstyles.

I just rechecked and it appears that either upper left or lower left round-trip correctly through Acad.

Lowell


#7

I checked too and you are right, but if you make a text with python rs.addtext(“helloworld”, (0,0,0)) (I think that was right, sitting in front of the tv) and don’t add a justification, then it doesn’t have one in Rhino but still get’s a placement, and then when exported to dwg and reimported it is with a different justification.

SO: IMO the point is that when a text is added with rs.addtext() then it should get a default justification applied even though it is not defined so it roundtrips to autocad correctly.

Did that make sense?


(Lowell Walmsley) #8

OK, I’ll look at what rs.addtext() does.

I still don’t understand the case that doesn’t round-trip through Acad though.


(Lowell Walmsley) #9

AddText() made text with the old v5 style vertical justification which got converted to upper left going to Acad.
I fixed that to use upper left if you don’t specify anything else. The change is in 6.5


#10

Thanks Lowell!