Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  M-Text 2 Zeilen löschen

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
Autor Thema:   M-Text 2 Zeilen löschen (1205 mal gelesen)
Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 08: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

Hallo,
ich suche eine Möglichkeit bei einen 3 zeiligen M-Text die Zeile 2 und 3 zu entfernen und das automatisch, denn es handelt sich hier um 40 Pläne mit ca. 100 M-Texten und der aufwand ist dafür enorm wenn man das manuell macht.
Habe zwar was gefunden das so aussieht als könnte es funktionieren nur habe ich keine Ahnung von LISP und daher weis ich nicht was ich mit so einem Code eigentlich Anfangen soll. Dafür würde ich eine Anleitung brauchen wie man mit LISP verfahren muss. 

http://ww3.cad.de/foren/ubb/Forum54/HTML/013134.shtml#000010

Wenn es auch möglich wäre könnte man wenn die 2 Zeilen entfernt wurden den M-Text in einen Text aufbrechen im selben Schritt, wenn nicht mit Filtern und Ursprung kann ich das auch lösen.

Hoffe jemand kann mir Helfen

Gruß
Helmut

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

Dig15
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. für Markscheidewesen und Geodäsie



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

Beiträge: 5824
Registriert: 27.02.2003

DWG TrueView 2014

erstellt am: 23. Mai. 2016 10:12    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 Helmi3000 10 Unities + Antwort hilfreich

Hallo Helmut,
als erstes mal zur Lisp Frage. Da empfehle ich Dir die User FAQ mit seinen antworten. Unter anderem hier zu Lisp Teil 1 und Teil 2.

Zum Entfernen im MText... Ein, zwei Beispiele wären sicherlich für alle hilfreich... 

------------------
Viele Grüße Lutz

Glück Auf!  

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

ami123
Mitglied
CAD Zeichner


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

Beiträge: 88
Registriert: 03.05.2011

AutoCAD 2015
AutoCAD 2012
Revit 2013
ACAD Bau 12

erstellt am: 23. Mai. 2016 11: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 Helmi3000 10 Unities + Antwort hilfreich

Ist denn der Text immer gleich oder nicht?????
Ein wenig genauer wäre schon gut!

Grüße
ami

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

cadffm
Moderator
良い精神




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

Beiträge: 18931
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Mai. 2016 11:50    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 Helmi3000 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Helmi3000:
Wenn es auch möglich wäre könnte man wenn die 2 Zeilen entfernt wurden den M-Text in einen Text aufbrechen im selben Schritt, wenn nicht mit Filtern und Ursprung kann ich das auch lösen.

Mit der Aussage würde es bedeuten das du 40x
einen Auswahlsatz bilden müßtest (händisch, oder mit FILTER bzw. Schnellauswahl)
Urspung anwenden
den vorherigen Auswahlsatz bilden, dieses Mal "ohne Zeile1"
Löschen

Das ist vertretbar, Arbeit kostet eben ab und an Zeit und oftmals macht es keinen Spaß, so ist das halt.

Für sehr viele Anwender ist die erstele Lisp-Funktion SSGET, ssget ist die entsprechende LispFunktion für die Objektwahl
und zugleich die Funktion welche am schmerzlichsten vermisst wird wenn es um Scripte oder Makros geht,
denn die Möglichkeiten der Objektwahl sind in diesen sehr begrenzt.

SSSETFIRST erstellt einen Markierungssatz (Objekte werden markiert).

Nachfolgend siehst du wie ich zwei mal SSGET verwende und die gefilterten Objekte markiere:

Markiere MTexte welche das Wort Kugel enthalten (GROSSkleinSchreibung beachten)
(sssetfirst nil (setq aws (ssget "_X" '((0 . "MTEXT")(1 . "*Kugel*`\P*")))))

Markiere Texte aus dem vorherigen Auswahlsatz, welche NICHT das Wort Kugel enthalten
(sssetfirst nil (setq aws (ssget "_P" '((0 . "TEXT")(1 . "~*Kugel*")))))

Zusammen mur Ursprung und löschen wäre das einfache Script fertig:

; Script zu löschen XY
(sssetfirst nil (setq aws (ssget "_X" '((0 . "MTEXT")(1 . "*Kugel*`\P*")))))
URSPRUNG
(sssetfirst nil (setq aws (ssget "_P" '((0 . "TEXT")(1 . "~*Kugel*")))))
LÖSCHEN

; ScriptEnde

Du könntest nun die FÜNF Zeilen(!also samt Leerzeile) in die Zwischenablage kopieren und in die Befehlszeile einfügen, fertig.
Auch könntest du die fünf, oder auch alle sieben, Zeilen in eine Datei *.scr speichern und mit SR oder SKRIPT starten.

Die Auswahl der MTexte ist mit diesem ssget-Ausdruck nicht ganz Wasserdicht,
er würde auch MTexte finden mit dem Wort Kugel und einem nachfolgenden "\P",
ich gehe aber davon aus das dies zu vernachlässigen ist für dich.

Dies soll einfach ein Beispiel dafür sein wie man sich mit einfachsten Mitteln selbst helfen kann,
nur für die Objektwahl greife ich auf Lisp zurück. In der Hilfe ist SSGET beschrieben,
die Wildcards in AutoCAD kenne ich aus der Hilfe in vollem Umfang nur auf der Seite zur Lispfunktion WCMATCH.
Die Objekteigenschaften zu jedem Acad-Objekt findet man in der Hilfe am einfachsten unter <Objekttyp> DXF,
als zB. LINE DXF

Den DXF-Objektnamen und Eigenschaften kann man mit folgender Zeile abfragen (entget(car(entsel))),
so ermittelt man wie das Objekt intern genannt wird (steht in DXF-Gruppencode 0).
Bei MTexten sieht man dann: Der Inhalt steht in Gruppencode 1 usw.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 12: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

Hallo,
Danke mal für die Antworten !

um das genauer zu beschreiben ich habe eine Zeichnung mit 100 Stk M-Text, das kann so aussehen
Zeile 1: Büro
Zeile 2: Teppich
Zeile 2: 15

oder

Zeile 1: Meeting
Zeile 2: Linu
Zeile 2: 30

und jetzt will ich das nur mehr
Büro, Meeting, WC ... stehen bleibt

Da es nicht immer der selbe Text ist sollte das Script nur die Zeilen 2 und 3 löschen egal was da für ein Wort darin steht.

Hoffe das kann man lösen

Gruß
Helmut

[Diese Nachricht wurde von Helmi3000 am 23. Mai. 2016 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 18931
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Mai. 2016 12:23    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 Helmi3000 10 Unities + Antwort hilfreich

Dann stimmte deine Ausage zwar (du kannst Ursprung auch selbst mit FILTER lösen),
aber nur mit erhöhtem Aufwand.

Da es sich um Raumstempel handelt und diese sicher alle auf einem extra Layer liegen?,
könntest du natürlich die Objektwahl aufbohren wenn dir die möglichen Raumnamen bekannt sind:
(1 . "*Büro*,*Meeting*,*Küche*,*usw*")
dazu noch ein Layerfilter(DXF 8)

(sssetfirst nil (setq aws (ssget "_X" '((0 . "MTEXT")(1 . "*Büro*,*Meeting*,*Küche*,*usw*")(8 . "MeinLayer")))))


Für die saubere 1-Klicklösung bin ich heute nicht zu haben, möchte dich lieber motivieren
eine Lösung zu finden mit der du dir auch später noch sehr viel selbst helfen kannst: SSGET

Wähle alle Texte auf Layer "MeinLayer", welche nur 1-5stellige positive Ganzzahlen enthalten:
(sssetfirst nil (ssget "_X" '((0 . "TEXT")(1 . "#,##,##,###,####,#####")(8 . "MeinLayer"))))

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 13:08    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

sorry, ich verstehe hier nur Banhof     
Was soll ich mit der Zeile machen ???
(sssetfirst nil (ssget "_X" '((0 . "TEXT")(1 . "#,##,##,###,####,#####")(8 . "MeinLayer"))))

Diese FAQ sagt ich soll einen Editor öffnen, habe Notepad geöffnet und die Zeile hineinkopiert und das ganze jetzt unter SSGET.lsp gespeichert.
Dann mit dem Befehl APPLOAD das ganze laden und dann kann ich nicht mehr folgen der Beschreibung, weil ich nicht verstehe welchen Befehl soll ich jetzt eingeben     

Bin damit überfragt wie das gehen soll.

HILFE Bitte   

Gruß
Helmut 

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

ami123
Mitglied
CAD Zeichner


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

Beiträge: 88
Registriert: 03.05.2011

AutoCAD 2015
AutoCAD 2012
Revit 2013
ACAD Bau 12

erstellt am: 23. Mai. 2016 14:11    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 Helmi3000 10 Unities + Antwort hilfreich

Also ich würde das mittels der Suchen-Ersetzen Funktion lösen. Solche Sachen wie Teppich oder Linu wiederholen sich doch sicher. Und mit den Zahlen wird es doch auch so sein. Und wenn Du das innerhalb einer AutoCAD Sitzung machst, dann brauchst Du das nicht mal neu eingeben, sondern kannst die Liste der letzten Eingaben nutzen. Ein ganz klein wenig Fleißarbeit, geht aber schneller als lange andere Dinge probieren.
Ist den in allen 3 Zeilen der Text gleich groß? Wenn nicht geht es ja noch schneller über die Schnellauswahl ....

Grüße
ami

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

Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 14: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


Test.dwg

 
Hallo

Das Problem ist das nicht alle Zeichnungen gleich aufgebaut sind in meinen Beispiel sind das Raumnamen in der ersten Zeile in der Datei TEST.dwg sind da wider die Raumnummern an erster Stelle.

Wer kann die M-Texte im Test auf einen Schlag so ändern das nur mehr die Raumnummern übrig sind ???

Gruß
Helmut

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

cadffm
Moderator
良い精神




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

Beiträge: 18931
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Mai. 2016 14:27    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 Helmi3000 10 Unities + Antwort hilfreich

Für dich ist alles neu und du wirfst daher, zum Teil verständlich, eingies durcheinander.
Zum einen hast du ganz oben die allgemeinen Tips bekommen was/wie man mit so einem gefundenen Lisp(dein Link)
anfangen kann - siehe Antwort von DIG15.

Meine Antworten haben damit NICHTS zutun,
diese gehen in eine andere Richtung: SCRIPT
Da du selbst nicht programmieren kannst, füttere die Befehlszeile mit einfachen AutoCAD-Befehlen.
Da es zur Steuerung über die Befehlszeile Einschränkungen bei der Objektwahl gibt,
habe ich dir die Möglichkeit gezeigt mit "etwas Lisp" dieses Manko zu umgehen / SSGET und SSSETFIRST.

Nun kann man deine Antwort damit interpretieren das du auch mit Maktos und Skripten noch nie gearbeitet hast?
Dann öffne doch mal eine neue Datei, kopiere nachfolgende Zeilen zwischen den ";",
markiere dafür von der leeren Zeile aus, bis nach oben einschl. des Wortes KREIS,
dann mit Strg+C kopieren und füge die Zeilen in die AutoCAD-Befehlszeile ein (klick in Befehlszeile und Strg+V)!

;
KREIS 30,30 15
PLINIE 10,10 50,50
PLINIE 40,50 50,50 50,40
ZOOM GRENZEN
ZOOM 0.7xp

;


Und genau so etwas habe ich dir oben auch schon mal gepostet, nur das es auch für deine aktuelle Anforderung ausgerichtet war,
im Gegensatz zu diesem Script - was nur zeigen soll das man Acad auch "ohne Programmierung" automatisieren kann.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

ami123
Mitglied
CAD Zeichner


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

Beiträge: 88
Registriert: 03.05.2011

AutoCAD 2015
AutoCAD 2012
Revit 2013
ACAD Bau 12

erstellt am: 23. Mai. 2016 14:50    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 Helmi3000 10 Unities + Antwort hilfreich

Wenn Du das mit der Suchen/Ersetzen Funktion machst, musst Du den Befehl genau 2x anwenden.

1. Suchen nach: 0???????? und dann alle Zeilen markieren, die nur 3 Buchstaben haben und Ersetzen mit _ (einem Leerzeichen).
2. Suchen nach: 0????????? und dann die restlichen Zeilen mit 4 Buchstaben, Ersetzen mit Leerzeile.

FERTIG!

Dauert genau 1-2 Minuten.

Liebe Grüße
ami

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

Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 14:57    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

Sorry CADFFM, das Hilft mir gar nicht weil es mir nicht sagt was ich mit der Zeile machen soll ???
(sssetfirst nil (ssget "_X" '((0 . "TEXT")(1 . "#,##,##,###,####,#####")(8 . "MeinLayer"))))

Was ist die Zeile ??? Makro oder LISP ?
Wie verwende ich die Zeile richtig ?

Wie ich Makros in Excel verwende kenne ich und mit dem Makro Rekorder kann ich auch dort umgehen aber das hier verstehe ich nicht.

Diese FAQ sagt nichts anderes als die Zeile in eine Editor geben das ganze als LSP speichern und mit APPLOAD hochladen und dann mit einem Befehl starten. Genau beim Befehl scheitere ich wenn die ersten Schritte richtig sind.           

Gruß
Helmut

[Diese Nachricht wurde von Helmi3000 am 23. Mai. 2016 editiert.]

[Diese Nachricht wurde von Helmi3000 am 23. Mai. 2016 editiert.]

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

Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 15:10    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 AMI,

vielleicht stehe ich gerade auf der Leitung aber wie gebe ich das bitte in die Suche ein ?
0?????? funktioniert doch nicht     

Gruß
Helmut

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

ami123
Mitglied
CAD Zeichner


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

Beiträge: 88
Registriert: 03.05.2011

AutoCAD 2015
AutoCAD 2012
Revit 2013
ACAD Bau 12

erstellt am: 23. Mai. 2016 15: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 Nur für Helmi3000 10 Unities + Antwort hilfreich

_find
dann in der Zeile "Suchen nach" tatsächlich eingeben 0????????
in allen deinen Mtexten suchen lassen und dann nur die markieren, die 3 Buchstaben besitzen
"Ersetzen durch" _ (Leerzeichen) und dann "Ersetzen" drücken. "Fertig"

Und dann das gleiche nochmal, aber mit einem ? mehr in der Suchzeile ....

Grüße
ami

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

Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 15: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


2016-05-23_15h32_17.jpg

 
Hallo AMI,
das Ergebnis ist 0 Übereinstimmungen gefunden
stehe immer noch auf der Leitung

Gruß
Helmut

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

cadffm
Moderator
良い精神




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

Beiträge: 18931
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Mai. 2016 15: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 Nur für Helmi3000 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Helmi3000:
Wer kann die M-Texte im Test auf einen Schlag so ändern das nur mehr die Raumnummern übrig sind ???

ICH und einige andere mehr, aber das hilft dir ja nicht.


Daher die Hilfe zur Selbsthilfe: Objektwahl über Lispfunktion SSGET (und sssetfirst),
Lispausdrücke kann man auch direkt in Makros(Menümakro, nicht VBA-Makro), in Scripten und in der Befehlszeile direkt nutzen.

Wenn du dich damit beschäftigst, dann kannst du zukünftig sehr viel selbst erledigen.
Ein fertiges Programm hingegen löst deine aktuelle Aufgabe und beim nächsten Problem
sitzt du wieder vor dem Berg und es geht nicht weiter.

Also wenn du noch Interesse daran hast, gebe doch folgendes, wie schon oben beschrieben,
in die Befehlszeile ein:
; diese Zeile nicht, aber nachfolgende
(sssetfirst nil (ssget "_X"  '((0 . "MTEXT")(8 . "TXT"))))
URSPRUNG
(sssetfirst nil (ssget "_P"  '((0 . "TEXT")(1 . "~#####")(8 . "TXT"))))
LÖSCHEN

;diese Zeile nicht, nur die vorstehenden

Die Zeilen mit den Klammern habe ich versucht zu erklären und auf die Hilfe zu SSGET verwiesen,
dazu bräuchte man noch die Hilfe zu WCMATCH, falls man die Wildcards in AutoCAD nicht alle kennt
und wnn man selbst mal ein wenig damit spielt, hilft noch die Hilfe zur DXF-Referenz,
dort stehen die Eigenschaften von Objekten beschrieben wie man es für SSGET benötigt.

Aber die Vier Zeilen hier sind "funktionsfertig", der Verweis auf die Hilfe ist nur nett gemeint für
deine weitere Recherche zu SSGET.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Helmi3000
Mitglied



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

Beiträge: 107
Registriert: 04.02.2013

ADT 2016
Lenovo P50
nVidia Quadro M1000M

erstellt am: 23. Mai. 2016 16:20    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

Super CADFFM,
hab es jetzt endlich verstanden.  Muss mich unbedingt mal in das Thema einlesen.
Vielen DANKE für deine Geduld mit mir.

Hier noch ein DANKE an AMI und DIG15 für euren Beitrag dazu 

Gruß
Helmut 

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9545
Registriert: 01.12.2003

AutoCAD 2.5 - 2017, Civil 3D, MAP 3D, LDD, MDT, ARD
Inventor AIP 4-201x
Win7x64, Win 10

erstellt am: 23. Mai. 2016 16:25    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 Helmi3000 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Helmi3000:
... das Ergebnis ist 0 Übereinstimmungen gefunden...
Gruß Helmut


Im Screenshot fehlt das Häkchen bei "Platzhalter verwenden"
* = beliebige Zeichenfolge
? = 1 beliebiges Zeichen

uvm. in der AutoCAD Hilfe (Wildcards)  z.B. @ # ~ []


------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

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

StephanJP
Mitglied
CAD-Admin


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

Beiträge: 785
Registriert: 09.11.2000

AutoCAD ,MAP 3D, Civil 3D, P&ID, VehicleTracking alles bis 2017, WS-Plateia, BBSoft,Win 7 Prof, Canon PlotClient
Canon IPF 605, 825

erstellt am: 23. Mai. 2016 16:31    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 Helmi3000 10 Unities + Antwort hilfreich

quick and dirty:
Code:
(defun c:mtext1-z ()
  (vl-load-com)
  (setq as (ssget '((0 . "MTEXT")))
n 0
en (ssname as n)
)
  (while en
    (setq tsalt (cdr (assoc 1 (entget en))))
    (setq tsneu (substr tsalt 1 (vl-string-position (ascii "\\") tsalt)))
    (vlax-put-property (vlax-ename->vla-object en) 'TextString tsneu)
    (setq n (1+ n)
  en (ssname as n)
  )
    )
  )

------------------

gruß
Stephan

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

cadffm
Moderator
良い精神




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

Beiträge: 18931
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Mai. 2016 16: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 Helmi3000 10 Unities + Antwort hilfreich

pfui Stephan     (zudem passt das nicht für die betreffenden MTexte  )

@Hemli
Deine SUCHEN Anfrage konnte nicht klappen weil du keine Wildcards zugelassen hast (PLATZHALTER),

Hier noch ein paar:

SUCHEN-Variante:
Alle MTexte auflösen
Dann SUCHEN nach ~0???? ersetzen mit einem leerzeichen, danach BEREINIGEN (mit Nullängenobjekte) um die Texte mit nur einem Leerzeichen zu löschen.

Auch würde es über Sauswahl funktionieren und über Filter,
damit die entsprechenden Texte auswählen und löschen.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

cadffm
Moderator
良い精神




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

Beiträge: 18931
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Mai. 2016 16: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 Nur für Helmi3000 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Helmi3000:
Hallo AMI,
das Ergebnis ist 0 Übereinstimmungen gefunden
stehe immer noch auf der Leitung

Der Hinweis auf Platzhalter und wo die Erklärung steht kam ja nun mehrfach,
ich will dir noch die Möglichkeit der Objektwahl über SUCHEN genauer erklären.
(Hat Ami angesprochen, aber einen etwas anderen Weg gewählt)

MTexte auflösen
SUCHEN nach ~#####
(NUR SUCHEN, nicht ersetzen)
dann kannst du alle Treffer in der Trefferliste markieren und rechts im Dialog den Knopf drücken
um einen Auswahlsatz zu erstellen, Autodesk ist so nett und markiert die Objekte dazu noch, rofl.

Nun kannst du die ausgewählten Texte löschen (es sind alle Texte gewählt welche nicht aus 5 Zahlen bestehen).

Gibt halt sehr viele Möglichkeiten um das Ziel zu erreichen, selbst ohne Programmierung.

jetzt ist aber gut.. 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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