Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Drucker(name) vom letzten Befehl _plot

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:  Drucker(name) vom letzten Befehl _plot (1041 mal gelesen)
Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 09. Jul. 2010 14:33    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 brauche für einen bestimmten Fall den Drucker(namen), mit dem beim letzten Befehl _plot gedruckt wurde. Ich habe weder bei den Systemvariablen noch bei den vl-Funktionen etwas passendes gefunden.

Wie kann ich den Drucker(name) vom letzten Befehl _plot ermitteln?

Danke im Voraus und viele Grüße
Bernd

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 09. Jul. 2010 15:20    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 Bernd10 10 Unities + Antwort hilfreich

Hi,

ungetestet: vla-get-ConfigName im Layoutobjekt?


Gruß
CADchup

------------------
CADmaro.de

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 09. Jul. 2010 20:01    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 Bernd10 10 Unities + Antwort hilfreich

ungetestet und nur als Idee...
Logfile und/oder Registry - es ist einfach zu warm 

------------------
Mfg Heiko

Elefantenjagd in Afrika
"... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 12. Jul. 2010 10:08    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 CADchup,

Zitat:
Original erstellt von CADchup:

ungetestet: vla-get-ConfigName im Layoutobjekt?

ich habe Folgendes versucht:
(setq caggplot (vla-get-configname (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object)))))
Damit bekomme ich leider nicht den Drucker, den der Anwender beim Befehl _plot gewählt hat.
Deshalb hier den groben Ablauf:
1.) Im Modellbereich den Befehl _plot starten.
2.) Den Drucker wählen.
3.) Den Befehl _plot mit OK beenden.
4.) Jetzt den Drucker ermitteln, den der Anwender zuvor beim Befehl _plot gewählt hatte.

Gibt es dafür eine Möglichkeit?

Danke im Voraus und viele Grüße
Bernd


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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 12. Jul. 2010 10:33    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 Heiko,

danke für Deine Information.

Zitat:
Original erstellt von Dorfy:
ungetestet und nur als Idee...
Logfile und/oder Registry - es ist einfach zu warm  

in der Registry habe ich nichts gefunden, was auf den zuletzt gewählten Drucker beim Befehl _plot hindeutet.
Im Logfile steht (mit cmdecho=1) auch nicht was ich suche:
Befehl: _.plot Tatsächlicher Plotbereich:  199.83 breit und  287.00 hoch

Ansichtsfenster 2 wird geplottet.

Viele Grüße
Bernd

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 12. Jul. 2010 10:41    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,

Zitat:
Original erstellt von Bernd10:

(setq caggplot (vla-get-configname (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object)))))
Damit bekomme ich leider nicht den Drucker, den der Anwender beim Befehl _plot gewählt hat.

ich vermute, das funktioniert nur, wenn der Anwender "Auf Layout anweden" ausgeführt hat.

Stimmt meine Vermutung?
Kann ich das dann "erzwingen"?
Gibt es eine Alternative?

Viele Grüße
Bernd

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 12. Jul. 2010 11:48    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 Bernd10 10 Unities + Antwort hilfreich

vllt. ist hier was bei

------------------
Mfg Heiko

Elefantenjagd in Afrika
"... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 12. Jul. 2010 15:56    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 Heiko,

danke für den Link.

Zitat:
Original erstellt von Dorfy:
vllt. ist hier was bei

Folgendes hat für meinen Zweck funktioniert:
  (setq cregkey (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "CPROFILE") "\\Previous plot settings"))
  (if (eq (getvar "tilemode") 1)
    (setq caggplot (vl-registry-read (strcat cregkey "\\Model") "Cfg Name"))
    (setq caggplot (vl-registry-read (strcat cregkey "\\Layout") "Cfg Name"))
  ) ; if

Ich würde aber gerne den Zugriff auf die Registry durch eine vorhandene Funktion ersetzen. Leider habe ich keine geeignete gefunden. Nur die Funktion vla-get-UseLastPlotSettings, die aber nicht das gewünschte Ergebnis bringt.

Kann ich den oben genannten Code durch vorhandene Funktionen ersetzen?

Viele Grüße
Bernd

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 12. Jul. 2010 16: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

Hallo,

Zitat:
Original erstellt von Bernd10:

Folgendes hat für meinen Zweck funktioniert:
  (setq cregkey (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "CPROFILE") "\\Previous plot settings"))
  (if (eq (getvar "tilemode") 1)
    (setq caggplot (vl-registry-read (strcat cregkey "\\Model") "Cfg Name"))
    (setq caggplot (vl-registry-read (strcat cregkey "\\Layout") "Cfg Name"))
  ) ; if


