Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Zeichnungsnummern und Datei schreiben und letzte wieder lesen

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:  Zeichnungsnummern und Datei schreiben und letzte wieder lesen (1232 mal gelesen)
berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 26. Jan. 2005 09:07    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 hasse es Listen über Zeichnungsnummern zu schreiben und würde das gerne von Lisp erledigen lassen. Dazu benötige ich eine Funktion die es mir ermöglicht Zeichnungsnummern (z.B. CAD05-001) untereinander in eine ASCII Datei zu schreiben. Dann eine Funktion die mir die letzte Zeile (letzte Zeichnungsnummer wieder ausgibt. Die Datei sollte dann so aussehen:
CAD05-0001
CAD05-0002
CAD05-0003
usw.

Hat jemand sowas schon mal gemacht oder kann mir verraten wie ich das hinkriege. Mit open und write hab ich schon ein bischen experimentiert.

Gruß
Bernd

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
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: 26. Jan. 2005 09: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 berndhock 10 Unities + Antwort hilfreich

Hi,
guckst Du am besten hier: http://ww3.cad.de/foren/ubb/Forum145/HTML/000417.shtml#000015

und zur Vervollständigung Deines Wissens zu dem Thema auch alle vorhergehenden Wortmeldungen...

------------------
Ciao,
Marc

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

berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 26. Jan. 2005 09: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

Hier war ich schon bin aber nicht so richtig draus schlau geworden. Hab auch den einen oder anderen Code ausprobiert.
Hab es nicht geschaft das mir die Einträge untereinande stehen und deshalb auch nicht dass mir die letzte Zeile ausgegeben wird.

Gruß
Bernd

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
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: 26. Jan. 2005 10:07    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 berndhock 10 Unities + Antwort hilfreich

Hi Berndhock,
wenn Du weißt wie man 'ne Layer-Offset Funktion schreibt und in eine vlx packt (vgl. http://www.cad.de/foren/ubb/Forum145/HTML/000993.shtml ), wirst Du alle benötigten Informationen dem von mir genannten Thread entnehmen können?! Oder ist die vlx gar nicht von Dir?

------------------
Ciao,
Marc

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

berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 26. Jan. 2005 10: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

Hallo Marc,

die VLX ist nicht von mir habe ich selbst irgendwo gefunden,

Gruß
Bernd

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
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: 27. Jan. 2005 10: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 berndhock 10 Unities + Antwort hilfreich

Hi Berndhock,
habe mal eine Lösung für Dein Problem geschrieben.
Du benötigst außer dem hier von mir veröffentlichen Code noch das doslib von Robert McNeel (Free!). Ich verwende aus diesem Pool von Funktionen ein Dialogfeld.
doslib-Download unter: http://www.mcneel.com/doslib.htm

Was Du über das verwenden von Lisp-Code wissen mußt, findest Du hier: http://ww3.cad.de/foren/ubb/Forum54/HTML/007058.shtml

Hier der Lisp-Code für Dich:

Code:

;;; Nachfolgend festverdrahtet der Dateiname in dem die Liste fortgeführt wird...
(setq cad:de:filename "c:\\ZEICHNUNGSNUMMERN.TXT")

(defun C:ZNR ()
(EDIT-NR-LST cad:de:filename)
(princ)
)

(defun EDIT-NR-LST (FILENAME / CAD:DE:SYM)
(if (= (DOSLIB-LOADER) "err")
(alert
(strcat
"\nKonnte \"doslib*.arx\" nicht finden.\nFunktionen nicht ausführbar."
"\nDownload der \"doslib*.arx\" von \"www.mcneel.com\""
"\nKopiere bitte danach die \"DOS_LIB\" Daten in den Acad-Suchpfad."
) ;_ end of strcat
) ;_ end of alert
(progn
(if (= (load FILENAME "err") "err")
(setq CAD:DE:SYM '(""))
)
(if (setq CAD:DE:SYM
(dos_editlist
"Zeichnungsnummern fortführen"
"Bearbeiten Sie die Liste"
CAD:DE:SYM
)
)
(if (setq FILENAME (LIST>FILE 'CAD:DE:SYM FILENAME))
(princ (strcat "\nOK, Liste in Datei: \""
FILENAME
"\" geschrieben."
)
)
(princ (strcat "\nFehler: In Datei: \""
FILENAME
"\" konnte nicht geschrieben werden."
)
)
)
(princ "\nListe unverändert.")
)
)
)
)


;|
Funktion schreibt eine oder mehrere Listen in eine Datei
Argumente:
SYMLIST = Symbol oder Liste von Symbolen
z.B. (setq sym1 '(1 2 3))
-> (LIST>FILE 'Sym1 "c:\\test.txt")
oder (setq sym1 '(1 2 3) sym2 "Haseldasel")
-> (LIST>FILE '(Sym1 sym2) "c:\\test.txt")

FILENAME = STRING für Name der Datei in die geschrieben werden soll
-> c:\\temp\\test.txt
Bitte hierbei beachten: Lisp konforme Verwendung von Pfaden
Entweder ZWEI Backslashes für jeden Backslash der Pfadangabe
(bei UNC Pfaden also z.B.: "\\\\SERVERNAME\\FREIGABENAME")
oder für jeden Backslash EIN Slash verwenden
(z.B. "//SERVERNAME/FREIGABENAME")
|;

(defun LIST>FILE (SYMLIST FILENAME / FH RETVAL)
(if (setq FH (open FILENAME "w"))
(progn
(foreach SYM (if (listp SYMLIST)
SYMLIST
(list SYMLIST)
)
(princ "(setq " FH)
(princ SYM FH)
(foreach ITEM (list (cons 'quote (list (eval SYM))))
(prin1 ITEM FH)
)
(princ ")" FH)
)
(close FH)
(setq RETVAL FILENAME)
)
)
RETVAL
)


;;; Allgemeiner Dos-Lib-Loader
;;; Return Values:
;;; "err" wenn beim laden des arx-Moduls ein Fehler unterlief oder aber die Acad-Version inkompatibel ist.
;;; Pfad und Dateiname der DosLib Version die geladen werden konnte.
;;; Funktion führt ein "exit" aus, wenn AutoCAD Version nicht ab R2000 !
(defun DOSLIB-LOADER (/ RETVAL DOSLIBNAME)
(cond
((< (atoi (substr (getvar "acadver") 1 2))
15
) ;_ Version ist kleiner 2000, NICHT unterstützt!!
(alert
(strcat
"! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! !"
"\n\nSie verwenden eine AutoCAD-Version < R2000 !"
"\nDie Mindestvoraussetzung für den Einsatz dieser Funktion ist AutoCAD 2000 !"
"\n\nBitte setzen Sie sich mit Ihrem CAD-Admin in Verbindung."
"\n\n! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! ! FEHLER ! ! !") ;_ ende von strcat
) ;_ ende von alert
(setq RETVAL "err")
)
((< (atoi (substr (getvar "acadver") 1 2)) 16) ;_ Lauffähigkeit unter R2000 bis 2004 gewährleisten
(setq DOSLIBNAME "doslib2k.arx")
(if (not (member DOSLIBNAME (arx))) ;_ Wenn kleiner 16 ist's unter 2004
(setq RETVAL (arxload (MS:FIND-FILE DOSLIBNAME) "err"))
(setq RETVAL (MS:FIND-FILE DOSLIBNAME))
) ;_ ende von if
)
((= (atoi (substr (getvar "acadver") 1 2)) 16)
(setq DOSLIBNAME "doslib2004.arx")
(if (not (member DOSLIBNAME (arx))) ;_ Wenn größer 15 ist's 2004
(setq RETVAL (arxload (MS:FIND-FILE DOSLIBNAME) "err"))
(setq RETVAL (MS:FIND-FILE DOSLIBNAME))
) ;_ end of if
) ;_ ende von if
) ;_ ende von cond
RETVAL
) ;_ ende von defun


(defun MS:FIND-FILE (FILENAME / RETVAL)
(if (not (setq RETVAL (findfile FILENAME))) ;_ nicht zu finden?
(if MS:ACADINSTALL ;_ wenn global Install-Variable...
(setq RETVAL (findfile (strcat MS:ACADINSTALL FILENAME))) ;_ versuch die Datei im Standard-Pfad zu finden
) ;_ ende von if
) ;_ ende von if
RETVAL
) ;_ ende von defun

(princ)


Viel Spaß damit :-)

------------------
Ciao,
Marc


[Diese Nachricht wurde von marc.scherer am 27. Jan. 2005 editiert.]

[Diese Nachricht wurde von marc.scherer am 27. Jan. 2005 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