Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  MText entformatieren

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

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
  
NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition, eine Pressemitteilung
Autor Thema:  MText entformatieren (1965 mal gelesen)
startrek
Moderator
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 16. Feb. 2007 21:29    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 Leute,

das 'EntformatiereMTexte-Thema' hatten wir vor längerer Zeit schonmal,
anyway - ist auch nicht ganz easy irgendwie.
Hatte heute abend mal Muse und hab nochmal bissel rumgespielt,
rausgekommen ist dabei das:

Code:

Sub deformateMtext()
  Dim sset As AcadSelectionSet, ent As AcadEntity, re As Object
  Set sset = ActiveDocument.SelectionSets.Add("set2")
  sset.SelectOnScreen
  Set re = CreateObject("vbscript.regexp")
  re.IgnoreCase = 1: re.Global = 1: re.MultiLine = 0
  re.Pattern = "\{?(?:\\[fHLC].*?;|\}).*?(.*?)"
  For Each ent In sset
      If TypeOf ent Is IAcadMText Then
        Debug.Print "before:", ent.TextString
        ent.TextString = re.Replace(ent.TextString, "$1")
        Debug.Print "after:", ent.TextString
      End If
  Next
  sset.Delete
  Set re = Nothing
End Sub

Bei mir hat das hingehauen für folgende getestete textstrings:

Code:

{\fArial|b0|i1|c0|p34;zeile1}\P{\fArial Narrow|b1|i0|c0|p34;\C2;zeile2\P\fBauhaus 93|b0|i0|c0|p82;\H2x;\L\C256;zeile3\P\fArial|b0|i0|c0|p34;\H0.5x;zeile4}"
'ergibt
zeile1\Pzeile2\Pzeile3\Pzeile4

{\fArial|b1|i0|c0|p34;zeile1\P}zeile2\P{\C1;zeile3\P}zeile4
'ergibt
zeile1\Pzeile2\Pzeile3\Pzeile4

{\H2x;\C3;zeile1\P}zeile2\P{\fCourier New|b0|i0|c0|p49;\Lzeile3}\Pzeile4
'ergibt
zeile1\Pzeile2\P\Lzeile3\Pzeile4 'das \L ist noch suboptimal;-)

zeile1\P{\fArial|b1|i1|c0|p34;\H2x;zeile2\L\P\fTahoma|b0|i0|c0|p34;\H0.3x;\lzeile3\Pzeile4}
'ergibt
zeile1\Pzeile2\lzeile3\Pzeile4 'auch noch nicht so ganz ...


Frage: Kann man bei MTexten eigentlich alle möglichem Eventualitäten/Combinationéz;-) finden?

Wer Lust hat, würde mich mal interessiern, was bei euren Mtexten rauskommt, einfach zur Info und testhalber, man kann gar nicht alles selber durchspielen;-)
Wenn geht, mal bitte Originaltextstring und Ergebnistextstring posten.

Glaube zwar nicht, dass das Fass nen Boden finden wird, aber die Hoffnung stirbt bekanntlich zuletzt.

Danke Euch;-)
Nancy

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: 13533
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 17. Feb. 2007 18:13    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 startrek 10 Unities + Antwort hilfreich


getmext-string.VLX.txt

 
Hi Nancy .. ich hatte  da mal was in Lisp gemacht .. Siehe Anhang
(bei tiefergehenden Fragen.. frag 

------------------
  - 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:Infos zum Werbeplatz >>

7fold | Technology Resources for Architects in the AEC CAD APP für Künstliche Intelligenz (KI)

I?m an expert technologist in the AEC industry, trained in architecture since starting practice in 2013. My passion is to unlock your creative potential, expression, and efficiency through harnessing the best tools available in the market today. 10Web Platform

startrek
Moderator
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 21. Feb. 2007 21:13    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

Hi Thomas,

sorry, bin bissel spät dran, ich weiss;-)

Also erstmal danke für das File, das klappt recht gut.
WIE du das nun aber machst, bleibt mir leider unerschlossen,
- wobei ich glaube das ging mir selbst mit 'ner 'open' *.lsp so - ;-)

Ich meine aber der Wege gibt es nicht sooo viele, oder?:

1. - Mtext exploden und die strings zusammensetzen
2. - (virtuelles) Mtext-Fenster erzeugen und via Api das Handle finden und den Text auslesen
3. - Regex
4. - ...?
5. - [trekedi] wäre dann das Arbeiten mit klassischen Stringbearbeitungs/-Prüffunktionen, aber das wäre denke ich ein Mordsaufwand, ich habe dazu noch neverever einen Code gesehen [/trekedi]

DAS wäre denne die tiefergehende Frage ...;-)

lg Nancy
--
ps: die RE-Kiste klappt nicht 100% ig (wenn manns überhaupt dadrüber lösen könnte)
war eigentlich eine reine [sportliche] Übung.
Irgendwie sind da die Muster teilweise nicht greifbar, oder wechseln häufig,
so dass es ad absurdum läuft und man mit zB 1. oder 2. besser/sicherer fährt.

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

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