ich muss mich leider korrigieren. Beim letzten Versuch hat wieder nicht funktioniert. Somit ist dies auch nicht zuverlässig.

Viele Grüße
Bernd

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 13. Jul. 2010 09:22    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 Bernd10 10 Unities + Antwort hilfreich

Hi,

es wäre zuverlässig, wenn du Acad neu starten würdest, bevor du die Registry ausliest, da die Werte erst beim Beenden neu geschrieben werden. 

Aktuell sehe ich keine andere Lösung, als das Plotlog auszuwerten. Entweder, indem du per Reaktor die Verwendung der Plotbefehle überwachst und vor dem Plotten das Plotlog einschaltest um es anschließend auslesen zu können. Oder ohne Reaktor: Ein Tool schaltet das Plotlog ein, lässt den Plotbefehl in der Befehlszeile mit der Seiteneinrichtung <Vorheriger Plot> laufen und schaut anschließend ins Log.

Die Code-Beispiele zum Schalten und lesen des Logs gibt's in Dorfys Link.


Gruß
CADchup

------------------
CADmaro.de

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 13. Jul. 2010 14:03    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,

nach einigem Testen habe ich mich entschlossen, nicht den Namen vom Drucker zu kontrollieren, sondern ich kontrolliere die PDF-Datei.
Die PDF-Datei wird über eine PC3-Datei mit Hilfe von FreePDF XP erstellt, in der ich das Verzeichnis fest vereinbaren kann. Durch das bekannte Verzeichnis und den bekannten Dateinamen kann ich kontrollieren, ob eine PDF-Datei für die Zeichnung erstellt wurde. Somit kann ich die weiteren Schritte unterscheiden.

Danke für die Informationen und viele Grüße
Bernd

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

Bernd10
Mitglied



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

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 15. Jul. 2010 10:10    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,

Zitat:
Original erstellt von CADchup:

Aktuell sehe ich keine andere Lösung, als das Plotlog auszuwerten. Entweder, indem du per Reaktor die Verwendung der Plotbefehle überwachst und vor dem Plotten das Plotlog einschaltest um es anschließend auslesen zu können. Oder ohne Reaktor: Ein Tool schaltet das Plotlog ein, lässt den Plotbefehl in der Befehlszeile mit der Seiteneinrichtung <Vorheriger Plot> laufen und schaut anschließend ins Log.

Die Code-Beispiele zum Schalten und lesen des Logs gibt's in Dorfys Link.


die Praxis hat schnell gezeigt, dass es doch nicht ausreicht, auf die vorhandene PDF-Datei zu kontrollieren. Deshalb habe ich aus dem oben genannten Link den Code genommen und abgewandelt:
  (vl-load-com)
  (setq AcadOutputPref (vla-get-Output (vla-get-Preferences (vlax-get-acad-object))))
  (setq sContinuousPlotLog (vla-get-ContinuousPlotLog AcadOutputPref))
  (setq sAutomaticPlotLog (vla-get-AutomaticPlotLog AcadOutputPref))
  (vla-put-ContinuousPlotLog AcadOutputPref :vlax-true)
  (vla-put-AutomaticPlotLog AcadOutputPref :vlax-true)
  (if (vl-string-search "FR" (strcase (ver)))
    (setq logfilename "Journal de tracé et de publication.CSV")
    (setq logfilename "PlotAndPublishLOG.csv")
  )
  (setq plotlogname (strcat (getvar "LOGFILEPATH") "\\" logfilename))
  (if (and plotlogname (findfile plotlogname))
    (progn
      (setq ofile (open (findfile plotlogname) "r"))
      (setq rl (read-line ofile))
        (while rl
  (if (eq (vl-princ-to-string (read rl)) "SH")
    (setq lastrl rl)
    )
  (setq rl (read-line ofile))
  )
      (close ofile)
    )
  )
  (setq h lastrl)
  (setq h (vl-string-right-trim "\"" (vl-string-left-trim "\"" h)))
  (while (setq symb1 (vl-string-search ";" h))
    (setq it (append it (list (substr h 1 (1- symb1)))))
    (setq h (substr h (+ symb1 3)))
  )
  (vla-put-ContinuousPlotLog AcadOutputPref sContinuousPlotLog)
  (vla-put-AutomaticPlotLog AcadOutputPref sAutomaticPlotLog)
  (setq cagg (nth 14 it)) ; zuletzt benutzter Drucker

Viele Grüße
Bernd

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