Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Bildschirmausgabe unterdrücken

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:  Bildschirmausgabe unterdrücken (2075 mal gelesen)
cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 01. Aug. 2007 16:53    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 habe ein lisp-Programm,
welches in einer "defun C:..." eine command-Zeile enthält
mit einem script aus AutoCAD-Befehlen und Optionen.
Wie kann ich es unterbinden, daß der Ablauf des AutoCAD-scripts
in der Befehlszeile von AutoCAD "dokumentiert" wird ?

Hier ein kurzes script mit command-Befehl, welches aber das Prinzip zeigt worum es mir geht.
(defun C:re-kontur ()
(command "^C" "^C" "pickbox" "7"
"-layer" "t" "Kontur" "se" "Kontur" "" "re" "a" "5")
)
Ich möchte im AutoCAD-Befehlsfenster nicht nachvollziehen können, was
die Funktion re-kontur alles macht, z.B welche systemparameter unter Umständen
geschaltet werden usw.

Danke für Eure Hilfe !

Gruß
Mario

------------------
Mario

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

Ex-Mitglied
cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 01. Aug. 2007 17:29    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

Vielen Dank für deine Antwort !

Noch 2 Fragen:

1)Wenn ich in meinem lisp mehrere Funktionen definiere
mit defun C: und command,
reicht es dann wenn ich cmdecho am Beginn des lisp-Programmes
auf 0 setze ?

2) Wirkt sich cmdecho = 0 nur auf die in diesem lisp
definierten Funktionen (aus command mit script) aus
oder auch auf Funktionen, die ich in einem anderen lisp
definiere und wo ich cmdecho nicht auf 0 setze ?

Gruß
Mario

------------------
Mario

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

LiSpler
Mitglied


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

Beiträge: 1
Registriert: 13.07.2007

erstellt am: 01. Aug. 2007 18:29    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 cpims 10 Unities + Antwort hilfreich

Hallo Mario,

bei Änderung einer ACAD-Variable wird der neu gesetzte Wert übernommen, bis er wieder geändert wird (gilt für die aktuelle Sitzung).

man kann die Variable aber am Ende des LISPs auf den Ausgangswert zurücksetzen:

(setq cmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "blablabla"...)
(setvar "cmdecho" cmdecho)


Hoffe dir geholfen zu haben 

------------------
-> never 4get 2 smile  <-

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

cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 01. Aug. 2007 18:44    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

Vielen Dank !

Schöne Grüße
Mario

------------------
Mario

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

Ex-Mitglied
fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 02. Aug. 2007 08:30    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 cpims 10 Unities + Antwort hilfreich

Systemvariablen werden in meinem System immer automatisch zurückgestellt.

Mittels den Reaktoren LispWillStart, LispEnded, LispCancelled, und sysVarWillChange weiss ich genau welche Systemvariablen von einem LISP Programm verändert wurden. Diese werden mitprotokolliert und im Ereigniss LispEnded und LispCancelled wieder auf ihrem Ausgangswert zurückgestellt.

------------------

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

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

scj
Mitglied
 


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

Beiträge: 554
Registriert: 09.08.2001

erstellt am: 02. Aug. 2007 09:52    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 cpims 10 Unities + Antwort hilfreich

Ausgaben auf die Befehlszeile lassen sich auch über die Systemvariable
NOMUTT abschalten.
Mit besten Grüßen aus der Rhön
Jochen

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

cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 09. Aug. 2007 11:29    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 !

Danke für die vielen interessanten Vorschläge !
Trotzdem muß ich nochmal nachhaken.

Ich habe ein lisp-Programm geschrieben, welches
eigentlich nur eine Ansammlung von vielen Funktionen
ist, die auf script basieren.
Also Aneinanderreihungen von AutoCAD-Befehlen mit Optionen und
Schalten von Systemvariablen.

Etwa in dieser Form:
(defun C:re-kontur ()
  (command "^C" "^C" "pickbox" "7"
"-layer" "t" "Kontur" "se" "Kontur" "" "re" "a" "5")
)

Nun möchte ich 2 verschiedene Dinge erreichen.
1) Nach Ausführen (Beendigung) solch eines Befehls in AutoCAD (natürlich nachdem
das lisp geladen wurde) sollen alle Systemvarialen, welche mit solch einem
Befehl verändert wurden (z.B. pickbox 7), wieder auf den Wert zurückgesetzt werden,der vor Ausführung des Befehls aktuell war.

2) Bei manchen Befehlen möchte ich nur die Ausgabe in die Befehlszeile
unterdrücken und nach Beendigung des Befehls soll die Unterdrückung der Ausgabe
in die Befehlszeile wieder aufgehoben sein. (siehe auch Punkt 3)
Ist hier die Lösung mit nomutt oder mit cmdecho besser

Zusatzfrage 3)
Wie kann ich diesen Befehl in einem lisp-Programm in ein "defun-command" verpacken ?
Mein Problem ist der * ganz am Anfang (für die Wiederholung der Option Abstand)
und das Wiedereinschalten von cmdecho auf 1 nach Beendigung des Befehls

*^C^Ccmdecho 0 '-ofang endp,mit,sch,hil,zen,tan,quad -layer t HK m HK fa rot HK l continuous hk ls 0.2 hk  klinie a

Gruß
Mario

------------------
Mario

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

Ex-Mitglied
cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 09. Aug. 2007 12:39    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

OK
Ist mir soweit klar.
Aber die Wiederholung der Option Abstand (im script mit * erzeugt)
funktioniert so ja nicht.
Ich will nicht nur den Befehl Konstruktionslinie immer wieder neu starten,
sondern den Befehl Konstruktionslinie mit Option Abstand.

Gruß
Mario

------------------
Mario

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

Ex-Mitglied
cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 09. Aug. 2007 13: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

Ich möchte nachdem ich mit diesem Befehl eine
Klinie z.B. mit Abstand 10 gezeichnet habe, gleich
die nächste mit Abstand 20 und die nächste mit Abstand
55.6 usw. zeichnen.
Dabei möchte ich, daß durch 1x Bestätigung (Leertaste od. Return)
nicht der letzte Befehl neu gestartet wird (das wäre ja Klinie),
sondern der letzte Befehl inkl. Option.
Also durch Drücken von Return nach Abstand z.B. 10 soll
in der Befehlszeile gleich wieder stehen "Abstand eingeben" und nicht
[Horizontal, Vertikal, Winkel, Abstand], sodaß ich nicht immer wieder die
Option Abstand selber mit RMT oder Eingabe von a starten muß, sondern gleich den
neuen Abstand eingeben kann

Gruß
Mario

------------------
Mario

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

Ex-Mitglied
cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 10. Aug. 2007 10:21    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

Vielen Dank !

Werde das mal probieren.
Aber geht das nicht einfacher ?
Die einzige Besonderheit in diesem Befehl (script)
ist ja der *, der mir den Befehl Klinie inkl. Option Abstand
neu startet sobald ich 1x die Return-Taste drücke.
Ansonsten ist es nur eine Aneinanderreihung von Befehlen und Optionen.
Kann ich diesen * in einem lisp-Programm nicht verwenden ?

Gruß

------------------
Mario

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

Ex-Mitglied
cpims
Mitglied



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

Beiträge: 227
Registriert: 28.08.2003

erstellt am: 10. Aug. 2007 15: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

Vielen Dank !

------------------
Mario

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

Ex-Mitglied

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