| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Problem mit getfiled (695 / mal gelesen)
|
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 14. Apr. 2016 16:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich finde nicht die richtig Lösung, vielleicht hat jemand eine Idee? Code:
(Setq TD-SUPPORTPFAD "D:\\") (defun c:PDFplot (/) (c:zwab);Text in die Zwischenablage (Plottdialog) (if (/= asset nil) (progn (setq fenster1 (getpoint "\nUntere linke Ecke des Fensters angeben: ")) (setq fenster2 (getpoint "\nObere rechte Ecke des Fensters angeben: ")) (vl-cmdf "-plot" "J" "Modell" "AutoCAD_PDF.pc3" "PostScript (220.00 x 303.00 mm)" "M" "H" "N" "F" fenster1 fenster2 "1=5" "Z" "J" "adobe-pdf-2012.ctb" "J" "D" asset "N" "J" ) ) ) ) ;_____________________________________________________________ (defun Plottdialog (/) (setq inifile (strcat TD-SUPPORTPFAD "asset_pfad.INI" )) (if (findfile inifile) (progn (princ (strcat "\nDatei <" inifile "> vorhanden.")) ) (progn (setq file (OPEN inifile "w")) (WRITE-LINE "[asset_pfad.INI - Variablen]" file) (WRITE-LINE "[im Supportordner <text Indesignplot.lsp>]" file) (WRITE-LINE (strcat "[Bearbeiter: " (strcase (getvar "loginname")) "]" ) file) (WRITE-LINE (strcat "asset_pfad=" "nil" ) file ) (CLOSE file) ) ) (setq inifile (OPEN inifile "r")) (setq attribs (READ-LINE inifile)) (while attribs (if (/= nil (setq position (vl-string-search "=" attribs))) (progn (setq befehl (substr attribs 1 Position)) (setq wert (substr attribs (+ 2 position))) (set (read befehl) wert) (princ attribs) ) (princ "\tIn dieser Zeile sind keine Variablen vorhanden!" ) ) (setq attribs (read-line inifile)) ) ; End While (CLOSE inifile) (if (= asset_pfad "nil" ) (setq asset_pfad nil )) (if (not asset_pfad) (setq asset_pfad (strcat (getvar "MYDOCUMENTSPREFIX") "\\")) (princ asset_pfad)) (setq asset (strcat asset_pfad Inhalt )) (setq asset (getfiled "PDF-Datei speichern unter" asset "pdf" 1)) (if (/= asset nil) (setq asset_pfad (substr asset 1 (- (strlen asset) (strlen Inhalt)))) ) (setq acro (vlax-get-or-create-object "AcroExch.App")) (vlax-invoke acro 'CloseAllDocs ) ;(vlax-invoke-method acro 'Quit) (setq inifile (strcat TD-SUPPORTPFAD "asset_pfad.INI" )) (setq file (OPEN inifile "w")) (WRITE-LINE "[asset_pfad.INI - Variablen]" file) (WRITE-LINE "[im Supportordner <text Indesignplot.lsp>]" file) (WRITE-LINE (strcat "[Bearbeiter: " (strcase (getvar "loginname")) "]" ) file) (WRITE-LINE (strcat "asset_pfad=" asset_pfad ) file) (if (/= asset nil) (WRITE-LINE (strcat "PDF_asset=" asset ) file) ) (CLOSE file) ) ;_________________________________________________________________ (defun c:zwab ( / ) (setq arxfile (strcat TD-SUPPORTPFAD TD-DOSLib )) (if (null dos_clipboard ) (progn (if (findfile arxfile) (progn (princ (strcat "\nDatei <" arxfile "> vorhanden.\n")) (arxload TD-DOSLib ) ) (progn (setq notfile (strcat "\nkonnte Datei <" arxfile "> nicht laden/fingen.\n")) (princ notfile ) (alert notfile ) ) ) ) (progn (princ "\nBefehl <dos_clipboard> wird ausgeführt!\n" ) (princ)) ) (setq text (car (entsel "\nBitte auszulesenden Text wählen:"))) (setq inhalt (cdr (assoc 1 (entget text )))) (setq str (strcat inhalt )) (princ "\nText: ")(princ str) (dos_clipboard str ) ) ; Ende vom defun zwab
Das Problem, ich erstelle mit der Lisp PDFs über plotten jetzt hab ich das Problem mit getfiled, dass wenn die PDF mit dem Namen schon existiert und im Acrobat geöffnet ist, dann kommt keine Meldung das die Datei geöffnet ist, sondern ACAD versucht sie zu plotten. Im Netz habe ich gefunden, dass man PDFs über die Funktion (setq acro (vlax-get-or-create-object "AcroExch.App"))(vlax-invoke acro 'CloseAllDocs ) alle offene PDFs schließen kann. So funktioniert es auch, mir wäre allerdings die Warnmeldung lieber. Hat jemand eine Lösung für dieses Problem? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 14. Apr. 2016 19:49 <-- editieren / zitieren --> Unities abgeben: Nur für -ikarus-
Die Lösung mit dem schließen geht ja auch nur wenn die Datei a) auf deinem Rechner auf ist b) die Datei mit dem entsprechenden Programm geöffnet wurde, richtig? Du kannst versuchen die Datei zum Schreiben zu öffnen, wenn das nicht geht: Meldung Funktion OPEN zum Beispiel ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 14. Apr. 2016 20:42 <-- editieren / zitieren --> Unities abgeben:
Meinst du das so mit open: (setq file (OPEN asset "a" )) (if (not (write-line "Text")) (setq geoeffnet 'T) (setq geoeffnet nil) ) (CLOSE file)
[Diese Nachricht wurde von -ikarus- am 14. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 14. Apr. 2016 21:09 <-- editieren / zitieren --> Unities abgeben: Nur für -ikarus-
Das Open reicht, wenn es klappt, Datei wieder schliessen, ansonsten Meldung. Ja, so dachte ich es mir (nur das write ist schlecht und überflüssig) Teste es. (if (setq file (OPEN asset "a" )) (CLOSE file) (alert "Husten, wir haben ein Problem") ) Gibt aber auch noch schönere Wege zum prüfen der Schreibrechte, aber das war gerade der einfachste zum tippen, lach. Such doch mal nach geöffnet Datei oder Schreibschutz etc. Gibt es sicher Treffer dazu. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 14. Apr. 2016 21:12 <-- editieren / zitieren --> Unities abgeben:
|
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 15. Apr. 2016 09:29 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|