Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Text automatisch ersetzen

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:  Text automatisch ersetzen (1826 mal gelesen)
P S I
Mitglied
CAD-Support


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

Beiträge: 39
Registriert: 08.09.2004

AutoCAD 2004
Inventor 8 & Inventor8_aip_SP1.exe

erstellt am: 29. Sep. 2004 11: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

Liebe Programmierfreaks

Also folgendes wird gewünscht:

Ich habe in einem Ordner z.B. 75 dwg's die haben alle Folgende Zeichnungs Nr. 4-14586.15.423 nun gibt es eine Änderung und es kommt ein Index A dazu, also sollte nun im Plan 4-14586.15.423A stehen.
Dies sollte ich jedoch über alle 75 dwg's gemachen werden.

Kann mir jemand helfen wie ich dies am einfachsten lösen kann, wo ich in einem script den neuen text eingeben kann und dann alle dwg's im selben Ordner durchgerattert werden.

Wir hatten eine Software wo es funktionierte für AutoCAD 14 doch mit AutoCAD 2004 ist das veraltet.

------------------
Freundliche Grüsse

Solution for AutoCAD & Inventor

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 29. Sep. 2004 11:36    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 P S I 10 Unities + Antwort hilfreich

Siehe: hier

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

Alles

erstellt am: 29. Sep. 2004 11: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 Nur für P S I 10 Unities + Antwort hilfreich

Proxy ist in die Falle getappt 

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

Bitte Systemdaten eintragen (siehe links unter dem Namen), wie & warum siehst du HIER

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 29. Sep. 2004 11:39    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 P S I 10 Unities + Antwort hilfreich

... und
hier
und
hier

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

.

erstellt am: 29. Sep. 2004 11: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 Nur für P S I 10 Unities + Antwort hilfreich

Auch wenn das hier kein Wunschbrunnen ist ....
(defun Tausche (Altertext Neuertext / Auswahl Index OBJEKTDATEN)
  (if(and(=(type Altertext)'str)
        (=(type Neuertext)'str)
        (setq AUSWAHL(ssget "_x" (list '(0 . "*TEXT")(cons 1 ALTERTEXT))))
    )
    (progn
      (setq INDEX -1)
      (repeat(sslength AUSWAHL)
        (setq OBJEKTDATEN(entget(ssname AUSWAHL(setq INDEX(1+ INDEX)))))
        (entmod(subst(cons 1 NEUERTEXT) (assoc 1 OBJEKTDATEN)OBJEKTDATEN))
      ) 
    ) 
  ) 
)

ersetzt innerhalb der Zeichnung alle (nicht in Blöcken) Texte mit Inhalt=Altertext auf Inhalt = Neuertext.

Also für dich (tausche "4-14586.15.423" "4-14586.15.423A")
evtl kann man auch den NEUERTEXT mit (strcat ALTERTEXT "A") erstellen..

------------------
- Thomas -
"Bei 99% aller Problemen 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

P S I
Mitglied
CAD-Support


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

Beiträge: 39
Registriert: 08.09.2004

AutoCAD 2004
Inventor 8 & Inventor8_aip_SP1.exe

erstellt am: 30. Sep. 2004 15: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

Hallo nochmals

evtl. habe ich mich nicht genau ausgedrückt also ich habe 75 dwg's mit der Bezeichnung:

001EM001.dwg
001EM002.dwg
001EM003.dwg

und so weiter....001EM075.dwg

doch im Plankopf ist eine Zeichnungsnummer 4-14586.15.423 und als separates Attribut der Index z.B. A nun wird eine Änderung gemacht und in allen 75 dwg's muss der Index auf B korrigiert werden. Wie kann ich dies Automatisieren mit einem Script für AutoCAD 2004 so das die Zeichnungen dann selber durch geackert werden.Im selben Prinzip wie z.B. das Stapelplotten.

Vielleicht noch wichtig alle diese Zeichnungen befinden sich im selben Ordner, also man müsste sie nicht selktieren sondern den Befehl einfach über die Zeichnungen laufen lassen in diesem Verzeichniss

------------------
Freundliche Grüsse

Solution for AutoCAD & Inventor

[Diese Nachricht wurde von P S I am 30. Sep. 2004 editiert.]

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

marvin101010
Mitglied
ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)


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

Beiträge: 562
Registriert: 22.01.2003

Pentium 4
Windows XP
Autocad 2002
Autocad 2002LT + Extender
ADT 3.3
ArchiCAD

erstellt am: 30. Sep. 2004 15: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 P S I 10 Unities + Antwort hilfreich

Ich habe gerade einen Selbstversuch hinter mir.

Ich habe 75 DWG-Namen geändert und dann deine Postings nachgetippt.
Rate was schneller ging ;-)

mfg

------------------
...so long and thanx for all the fish!

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

.

erstellt am: 30. Sep. 2004 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 Nur für P S I 10 Unities + Antwort hilfreich

Text? Attribut? Plankopf? .. 
Also , wenn es sich beim Plankopf um eine Blockrefernz mit Attributen handelt, und der Block- und der Attributname in allen Zeichnungen gleich ist.. dann könnte dir ein Umstricken des Tools aus diesem weiterhelfen...
...wenn nicht -> dann auch, aber mit mehr Änderungsaufwand.

------------------
- Thomas -
"Bei 99% aller Problemen 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

P S I
Mitglied
CAD-Support


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

Beiträge: 39
Registriert: 08.09.2004

AutoCAD 2004
Inventor 8 & Inventor8_aip_SP1.exe

erstellt am: 30. Sep. 2004 15:55    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 Marvin

ich weis zwar nicht was du genau getestet hast...ich weis nur das der Dateiname.dwg bleibt nur der Index Buchstabe im Plankopf der ein Attribut ist sollte automatisch geändert werden.

------------------
Freundliche Grüsse

Solution for AutoCAD & Inventor

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

.

erstellt am: 30. Sep. 2004 16:09    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 P S I 10 Unities + Antwort hilfreich

und? Handelt es sich nun um ein immer gleichbenanntes Attribut in einer [b]Blockreferenz[b]? Dann teste mal das Lisp unter dem angegebenen Link mit deinen Block- und Attributnamen. Wenns funzt, ist der Rest die Sache eines Scriptes!

------------------
- Thomas -
"Bei 99% aller Problemen 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

P S I
Mitglied
CAD-Support


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

Beiträge: 39
Registriert: 08.09.2004

AutoCAD 2004
Inventor 8 & Inventor8_aip_SP1.exe

erstellt am: 30. Sep. 2004 16:38    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 Thomas

Ja das Attribut befindet sich ja im Plankopf und in allen 75 dwg's ist der selbe Plankopf mit dem selben Attribut...
Attribut Name: 0ATTUSER
der ist für den INDEX eintrag gedacht.

ich suche noch deinen Link...?? in deiner vorgehenden Antwort habi ich mal nach gelesen..doch dieses script verstehe ich nicht.

------------------
Freundliche Grüsse

Solution for AutoCAD & Inventor
  

[Diese Nachricht wurde von P S I am 30. Sep. 2004 editiert.]

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

.

erstellt am: 30. Sep. 2004 16:43    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 P S I 10 Unities + Antwort hilfreich

ok...
dann speicher dir folgende Zeilen mal als *.lsp :
(defun UPDATE-Title-Block ( INSERTNAME ATTRIBNAME  ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN)
  (if (= (type INSERTNAME) 'STR)
    (setq AUSWAHL (ssget "_x" (list '(0 . "INSERT")(cons 2 INSERTNAME))))
  )
  (if(or AUSWAHL
        (setq AUSWAHL (ssget "_x" '((0 . "INSERT"))))
    )
    (progn
      (setq INDEX -1)     
      (repeat (sslength AUSWAHL)
        (setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX)))))
        (if (assoc 66 OBJEKTDATEN)                   
          (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") 
            (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN)))))
            (if (and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB")                       
                    (=(strcase (cdr(assoc 2 OBJEKTDATEN))) ATTRIBNAME)
                )
              (progn               
                (entmod(subst(cons 1 ATTRIBWERT)
                            (assoc 1 OBJEKTDATEN)
                            OBJEKTDATEN
                      )
                )
              ) 
            )
          )           
        ) 
      )               
    )
  )

)
(defun c:UPDATE-Title-Block ()
  (UPDATE-Title-Block  nil "BLOCKNAME" "ATTRIBUTNAME"  "B") 
  (command "_.regen")
)

wobei du "BLOCKNAME" durch den Namen Deines Plankopfes und "ATTRIBUTNAME" durch den Namen deines Attribute ersetzen mußt!
dann ruf die Funktion in der Befehlszeile mit UPDATE-Title-Block  auf ( zum testen ) und wenns funzt, mach die ein script, das die Zeichnung öffnet und genau diesen Befehl ausführt, speichert und wieder schließt!

------------------
- Thomas -
"Bei 99% aller Problemen 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

P S I
Mitglied
CAD-Support


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

Beiträge: 39
Registriert: 08.09.2004

AutoCAD 2004
Inventor 8 & Inventor8_aip_SP1.exe

erstellt am: 30. Sep. 2004 16: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

also ich habe das *.LSP angepasst doch was mache ich falsch ich kann es gar nicht testen.

wenn ich den Befehl "UPDATE-Title-Block" in Bef.zeile gebe kommt
Fehler: Zu viele Argumente

sorry vielleicht weis ich gewisse grundliegende Sachen nicht.


------------------
Freundliche Grüsse

Solution for AutoCAD & Inventor

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

WolfgangGutke
Mitglied
Konstrukteur


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

Beiträge: 109
Registriert: 28.09.2004

AutoCAD 2002
AutoCAD 2006
ObjectDCL 2.02

erstellt am: 30. Sep. 2004 17: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 Nur für P S I 10 Unities + Antwort hilfreich

Hallo,
Thomas hat hier einen kleinen Tippfehler gemacht:

(defun c:UPDATE-Title-Block ()
  (UPDATE-Title-Block  nil "BLOCKNAME" "ATTRIBUTNAME"  "B") 
  (command "_.regen")
)

muss auf

(defun c:UPDATE-Title-Block ()
  (UPDATE-Title-Block "BLOCKNAME" "ATTRIBUTNAME"  "B") 
  (command "_.regen")
)

geändert werden.

VG
Wolfgang

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

P S I
Mitglied
CAD-Support


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

Beiträge: 39
Registriert: 08.09.2004

AutoCAD 2004
Inventor 8 & Inventor8_aip_SP1.exe

erstellt am: 30. Sep. 2004 17:09    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 hat ge funtzt...

mit der kleinen anpassung von Wolfgang...

so und wie bringe ich nun den 75 dwg's bei das die das auch machen sollen....natürlich automatisch...

Herzlichen dank an alle...ich verstehe zwar den script nicht ...doch es hat bis hierhin funktioniert.

------------------
Freundliche Grüsse

Solution for AutoCAD & Inventor

[Diese Nachricht wurde von P S I am 30. Sep. 2004 editiert.]

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