Hallo liebe Lispler,
ich stehe vor einem Problem. Zunächst: ich bin absoluter Anfänger im Lispprogrammieren. Eine Lisp einfügen und anwenden ist kein Problem, eine eigene Lisp schreiben ist dann aber doch noch nicht drin.
Ich möchte, eine Lisp erstellen (ein Kollege hat gefragt ob wir sowas haben. Natürlich nicht), die mir eine PLT Datei im Verzeichnis der zu plottenden DWG erstellt. Die PLT soll als Namen den Namen der DWG und des geplotteten Layouts bekommen, also: DWGName-Layoutx.plt
Hier habe ich folgende Lisp gefunden:
Code:
(defun C lottofile ( / FileDiaMode DwgFilePath DwgNamed )
(setq FileDiaMode (getvar "FILEDIA"))
(setvar "FILEDIA" 0)
(setq DwgFilePath (getvar "DWGPREFIX"))
(if (/= (vl-file-directory-p (strcat DwgFilePath "Plot\\" )) T)
(progn
(vl-mkdir (strcat DwgFilePath "Plot\\"))
); progn
); if
(setq DwgNamed (substr (Getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)))
;(command "._Plot" "No" "Model" "Your Page Setup" "Your Printer Here" "Yes" (strcat DwgFilePath DwgNamed ".plt"))
(command "._Plot" "No" "Model" "Previous Plot" "mnt-hp-c5550-1" "Yes" (strcat DwgFilePath "Plot\\" DwgNamed ".plt") "No" "Yes")
(setvar "FILEDIA" FileDiaMode)
)
Diese konnte ich mir schon so zurecht stutzen, dass sie zumindest Plottertechnisch auf meine Bedürfnisse abgestimmt ist. So sieht nun meine Lisp aus:
Code:
(defun C lottofile ( / FileDiaMode DwgFilePath DwgNamed )
(setq FileDiaMode (getvar "FILEDIA"))
(setq s3 (getvar "ctab"))
(setvar "FILEDIA" 0)
(setq DwgFilePath (getvar "DWGPREFIX"))
(if (/= (vl-file-directory-p (strcat DwgFilePath "Plot\\" )) T)
(progn
(vl-mkdir (strcat DwgFilePath "Plot\\"))
); progn
); if
(setq DwgNamed (substr (Getvar "DWGNAME") 1 (- (strlen (getvar "DWGNAME")) 4)))
;(command "._Plot" "No" "Model" "Your Page Setup" "Your printer here" "Yes" (strcat DwgFilePath DwgNamed ".plt"))
(command "._Plot" "N" s3 "" "_IBVK24HP4520_24_Mischen.pc3" "Ja" (strcat DwgFilePath "Plot\\" DwgNamed ".plt") "N" "Ja")
(setvar "FILEDIA" FileDiaMode)
)
Wie bekomme ich nun der Lisp verklickert, dass sie nicht nur den DWG Namen, sondern auch den Layoutnamen verwenden soll?
Diesen Thread habe ich bereits gefunden, konnt aber leider nichts dami anfangen :(
Noch eine Frage: Die Lisp erstellt im Zielverzeichnis einen Ordner der "Plot" heißt.
Dass dafür diese Zeile verantwortlich ist habe ich schon verstanden:
Code:
(if (/= (vl-file-directory-p (strcat DwgFilePath "Plot\\" )) T)
Den Ordner Plot möchte ich allerdings nicht, die PLT soll direkt zur DWG gelegt werden. Reicht es diese Zeile zu löschen, oder entzieht sich da etwas meinem Verständnis?
------------------
Gruß Matthias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP