| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Doppelklickaktion (731 mal gelesen)
|
Theo37 Mitglied Techniker
 
 Beiträge: 426 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 / zitieren --> Unities abgeben:         
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
  
 Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 05. Feb. 2009 10:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Theo37
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
 
 Beiträge: 426 Registriert: 08.10.2008
|
erstellt am: 05. Feb. 2009 10:36 <-- editieren / zitieren --> Unities abgeben:         
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

 Beiträge: 63 Registriert: 10.10.2007 Win2K AutoCAD 2007
|
erstellt am: 05. Feb. 2009 15:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Theo37
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
 
 Beiträge: 426 Registriert: 08.10.2008
|
erstellt am: 05. Feb. 2009 17:08 <-- editieren / zitieren --> Unities abgeben:         
|