Community
AutoCAD Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Prevent Text Mirroring in a block

9 REPLIES 9
SOLVED
Reply
Message 1 of 10
MikeKovacik4928
31402 Views, 9 Replies

Prevent Text Mirroring in a block

I seem to remember, as do some other draughtsmen in this drawing office,

when you could mirror a block with text in, and the text wouldn't get mirrored.

Was that the case?

You can't do that now, that I know of, the text always get mirrored, mirrtext 0 or 1

Mirrtext works with individual text entites, but not with blocks.

 

Is there a way of getting the text in blocks not to mirror?

It would be very useful!!

Right now I am having to rotate my block and then reposition it.

I can do that, since my block is symmetrical.

If my block was not symmetrical I wouldn't be able to do this,

but would have to create a second block of the same thing, with the

outline of the block mirrored and the text reinserted again.

 

 

Michael Kovacik
AutoCAD 2d & 3d (29 yrs)& Inventor (7 yrs)
Manufacturing (30 yrs) Draughtsman
Autodesk Product Design Suite Ultimate 2018
Johannesburg, South Africa

9 REPLIES 9
Message 2 of 10

It is not just the MIRRTEXT - see the many options for text mirroring in blocks (inc. dynamic blocks):

http://www.cadforum.cz/cadforum_en/qaID.asp?tip=6251

 

Vladimir Michl, www.cadstudio.cz  www.cadforum.cz

 

Message 3 of 10
3wood
in reply to: MikeKovacik4928

You need use ATTRIBUTE instead of simple TEXT object inside a block to allow it ignoring mirroring of the block. 

Message 4 of 10
pendean
in reply to: MikeKovacik4928

ATTRIBUTES, not TEXT, in blocks do what you want.

By using text you are basically locking that in so it stops having any intelligence and will ignore variables settings. Change your text to attributes and see for yourself.
Message 5 of 10
MikeKovacik4928
in reply to: 3wood

okay

now I have solved the text mirroring problem.by using attributes instead,

I can't do a background mask on an attribute like I did on the text.

See attached.

Is there any way of doing this, without  having to do a complicated

"wipeout" setup

 

Michael Kovacik
AutoCAD 2d & 3d (29 yrs)& Inventor (7 yrs)
Manufacturing (30 yrs) Draughtsman
Autodesk Product Design Suite Ultimate 2018
Johannesburg, South Africa

Message 6 of 10
Anonymous
in reply to: MikeKovacik4928

Mike wrote:

okay

now I have solved the text mirroring problem.by using attributes instead,

I can't do a background mask on an attribute like I did on the text.

See attached.

Is there any way of doing this, without  having to do a complicated

"wipeout" setup

 

Mike,

Here is how I do provide background masking on attributes. Open your block in the "Block Editor". Select the attribute, and select "Properties".  Go down to "multiple Lines" and select "Yes". You now have Mtext. Double-click on the Mtext and you will see a smal editing box. Select it, and it will open an Mtext box. You make now make a "background mask".

 

Good luck,

 

 

 

 

Message 7 of 10

attdef or mirrtext neither work. once you add the text attribute inside the block it dissapears.

Message 8 of 10

you need to first sync attribute with attsync and it will appear. However my attribute still got mirrored

Message 9 of 10

I found out that if you have a block with text in it and you add a dynamic flip inside your block and you select all your objects including texts and dimensions : then the text will stay readable after the flip.

 

I hope this can be useful to someone.

Message 10 of 10

Merhaba VBA ile bulduğum çözüm.

 

 

Option Explicit

Sub TextInsideMirroredBlock()
' Biolight 2024 - Eppur Si Muove - biolightant@gmail.com
'
' Block içinde yazı varsa (Text, Dimension a bağlı text)
' MIRRTEXT = 0 olmasına rağmen
' Block Mirror (aynalama) yapılınca yazılar TERSTEN gözükür
' Bu hatayı gidermek için bir çözüm üretir
'
    Dim objEnt As AcadObject
    Dim emptyPt(0 To 2) As Double
    Dim point1, point2 As Variant

    On Error Resume Next
TekrarSec:
    ThisDrawing.Utility.GetEntity objEnt, emptyPt, "Düzenlenecek Block seçiniz: "
    
    If Err <> 0 Then
        ' esc, space veya enter tıklanırsa sonlandır
        If CInt(ThisDrawing.GetVariable("ERRNO")) = 52 Then
            ThisDrawing.SendCommand Chr(3)
            Err.Clear
            Exit Sub
        Else
            ThisDrawing.Utility.Prompt "Block değil...!" & vbCrLf
            Err.Clear
            GoTo TekrarSec
        End If
    End If

    If objEnt.ObjectName = "AcDbBlockReference" Then
    
    ' MIRRTEXT değişkenini 0 olarak ayarla
    ThisDrawing.SetVariable "MIRRTEXT", 0

    ' Block un kapladığı alan koordinatları
    objEnt.GetBoundingBox point1, point2

    objEnt.Explode ' Blok u patlat ( MIRRTEXT=0 dan dolayı yazılar düzeldi ama block parçalandı )
    objEnt.Delete ' Mevcut bloğu sil
    
    ' Group u oluşturacak objeler : Patlatılan block un kapladığı alan koordinatları için de
    ' Crossing ile bu alanı belirle ve objeleri seç ( x.x,y.y,z.z )
    ThisDrawing.SendCommand "GROUP CROSSING" & vbCr & _
    Replace(point1(0), ",", ".") & "," & Replace(point1(1), ",", ".") & ",0.0" & vbCr & _
    Replace(point2(0), ",", ".") & "," & Replace(point2(1), ",", ".") & ",0.0" & vbCr & vbCr
    
    ThisDrawing.Utility.Prompt "Yeni bir " ' TekrarSec ile "Yeni bir Düzenlenecek Block seçiniz: " gözükecek
    
    Else
        ThisDrawing.Utility.Prompt "Block değil...!" & vbCrLf
        Err.Clear
        GoTo TekrarSec
    End If

GoTo TekrarSec

End Sub

 

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Forma Design Contest


AutoCAD Beta