| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: ssget für MTEXT und Wert (1375 mal gelesen)
|
Sagittarius Mitglied Bauzeichner
Beiträge: 30 Registriert: 13.03.2007 AutoCAD 2018.1.1 Windows7 SP1 Dell Precision T3600 16GB RAM QUADRO 4000
|
erstellt am: 13. Mrz. 2007 13:09 <-- editieren / zitieren --> Unities abgeben:
Liebe AutoCAD-Freunde Ich muss aus einem Listing alle MTEXT-Werte mit einer "0" (Null) entfernen und habe beim Stöbern im Forum das mit dem "ssget"-Befehl gesehen, da ja die Schnellauswahl bei ACAD2006 nur mit dem Eingabefeld geht und "-sauswahl" leider nicht wie "-plot" alles in der Kommando- zeile bringt. Schade eigentlich. Wie müsste ich denn den folgenden String (ssget "_X" '((0 . "MTEXT"))) erweitern, dass nur alle "0" ausgewählt werden? Liebe Grüsse! Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 AutoCAD 2.5 - 2025, Civil 3D, MAP 3D, ACADM, ACA Inventor Prof. 2025, AIP 4-2025 Win 11
|
erstellt am: 13. Mrz. 2007 13:14 <-- editieren / zitieren --> Unities abgeben: Nur für Sagittarius
Code: (ssget "_X" '((0 . "MTEXT")(1 . "0")))
Dann darf aber nur eine Null im Text stehen und keine Formatierung auf die Null angewandt worden sein. ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sagittarius Mitglied Bauzeichner
Beiträge: 30 Registriert: 13.03.2007 AutoCAD 2018.1.1 Windows7 SP1 Dell Precision T3600 16GB RAM QUADRO 4000
|
erstellt am: 13. Mrz. 2007 13:36 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo Besten Dank mal für Deine schnelle Antwort. Ich hab's mal manuell probiert, bevor ich es in ein Makro stelle. Leider habe ich dann dies in der Anzeige: Befehl: _erase Objekte wählen: (ssget "_X" '((0 . "MTEXT")(1 . "0"))) nil *Ungültige Auswahl* Erwartet einen Punkt oder Fenster/Letztes/Kreuzen/QUADER/ALLE/Zaun/FPolygon/KPolygon/Gruppe/Hinzufügen/Ent fernen/Mehrfach/Vorher/Zurück/AUto/EInzeln Objekte wählen: *Abbruch* Mit dem "X" bräuchte es ja keine Auswahl mehr... Hat's etwa mit der Formatierung zu tun? Diese Nullen sind jeweils einzeln als MTEXT mit Stil "Standard", Schrift "simplex", Höhe "20" und einem Breitenfaktor 0.7 drin. Liebe Grüsse Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 AutoCAD 2.5 - 2025, Civil 3D, MAP 3D, ACADM, ACA Inventor Prof. 2025, AIP 4-2025 Win 11
|
erstellt am: 13. Mrz. 2007 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Sagittarius
Es werden keine Mtexte gefunden, da (wie ich oben schon andeutete) offensichtlich NICHT nur "0" im Mtext Objekt eingetragen ist, sondern vermutlich noch Formatierungen o.ä. Einfach mal
Code: (entget (car (entsel)))
in der AutoCAD Befehlszeile eingeben und auf die Anfrage Objekt wählen: ein entsprechendes MTEXT objekt wählen. der Rückgabewert sollte so aussehen:
Code: Befehl: (entget (car (entsel))) Objekt wählen: ((-1 . <Objektname: 7e614af8>) (0 . "MTEXT") (330 . <Objektname: 7e7cacf8>) (5 . "22A97") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "AM_0") (100 . "AcDbMText") (10 4743.48 5970.29 0.0) (40 . 3.5) (41 . 181.573) (46 . 0.0) (71 . 1) (72 . 5) (1 . "0") (7 . "STANDARD") (210 0.0 0.0 1.0) (11 1.0 0.0 0.0) (42 . 1.40551) (43 . 3.5) (50 . 0.0) (73 . 1) (44 . 1.0))
------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sagittarius Mitglied Bauzeichner
Beiträge: 30 Registriert: 13.03.2007 AutoCAD 2018.1.1 Windows7 SP1 Dell Precision T3600 16GB RAM QUADRO 4000
|
erstellt am: 13. Mrz. 2007 14:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Udo Ok, hab's gemacht und bekomme dies: Befehl: (entget (car (entsel))) Objekt wählen: ((-1 . <Objektname: 7da301f0> ) (0 . "MTEXT") (330 . <Objektname: 7eda3d18> ) (5 . "C736") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "K_LIS_M_Gebäude_Schnitt A-A") (62 . 3) (100 . "AcDbMText") (10 8190.61 244.504 0.0) (40 . 20.0) (41 . 106.72) (71 . 5) (72 . 5) (1 . "{\\Fsimplex|c0;\\W0.7;0}") (7 . "Standard") (210 0.0 0.0 1.0) (11 1.0 0.0 0.0) (42 . 9.33333) (43 . 20.0) (50 . 0.0) (73 . 1) (44 . 1.0)) Befehl: Ich habe aber gesehen, dass ich nochmals einen Ursprung machen kann, somit wird aus dem MTEXT dann TEXT und dann wird auch markiert wenn ich (ssget "_X" '((0 . "TEXT")(1 . "0"))) eingebe. Ich glaub ich bleib mal bei dem. Vorerst vielen Dank für's Helfen Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 13. Mrz. 2007 14:24 <-- editieren / zitieren --> Unities abgeben: Nur für Sagittarius
Es gibt schon noch andere Möglichkeiten aber wenn nicht mehr dranhängt ( wie Script , oder Mtext muß erhalten bleiben) fährst du IMHO mit der "Explode"-Geschichte am besten ... ------------------ - 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 |
Sagittarius Mitglied Bauzeichner
Beiträge: 30 Registriert: 13.03.2007 AutoCAD 2018.1.1 Windows7 SP1 Dell Precision T3600 16GB RAM QUADRO 4000
|
erstellt am: 14. Mrz. 2007 11:52 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! @Thomas Danke noch für den zusätzlichen Tipp! @Udo
Ich habe mir noch etwas Gedanken gemacht wegen diesen Formatierung und mir ein paar dieser Nullen noch angeschaut und gesehen, dass z.B einige diese MTEXT-Formatierung hatten: (1 . "{\\Fsimplex|c0;\\W0.7;0}") oder komischerweise auch nur (1 . "{\\W0.7;0}") Ich habe mir dann überlegt, ob ich mit dem Platzhalter "*" die beiden kombinieren könnte, also so: (1 . "{*\\W0.7;0}") Das geht mit manueller Eingabe ohne Probleme:
_erase (enter) Objekte wählen: (ssget "_X" '((0 . "MTEXT")(1 . "{*\\W0.7;0}"))) (enter) Wenn ich aber mein Makro ausführe:
^C^C_erase;(ssget "_X" '((0 . "MTEXT")(1 . "{*\\W0.7;0}"))); hängt der Ablauf und ich sehe dies in der Befehlszeile: Befehl: _erase Objekte wählen: (ssget "_X" '((0 . "MTEXT")(1 . "{* Warum wird denn der Ablauf unterbrochen bzw. nicht ausgeschrieben ab dem Sternchen? Muss mann da das Makro irgendwie noch austricksen weil der Stern eventuell mit dem Wiederholen zu tun hat? Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 14. Mrz. 2007 12:05 <-- editieren / zitieren --> Unities abgeben: Nur für Sagittarius
|
Sagittarius Mitglied Bauzeichner
Beiträge: 30 Registriert: 13.03.2007 AutoCAD 2018.1.1 Windows7 SP1 Dell Precision T3600 16GB RAM QUADRO 4000
|
erstellt am: 14. Mrz. 2007 12:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc Tja ein Profi sieht das eher. Ich dachte, dass die vielen Klammern die Schrägstriche aufheben. Ober ok, ich versuch's mal mit dem Lisp. Ich habe schon soviele einfache Makros in letzter Zeit gemacht, dass ich im Moment auch gar nicht mehr an ein Lisp gedacht habe. Danke und schönen Tag noch! Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |