Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  MTEXT auflösen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  MTEXT auflösen (3199 mal gelesen)
jroedel
Mitglied


Sehen Sie sich das Profil von jroedel an!   Senden Sie eine Private Message an jroedel  Schreiben Sie einen Gästebucheintrag für jroedel

Beiträge: 2
Registriert: 12.04.2005

Windows 2000
ADT 2005 mit SP1

erstellt am: 12. Apr. 2005 09:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Forum!

Unter ADT 2005 kann man alle MTEXTe auswählen und dann mit mit "Auflösen" nach einfachen TEXT wandeln.
Wie kann man dies (das Auflösen) unter VBA nachbilden?
Habe schon alle möglichen Hilfen durchsucht, aber nichts gefunden.
Im Vorraus besten Dank.

mfG
Jürgen Rödel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13530
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 12. Apr. 2005 09:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jroedel 10 Unities + Antwort hilfreich

Durch Erzeugung eines Textobjektes und nachfolgender Übertragung der Eigenschaften des MText-Objektes auf das Textobjekt sowie letztendlich Löschen des Ursprungs-Mtextobjektes.

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jroedel
Mitglied


Sehen Sie sich das Profil von jroedel an!   Senden Sie eine Private Message an jroedel  Schreiben Sie einen Gästebucheintrag für jroedel

Beiträge: 2
Registriert: 12.04.2005

Windows 2000
ADT 2005 mit SP1

erstellt am: 12. Apr. 2005 09:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Habe dies schon mit folgendem Script versucht:
Public Sub ConvertMText()
Dim Object As Object
Dim AcDraw As AcadDocument
Dim OldMText As AcadMText
Dim NewText As AcadText
Dim CrLayer As AcadLayer

On Local Error Resume Next

'Verweis auf aktuelle Zeichnung speichern
Set AcDraw = ThisDrawing

'Layer entsperren
For Each CrLayer In ThisDrawing.Layers
    If CrLayer.Freeze = True Then
        CrLayer.Freeze = False
    End If
Next

'SelectionSets.Add "Auswahl"

' Objekte auswählen
Set AcSSet = SelectionSets("Auswahl")
AcSSet.Clear
'AcSSet.Select acSelectionSetAll

' Objekte durchsuchen
If AcSSet.Count > 0 Then
    For x = 0 To AcSSet.Count - 1
        Set Object = AcSSet.Item(x)
        If Object.ObjectName = "AcDbMText" Then
            Set OldMText = Object
           
            InsPoint = OldMText.InsertionPoint
            If TypeName(InsPoint) = "Double()" Then
                Angle = OldMText.Rotation
               
                tHeight = OldMText.Height
               
                sValue = OldMText.TextString
               
                If sValue <> "" Then
                    Set NewText = ModelSpace.AddText(sValue, InsPoint, tHeight)
                    NewText.Rotation = Angle
                    NewText.ObliqueAngle = Utility.AngleToReal("0.0", GetVariable("AUNITS"))
                    NewText.StyleName = OldMText.StyleName
                                       
                    Set pointObj = ThisDrawing.ModelSpace.AddPoint(InsPoint)
                    NewText.Alignment = OldMText.AttachmentPoint + 5
                    NewText.TextAlignmentPoint = InsPoint
                    NewText.Layer = OldMText.Layer
                    pointObj.Delete
                    OldMText.Delete
                End If
            End If
        End If
    Next
End If
       
End Sub

Funktioniert auch soweit, nur das ich bei MTEXTen mit mehrehren Zeilen  einiges an Müll in den Texten bekomme.

z.B. wird aus:

Hydrantenschrank
demontierbar

{\fSwis721 BT|b0|i0|c0|p34;Hydrantenschrank\Pdemontierbar}

Woher kommt dies?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13530
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 12. Apr. 2005 10:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jroedel 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von jroedel:
z.B. wird aus:

Hydrantenschrank
demontierbar

{\fSwis721 BT|b0|i0|c0|p34;Hydrantenschrank\Pdemontierbar}

Woher kommt dies?


Das sind Formatanweisungen
\f .. Schriftfont bis zum ;
\P .. Zeilenwechsel
.... da gibts noch Höhe, Farbe ...

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz