Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  MTEXT

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
Autor Thema:  MTEXT (756 mal gelesen)
Antor
Mitglied



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

Beiträge: 10
Registriert: 09.11.2005

Pentium 4 3,0 GHz; 2 GB RAM, Windows XP Prof SP2;
ACAD 2004

erstellt am: 05. Feb. 2006 10:49    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 Alle,

kann mir jemand helfen. ich muß bei einer ganzen Reihe MTEXTEN eine komplette Zeile löschen. Gibt es da einen Automatismus oder muß ich jeden Text einzeln editieren. Ich benutze ACAD2004.

Danke!

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 05. Feb. 2006 11:14    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 Antor 10 Unities + Antwort hilfreich

mit "suchen" (_find).

ciao georg

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

Antor
Mitglied



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

Beiträge: 10
Registriert: 09.11.2005

Pentium 4 3,0 GHz; 2 GB RAM, Windows XP Prof SP2;
ACAD 2004

erstellt am: 05. Feb. 2006 11:19    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

das ist mir schon klar, aber wie lösche ich die entstehende Leerzeile.

Mein Text sieht so aus: 1. Zeile
                        2. Zeile
                        3. Zeile
Ich möchte Zeile 2 löschen und die 3. Zeile soll hoch rutschen.

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

startrek
Mitglied
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: 05. Feb. 2006 12:22    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 Antor 10 Unities + Antwort hilfreich

Hi Antor,

nicht besonders getestet, also eher für simple MTexte,
kannst du mal folgendes probieren:

Code:

Sub del_second_row()
    Dim sset As AcadSelectionSet, ent As AcadEntity
    Dim rex As Object
    Set sset = ActiveDocument.SelectionSets.Add("set3")
    sset.SelectOnScreen
    Set rex = CreateObject("vbscript.regexp")
    rex.Global = True
    rex.Pattern = "(.*?\\P)(.*?\\P)(.*)"
    For Each ent In sset
        If TypeOf ent Is IAcadMText Then
            ent.TextString = rex.Replace(ent.TextString, "$1$3")
        End If
  Next
  sset.Delete
  Set rex = Nothing
End Sub

Gruss Nancy

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

Antor
Mitglied



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

Beiträge: 10
Registriert: 09.11.2005

Pentium 4 3,0 GHz; 2 GB RAM, Windows XP Prof SP2;
ACAD 2004

erstellt am: 05. Feb. 2006 12: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

Hi Nancy,
danke für den Tipp, aber ich bin nicht so versiert. Was muss ich mit dem Script machen?

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

Stelli1
Ehrenmitglied
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2013, Rasterdesign
MapGuide 6.5 - 2013
Oracle 9i,10g,11g Enterprise
autodesk Topobase 2-2012
VS6, VS.net

erstellt am: 05. Feb. 2006 12:33    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 Antor 10 Unities + Antwort hilfreich

Hallo,

schau mal hier

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 05. Feb. 2006 12: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 Antor 10 Unities + Antwort hilfreich

Hallo Antor,
probier es mal mit folgendem LISP. Zu Beachten ist aber, das Formatierungen, die über die zu löschenden Zeile hinaus gehen, zerstört werden. Also, die Ergebnisse prüfen!!
Code:

;;;Jörn Bosse, 05.02.06
(defun c:mt_del_zeile  (/ temp text text1 text_liste n n1 aws)
  (if (not JB_zeile)
    (setq JB_zeile 2))
  (princ "\nBitte wählen Sie MTexte aus:")
  (if

    (setq aws (ssget (list (cons 0 "MTEXT"))))
    (progn (if (setq temp
      (getint
(strcat
  "\nBitte geben Sie die zu löschende Zeilennummer an:<"
  (itoa JB_zeile)
  ">")))
      (setq JB_zeile temp))
    (setq n 0)
    (repeat (sslength aws)
      (setq text_liste nil)
      (setq text (cdr (assoc 1 (entget (ssname aws n)))))
      (while (vl-string-search "\\P" text)
(setq text_liste (cons (substr text
      1
      (vl-string-search "\\P" text))
      text_liste)
      text (substr text (+ (vl-string-search "\\P" text) 3))))
      (setq text_liste (cons text text_liste))
      (setq text1 ""
    n1 1)
      (mapcar '(lambda (A)
(if (/= n1 JB_zeile)
  (setq text1
  (strcat text1
  A
  (if (< n1 (length text_liste))
    "\\P"
    ""))))
(setq n1 (+ n1 1)))
      (reverse text_liste))
      (entmod (subst (cons 1 text1)
    (assoc 1 (entget (ssname aws n)))
    (entget (ssname aws n))))

      (setq n (+ n 1))))
    (alert "Sie haben keine MTexte ausgewählt."))
  (princ)
  )
