Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Doppelklickaktion

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:  Doppelklickaktion (560 mal gelesen)
Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 05. Feb. 2009 09: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 an Alle,
vorab ich habe wenig Ahnung von Lisp, etwas mehr von VBA und im ACAD kenn ich mich ganz gut aus. Nun möchte ich, dass bei einer Doppelklickaktion auf einem Block mit Attributen zwei verschiedene Befehle ausgeführt werden. Bei einem normalen Block mit Attributen soll der normale Attributbearbeitungsbefehl ausgeführt werden, Wenn der Block „HermannsBezeichnung“(siehe unten) enthält soll mein VBA-Befehl ausgeführt werden.

Dazu habe ich folgende Lisp Routine geschrieben:


(defun c:Blockdoppelklick ()
  (setq satz Nil
satz (ssget "_I" '((0 . "INSERT") (-3 ("HermannsBezeichnung"))))
  )
  (if (= satz NIL)
    (command "_eattedit")
    (command "-vbarun" "D:/Lisp/VBA/Eineu.dvb!Ändern.BearbEi2")
  )
)

Funktioniert soweit einwandfrei, aber mit einem großen Nachteil. Bei einem normalem Block wird zwar _eattedit aufgerufen, aber ohne das angeklickte Attribut. Das heißt es geht das Fensterchen auf mit dem richtigen Block aber einfach mit dem obersten Attribut und nicht mit dem angeklickten. Hat jemand ne Idee wie man das in den Griff kriegen könnte?
Vielen Dank.
Theo37

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: 05. Feb. 2009 10:16    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 Theo37 10 Unities + Antwort hilfreich

Hallo,
dann solltest du dich mal mit Reactoren beschäftigen
vlr-mouse-reactor
vlr-beginDoubleClick
...

den Blocknamen erhälts du mit
(vla-get-name (vlax-ename->vla-object (car (entsel "\nBlock wählen: "))))

Mir ist zwar net klar was deine dvb-Datei macht und was du da genau machen willst aber vllt. hilft es ja schon.
mfg heiko

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

Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

erstellt am: 05. Feb. 2009 10: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

Hallo,

wie schon geschrieben kenn ich mich in Lisp fast gar nicht aus.
Mit den reactor kann ich nichts anfangen. Sorry.
Aber nochmal zur Erklärunng was ich machen wollte.
Man kan unter "Benutzeroberfläche anpassen" Befehle für Doppelklickaktionen vergeben. Dort wollte ich meinen Lispbefehl reinschreiben. dieser soll dann verzweigen, entweder zum alten Befehl oder zu dem Neuen. Das funktioniert auch bis dahin. Nur das Attribut bleibt beim alten Befehl nicht ausgewählt.
Danke für deine Antwort.
Gruß, Theo37

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

Hunchback
Mitglied
CAD-Tech


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

Beiträge: 63
Registriert: 10.10.2007

Win2K
AutoCAD 2007

erstellt am: 05. Feb. 2009 15: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 Nur für Theo37 10 Unities + Antwort hilfreich

Wo soll "HermannsBezeichnung" enthalten sein? Als Attributswert? Attributstag? Text in der Blockdefinition?

Grüße

Martin

------------------
You seem (in my (humble) opinion (which doesn't mean much)) to be (or possibly could be) more of a Lisp programmer (but I could be (and probably am) wrong).

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

Theo37
Mitglied
Techniker


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

Beiträge: 423
Registriert: 08.10.2008

erstellt am: 05. Feb. 2009 17: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,

"HermannsBezeichnung" steht in den erweiterten Daten (XDaten) ich benutze das um die Blöcke unabhängig vom Blocknamen zu erkennen.

Gruß, Theo37

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