Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Enter in der Befehlszeile simulieren

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:  Enter in der Befehlszeile simulieren (1560 mal gelesen)
Gromhelm2
Mitglied



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

Beiträge: 45
Registriert: 06.11.2006

AutoCad MAP 3D 2010

erstellt am: 06. Nov. 2006 22: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

Hallo,

ich habe in einer Autocad-Datei 450 Zahlen, diese sollen alle mit entsprechenden Texten ersetzt werden (für jede Zahl ein entsprechender Text, die Werte habe ich in einer Excel-Datei stehen).

Jetzt wollte ich mir mit dem srxTEXT-Plugin eine Befehlsliste schreiben und diese nur in AutoCAD kopieren. Allerdings scheitere ich an einer Stelle:

srxTEXT "Substring" "Ford T1" "Ford Galaxy" "All"

Das wäre das Beispiel.
Wenn ich jetzt eine Befehlsliste schreibe, muss diese ohne ein manuelles Enter auskommen (also völlig automatisch ablaufen).

Mein Befehl:
srxTEXT Exact "15" "A camp" All

funktioniert aber nicht, da er bei Searchstring (15) das leerzeichen nicht als Enter interpretiert und der Befehl daher nicht weitergeht.
Auch das hier funktioniert nicht:
srxTEXT Exact 15 'filter A camp 'filter All

Ich möchte hier also einfach den Text 15 durch den Text A camp ersetzen. In der nächsten Zeile würde dann beispielsweise 16 durch B pend ersetzt usw.

Hat jemand eine Idee was ich da machen kann um das Enter zu simulieren?

mfg
Gromhelm

Hänge hier nochmal die Beschreibung von srxText an:

Zitat:
SRXTEXT - search/replace with regular expressions
(C) 2006, XANADU s.r.o.      http://www.xanadu.cz
-----------------------------------------------------

SRXTEXT is a LISP utility for AutoCAD 2000/i, 2002,
2004, 2005, 2006 which can search and/or replace
drawing texts (TEXT, MTEXT, DIMTEXT, ATTRIB, ATTDEF).
You can choose from exact string match, substring
match/replace or regular expressions. For the
regular expression functionality, AutoCAD Express
Tools are required.
You can search (and replace) the whole drawing,
any specified layer or selected objects.
SRXTEXT zooms to any matching text and offers to
Replace, Autoreplace (Don't ask), Skip to next or
Exit the search/replace loop.

Using regular expressions you can perform complex
replacements like changing:
D19-457-03667
to
Part:457/03667 Code 19
For this case you would use the search and replace
strings:
\([A-Z][0-9][0-9]\)\-\(...\)\-\(.*\)
Part:\2/\3 Code:\1

Or you can append strings to the beginning of your
texts:
^\(.\)
newprefix\1
or to the end of your texts:
\(.\)$
\1newsuffix

Or you can replace just the first occurrence of
a substring in text:
search: \(.\)oldtext\(.\)
replace: \1newtext\2

Another example of complex replacements:
KWD-5-3, KW-4-2, KWP-1-5
to
KCD-5-1, KC-4-1, KCP-1-1
search: \(.\)W\(.*\)\-\(.\)\-\(.\)
replace: \1C\2-\3-1

Cutting the number of decimal places to 1:
search: \([0-9]*\)\.\([0-9]\)[0-9]*
replace: \1.\2

Adding a thousands separator (",") to numbers.
search: -?\([0-9]+\)\([0-9][0-9][0-9]\)
replace: \1,\2
(repeat it for milion/bilion/... triplets)

Delete all text after the first period in text:
search: ^\([^\.]*\)\..*
replace: \1.


Tip:
MTEXT objects can contain hidden control character
codes, so they may appear to not meet the exact
matches (btw, you can use SRXTEXT to remove these
control characters)
Tip:
set _SRXTEXTNOZOOM to T (true) to disable running zooms


SRXTEXT2 contains also a LISP interface so you can
use the srxText functionality in our LISP routines:
(srxTEXT "<mode>" "<search>" "<replace>" "<layers>")
<mode> can be Substring or Regular or Exact
<search> is the searched string
<replace> is the replacement string
<layers> can be All or name of an existing layer
returned value is the number of replacements done
Example:
(srxTEXT "Substring" "Ford T1" "Ford Galaxy" "All")

srxTEXT,"Exact","15","A camp","All"

srxTEXT Exact 15 'filter A camp 'filter All

License: SRXTEXT is a free utility by XANADU,
do not publish it online on other than XANADU's
web servers.

----------------------------------------------------
Contact:
XANADU s.r.o.
Tylova 17, 370 01 Ceske Budejovice, Czech Republic
info@xanadu.cz  www.xanadu.cz  www.cadforum.cz


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: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 06. Nov. 2006 23:28    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 Gromhelm2 10 Unities + Antwort hilfreich

Antworte jetzt nur weil es kein anderer bisher tat,
ich kann es derzeit nicht testen, aber:
Du möchtest ein SKRIPT/SCRIPT schreiben oder sehe ich das falsch !?
Dann hättest du die möglichkeit den Enter/Return in dem Script
mit einem ZEILENUMBRUCH einzugeben..
(copy&paste in die Befehlszeile sollte das gleiche sein wie die
Zeilen in einer Textdatei mit Endung *.scr zu speichern und über SR aufzurufen)
Also anhand deines Beispieles:

srxTEXT Exact "15"
"A camp"
All
srxTEXT Exact "16"
"A city"
All

Wobei: Nutze einen guten Texteditor und speicher das ganze in einer
Textdatei mit Endung SCR (=script) , diese kannst du mit SR auswählen
und ausführen lassen..
Das ganze könnte man dann sogar im Batchbetrieb und tausend Dateien laufen lassen !

Wie gesagt: Habe es nicht getestet, sollte aber funktionieren.

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 07. Nov. 2006 07:32    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 Gromhelm2 10 Unities + Antwort hilfreich

Erstmal - Willkommen hier im Forum.
Es gibt auch eine Funktion in Autocad, die nennt sich _find
und macht das was du willst.

Und nun die Klatsche:
Ausserdem bist du ja schon ziemlich Rücksichtslos, was das Posten des Lisp-Codes angeht.

Zitat:
License: SRXTEXT is a free utility by XANADU,
do not publish it online on other than XANADU's
web servers.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM
Inventor AutoCAD 2022, AIP 4-2022
Win 10

erstellt am: 07. Nov. 2006 07:54    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 Gromhelm2 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADwiesel:
...Ausserdem bist du ja schon ziemlich rücksichtslos, was das Posten des Lisp-Codes angeht....


Da muss ich dich korrigieren, hatte ich im ersten Moment auch gelesen und gedacht, aber

Zitat:
Original erstellt von Gromhelm2:
... Hänge hier nochmal die Beschreibung von srxText an: ...

er hat lediglich die Beschreibung wiederholt und einen Link gesetzt. Das war schon korrekt.


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

Udo Hübner

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

Gromhelm2
Mitglied



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

Beiträge: 45
Registriert: 06.11.2006

AutoCad MAP 3D 2010

erstellt am: 07. Nov. 2006 08: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

Zitat:
Original erstellt von CADwiesel:
Erstmal - Willkommen hier im Forum.
Es gibt auch eine Funktion in Autocad, die nennt sich _find
und macht das was du willst.

Und nun die Klatsche:
Ausserdem bist du ja schon ziemlich Rücksichtslos, was das Posten des Lisp-Codes angeht.


der Code zum ausführen von srxText ist tatsächlich in einer anderen Datei 
Das Problem mit der _find-Funktion ist, das ich sie nicht über die Befehlszeile bedienen kann weil sich immer sofort der Dialog öffnet. Daher hab ich mir ja das srxText runtergeladen damit ich eine Befehlsliste in die Befehlszeile kopieren kann mit der ich die umbenennung von 450 Zahlen in 450 Wört vornehmen kann.

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 07. Nov. 2006 08: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 Gromhelm2 10 Unities + Antwort hilfreich

@Gromhelm2
Ja, Sorry - da habe ich Dir zu schnell was verpasst.

Naja - Du hattest jedenfalls nicht gesagt, das du _find nicht nutzen kannst, weil....

Die Möglichkeit bei dem Tool, srxTEXT im Scriptbetrieb zu nutzen, so wie schon von cadffm gesagt, musst du allerdings erst an 2-3 Zeichnungen testen, da es sein kann, das das Tool nichtscriptfähig ist.
Wenns nicht klappt, so wie cadffm sagt, kannsde dich ja nochmal melden.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

Gromhelm2
Mitglied



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

Beiträge: 45
Registriert: 06.11.2006

AutoCad MAP 3D 2010

erstellt am: 07. Nov. 2006 10:37    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,

hat super funktioniert!

nur ein ausschnitt:

Zitat:

appload
srxTEXT Exact 14
A camp
All
All
replace
srxTEXT Exact 15
A camp
All
All
replace
srxTEXT Exact 16
A camp
All
All
replace
srxTEXT Exact 17
A camp
All
All
replace
srxTEXT Exact 19
A camp
All
All
replace
srxTEXT Exact 131
A camp
All
All
replace
srxTEXT Exact 132
A camp
All
All
replace
srxTEXT Exact 219
A gin
All
All
replace
srxTEXT Exact 3
A neg
All
All
replace
srxTEXT Exact 13
A neg
All
All
replace
srxTEXT Exact 18
A neg
All
All
replace
srxTEXT Exact 22
A neg
All
All
replace
srxTEXT Exact 36
A neg
All
All
replace
srxTEXT Exact 128
A neg
All
All
replace
srxTEXT Exact 129
A neg
All
All
replace
srxTEXT Exact 130
A neg
All
All
replace
srxTEXT Exact 165
A neg
All
All
replace
srxTEXT Exact 166
A neg
All
All
replace
srxTEXT Exact 167
A neg
All
All
replace
srxTEXT Exact 192
A neg
All
All
replace
srxTEXT Exact 193
A neg
All
All
replace
srxTEXT Exact 194
A neg
All
All
replace
srxTEXT Exact 199
A neg
All
All
replace
srxTEXT Exact 201
A neg
All
All
replace
srxTEXT Exact 202
A neg
All
All
replace
srxTEXT Exact 205a
A neg
All
All
replace
srxTEXT Exact 205b
A neg
All
All
replace
...

nur noch eine schönheitskorrektur und für mich zum lernen:
wie kann ich im script "set _SRXTEXTNOZOOM to T (true) to disable running zooms" einstellen? set _srxtextnozoom T geht nicht.

danke schonmal für die schnelle hilfe. Jetzt weiss ich endlich wie man scripte schreiben kann...

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: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 09. Nov. 2006 13:18    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 Gromhelm2 10 Unities + Antwort hilfreich

Das "kannst" du wohl nicht wissen, gemeint ist wohl das man eine Variable kreiert mit dem
Namen "_srxtextnozoom" = wenn vorhanden und nicht nil, dann ist der Zoom AUSgeschaltet.
Stelle deinem Script folgende Zeile vor dem Aufruf von srxtext an:

(setq _SRXTEXTNOZOOM 1)

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

Gromhelm2
Mitglied



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

Beiträge: 45
Registriert: 06.11.2006

AutoCad MAP 3D 2010

erstellt am: 09. Nov. 2006 21:28    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

funktioniert, vielen dank! 

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