Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layouts mit Lisp umbenennen

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:  Layouts mit Lisp umbenennen (1119 mal gelesen)
Doc40
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 03.12.2008

Win XP Pro
x86 PC, Q6600, 2GB RAM, NVIDIA Quadro FX 3700,
AutoCAD 2010

erstellt am: 03. Dez. 2008 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


layren.txt


layren_textfenster.txt

 
Hallo zusammen!

Problemstellung:
Mittels Lisp sollen die in der Zeichnung vorhandenen Layouts (Layout1, Layout2, ...) in das Schema Blatt_1, Blatt_2, ... umbenannt werden.

Lösung meinerseits:
Dazu habe ich die angehängte Routine "layren.txt" geschrieben. Diese Routine funktioniert für ein Layout so wie vorgesehen. Ab zwei oder mehr Layouts erfolgt die Umbenennung zwar, jedoch mit Fehlermeldungen im Textfenster (siehe angehängte Datei "layren_textfenster.txt"). Dadurch wird die Verwendung dieser Routine in einer Stapelverarbeitung mittels Script unmöglich.

Meine Frage:
Wo liegt der Fehler in meiner Routine? Ich finde den Fehler nicht. 

Für Lösungsansätze wäre ich sehr dankbar,

LG, Doc40

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

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 03. Dez. 2008 14:47    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 Doc40 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Doc40:
...Meine Frage:
Wo liegt der Fehler in meiner Routine? Ich finde den Fehler nicht.  

Für Lösungsansätze wäre ich sehr dankbar,

LG, Doc40



foreach und repeat ist "doppelt-gemoppelt".
Du willst die Layoutliste doch nur einmal durchlaufen, bzw. jedes Layout 1x umbenennen und nicht X-mal

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

Udo Hübner
www.CAD-Huebner.de

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

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 03. Dez. 2008 15:05    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 Doc40 10 Unities + Antwort hilfreich

Willkommen bei CAD.DE und AUGCE!     
Vier wichtige Links für den problemlosen Einstieg:
Richtig Fragen - Nettiquette - Suchfunktion - System-Info

So beim ersten Beitrag glatt übersehen.
Hier noch ein paar nützliche Links zum Thema
Layouts umbenennen mit Lisp
http://ww3.cad.de/foren/ubb/Forum145/HTML/000815.shtml http://www.cadtutor.net/forum/showthread.php?t=27120

Probier dann mal das hier:

Code:
(vl-load-com)
(defun RenLay ( kword / n)
  (setq n 1)
  (vlax-for x (vla-get-Layouts (vla-get-ActiveDocument (vlax-get-acad-object)))
    (if (not (eq (strcase (vla-get-name x)) "MODEL"))
      (vla-put-Name x (strcat kword (itoa n)))
    )
    (setq n (1+ n))
  )
)

(renlay "Blatt_")


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

Udo Hübner
www.CAD-Huebner.de

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

Doc40
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 03.12.2008

Win XP Pro
x86 PC, Q6600, 2GB RAM, NVIDIA Quadro FX 3700,
AutoCAD 2010

erstellt am: 03. Dez. 2008 15:17    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


layren.txt

 
Hallo Udo!

Vielen Dank für die schnelle Antwort! Ich hab jetzt das repeat auskommentiert, mit dem Erfolg, dass bei z.B. zwei Layouts nur das erste wie gewünscht umbenannt wird. Ich glaub ich steh auf der Leitung! Oder liegt es am [b]foreach[b]?

LG, Doc40

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

Doc40
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 03.12.2008

Win XP Pro
x86 PC, Q6600, 2GB RAM, NVIDIA Quadro FX 3700,
AutoCAD 2010

erstellt am: 03. Dez. 2008 15: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

Hallo nochmal!

Ich war zu langsam. Vielen Dank! Mit deinem Code funktionierts natürlich!

Danke und LG, Doc40

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