Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Wie kann ich in Lisp ein Dialogfenster verhindern?

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:  Wie kann ich in Lisp ein Dialogfenster verhindern? (1016 mal gelesen)
jofae
Mitglied


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

Beiträge: 2
Registriert: 24.08.2011

erstellt am: 08. Sep. 2011 14:54    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 möchte über ein Lisp verschiedene Blöcke auf einen anderen Layer legen.

Das funktioniert mit AMLGMOVE auch wie gewünscht:
AutoCAD Mechanical 2008; 1 Block heisst Blockname_1; Alles auf AM_* Layer

(defun C:Tblock(/ A)
  (if(and(setq A (ssget "_x" '((0 . "INSERT")(2 .  "Blockname_1"))))
        (>(sslength A)0)
    )
    (progn
      (sssetfirst nil nil)
      (command "AMLGMOVE" A "" "test")
    )
  ) 
)

Das Problem ist nur dass das Lisp immer wieder durch ein Dialogfenster unterbrochen wird:
Blockreferenz Blockname_1 in der Auswahl gefunden. Möchten Sie auch die Blockdefinition auf die gewünschte Layergruppe legen?
Schaltflächen: Ja; Ja alle; Nein; Nein alle; Abbrechen; Hilfe

Da über der Befehlszeile keinerlei Interaktion möglich ist, kann ich die Option nicht über das Lisp eingeben.
Keiner der Befehle CMDDIA, FILEDIA, ATTDIA und EXPERT führte zum Erfolg (nacheinander, nicht im Lisp versucht).

Was mache ich falsch?

Gruss Josef

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 08. Sep. 2011 15: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 jofae 10 Unities + Antwort hilfreich

amlgmove ist als Dialog-Routine programmiert .. dafür gibt es keine Kommandozeilenversion. Wenn du es ohne Dialog haben willst, mußt du die Funktionalität nachprogrammieren.

------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 08. Sep. 2011 15:36    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 jofae 10 Unities + Antwort hilfreich


Hallo Josef!
Hallo Thomas1

Geht das nicht??

Wenn ein Dialogfeld ja oder nein im laufenden lisp anfordert dann gleich nach dem Befehl diese Zeile eigeben.


(while (/= (getvar "cmdactive") 0)
  (command "j")
) ; while


lg. Martin

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 08. Sep. 2011 15:46    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 jofae 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MARTINLE:

Hallo Josef!
Hallo Thomas1

Geht das nicht??

Wenn ein Dialogfeld ja oder nein im laufenden lisp anfordert dann gleich nach dem Befehl diese Zeile eigeben.


(while (/= (getvar "cmdactive") 0)
  (command "j")
) ; while


lg. Martin 


.. hängt immer von ab, wie der Dialog programmiert wurde ...

ruf mal den Plotdialog auf und probiere was in die Befehlszzeile zu schreiben 

..normalerweise wird der Dialog aufgerufen und ist dann Modal, d.h. er nimmt alles was mit Maus und Tastatur eingegeben wird als seins an ...

------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 08. Sep. 2011 15: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 jofae 10 Unities + Antwort hilfreich

wo diese schönen Zeilen her sind.. aber sicher nichtum ein Dialogfeld zu bedienen,
denn wenn ein Dialogfeld offen ist hat man keinen Zugriff auf die Befehlszeile..

------------------
CAD.de System-Angaben  -  CAD on demand  -  User:FAQ(Acad)

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 08. Sep. 2011 15:51    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 jofae 10 Unities + Antwort hilfreich

Hallo Thomas!

Wieder was gelernt!

lg Martin 

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

MARTINLE
Mitglied
Tischler


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

Beiträge: 485
Registriert: 18.10.2007

AUTOCAD 2016,
MS Windows7, 64-bit

erstellt am: 08. Sep. 2011 15: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 Nur für jofae 10 Unities + Antwort hilfreich

Hallo cadffm!

...aus meiner persönlichen..... fehlerhaften.. Hilfe!

Hmmmmmmmmmmmmmmm  

lg. Martin

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

jofae
Mitglied


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

Beiträge: 2
Registriert: 24.08.2011

erstellt am: 08. Sep. 2011 17:27    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

Zitat:
Original erstellt von CADmium:
amlgmove ist als Dialog-Routine programmiert .. dafür gibt es keine Kommandozeilenversion. Wenn du es ohne Dialog haben willst, mußt du die Funktionalität nachprogrammieren.


Schade!

Dann bringt mich vermutlich auch das VBA nicht weiter.

Es würde mich schon interessieren wie ich die Funktionalität nachprogrammieren könnte. Leider habe ich keinen blassen Schimmer wie ich die Funktionen zusammenkriege.

Gruss Josef

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