(princ "\nn.te Zeile von Mtexten löschen.")
(princ "\nStart mit \"mt_del_zeile\"")


------------------
viele Grüße

Jörn

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

startrek
Mitglied
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: 05. Feb. 2006 12:35    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 Antor 10 Unities + Antwort hilfreich

Antor
Mitglied



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

Beiträge: 10
Registriert: 09.11.2005

Pentium 4 3,0 GHz; 2 GB RAM, Windows XP Prof SP2;
ACAD 2004

erstellt am: 05. Feb. 2006 12:40    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

Danke klappt, noch eine Frage wie ändere ich die Zeile zum Beispiel von 2 auf 3.

Antor

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

Antor
Mitglied



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

Beiträge: 10
Registriert: 09.11.2005

Pentium 4 3,0 GHz; 2 GB RAM, Windows XP Prof SP2;
ACAD 2004

erstellt am: 05. Feb. 2006 12:46    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 Jörn,

funktioniert bestens.
Kann man das Script so umbauen, das ein frei wählbarer String angegeben wird und dieser dann inkl. der ganzen Zeile gelöscht wird.

Vielen Dank schon mal!

Antor

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 05. Feb. 2006 13:24    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 Antor 10 Unities + Antwort hilfreich

Hallo Antor,
hier nochmal eine Variante: Es wird nach einem String gesucht. Wenn der String innerhalb einer Zeile eines MTextes vorhanden ist, wird die Zeile gelöscht. Auch hier wieder: Ergebnisse prüfen!!!
Code:

;;;Jörn Bosse, 05.02.06
(defun c:mt_del_zeile_str  (/ temp text text1 text_liste n n1 aws)
  (if (not JB_str)
    (setq JB_str "TEST"))
  (princ "\nBitte wählen Sie MTexte aus:")
  (if

    (setq aws (ssget (list (cons 0 "MTEXT"))))
    (progn (if (/=(setq temp
      (getstring
(strcat
  "\nBitte Löschstring angeben. <"
  JB_str
  ">")))"")
      (setq JB_str temp))
    (setq n 0)
    (repeat (sslength aws)
      (setq text_liste nil)
      (setq text (cdr (assoc 1 (entget (ssname aws n)))))
      (while (vl-string-search "\\P" text)
(setq text_liste (cons (substr text
      1
      (vl-string-search "\\P" text))
      text_liste)
      text (substr text (+ (vl-string-search "\\P" text) 3))))
      (setq text_liste (cons text text_liste))
      (setq text1 ""
    n1 1)
   
      (mapcar '(lambda (A)
(if (not (vl-string-search JB_str A))
  (setq text1
  (strcat text1
  A
  (if (< n1 (length text_liste))
    "\\P"
    ""))))
(setq n1 (+ n1 1)))
      (reverse text_liste))
      (entmod (subst (cons 1 text1)
    (assoc 1 (entget (ssname aws n)))
    (entget (ssname aws n))))

      (setq n (+ n 1))))
    (alert "Sie haben keine MTexte ausgewählt."))
  (princ)
  )
(princ "\nLöschen von Zeilen aus Mtexten, die einen Löschstring beinhalten.")
(princ "\nStart mit \"mt_del_zeile_str\"")



------------------
viele Grüße

Jörn

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

Antor
Mitglied



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

Beiträge: 10
Registriert: 09.11.2005

Pentium 4 3,0 GHz; 2 GB RAM, Windows XP Prof SP2;
ACAD 2004

erstellt am: 05. Feb. 2006 13:42    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

Bestens!
Vielen Dank und schönes Wochenende!

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)2023 CAD.de | Impressum | Datenschutz