| | | 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, eine Pressemitteilung
|
Autor
|
Thema: vorherige Auswahl aktiv setzen (3895 mal gelesen)
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 20. Mrz. 2012 16:35 <-- editieren / zitieren --> Unities abgeben:
Servus mit Wahl und vorher bekommt man die vorherige Auswahl aktiv blöderweise funktioniert "wahl;v;" nicht gleich. Kennt da jemand einen anderen Weg die Auswahl wiederherzustellen und aktiv zu setzen? Befehl: wahl Objekte wählen: v 3 gefunden Objekte wählen:
------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Mrz. 2012 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd P
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 20. Mrz. 2012 16:59 <-- editieren / zitieren --> Unities abgeben:
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 21. Mrz. 2012 10:23 <-- editieren / zitieren --> Unities abgeben:
Ergänzung: mit Autohotkey kann man die Taste Escape in Autocad so umbiegen das ein Befehl ausgeführt wird und der abgebrochen wird. In meinem Version wird _move verwendet und dann abgebrochen. damit kann man mit (sssetfirst nil (ssget "_P")) die Auswahl wiederherstellen.s Anbei die ESC.exe (ohne AHK ausführbar) und die ESC.ahk (da braucht man AHK) http://de.autohotkey.com/ NEU VERSION! Nach dem das oben recht unschöne Fehler produzieren kann (zb. in MTexten) hier die neue Version. Verwendet umschalt+Rechtemaustaste mit einer 0,2 Sekundenpause [Diese Nachricht wurde von Bernd P am 26. Mrz. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 965 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 21. Mrz. 2012 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd P
Zitat: Original erstellt von Bernd P: damit kann man mit (sssetfirst nil (ssget "_P")) die Auswahl wiederherstellen.sAnbei die ESC.exe (ohne AHK ausführbar) und die ESC.ahk (da braucht man AHK) http://de.autohotkey.com/
Anbei ist der Quellcode für SSHISTORY. Dabei werden mittels eines Reaktors die durch die AutoCAD-Befehle jeweils erzeugten Auswahlsätze gespeichert, so dass sie später referenziert werden können. Das Programm lässt sich leicht so modifizieren, dass jeweils der beim Befehl verwendete Auswahlsatz gespeichert wird. Wenn Du die Auswahlsätze als Listen der HandRefs z.B. in einem Dictionary speicherst, dann überstehen diese sogar das Beenden von AutoCAD und erneutes Öffnen der Zeichnung. Code:
(defun sshistory-create-editor-reactor () (setq SSH:REACTOR (VLR-Editor-Reactor nil '( (:vlr-commandwillstart . sshistory-startfunction) (:vlr-commandended . sshistory-endfunction) ) ) ) ) (defun sshistory-startfunction (reactor cmdlist) ;; noch nichts vorhanden! (if (not (member (car cmdlist) '("DROPGEOM" "ADCENTER" "ACDCINSERT" "NEW" "OPEN") ) ) (progn (if (not (entlast)) (setq SSH:EMPTYDRAWING T) (setq SSH:EMPTYDRAWING nil) ) (setq SSH:ENTLAST (entlast)) ) ) )
(defun sshistory-endfunction (reactor cmdlist) (if (not (member (car cmdlist) '("DROPGEOM" "ADCENTER" "ACDCINSERT" "NEW" "OPEN") )) (progn (if (<= SSH:MAXHISTORY (length SSH:HISTORY)) (setq SSH:HISTORY (reverse (cdr (reverse SSH:HISTORY)))) ) ;; (cond ;; noch nichts vorhanden! (SSH:EMPTYDRAWING (setq SSH:HISTORY (cons (cons (car cmdlist) (sshistory-findnewset nil)) SSH:HISTORY ) ) ) ;; letztes Element gelöscht DELETE usw ((not SSH:ENTLAST) (setq SSH:ENTLAST (entlast)) ) ;; letztes Element gelöscht DELETE usw ((not (entget SSH:ENTLAST)) (setq SSH:ENTLAST (entlast)) ) ;; Funktion hat nix dazu gebracht ZOOM usw ((equal SSH:ENTLAST (entlast)) ;; (setq SSH:ENTLAST (entlast)) ' OK ) ;; ('T (setq SSH:HISTORY (cons (cons (car cmdlist) (sshistory-findnewset SSH:ENTLAST)) SSH:HISTORY ) ) ) ) ) ) )
(defun sshistory-findnewset (en / nset) (if en (progn (setq space (assoc 410 (entget en))) (while (and (setq en (entnext en)) (setq el (entget en)) (equal space (assoc 410 el))) (if (member (cdr (assoc 0 el)) '("VERTEX" "SEQEND")) nil (setq nset (cons en nset)) ) ) ) (progn (setq nset (cons (setq en (entnext)) nset)) (if en (setq space (assoc 410 (entget en)))) (while (and en (and (setq en (entnext en)) (setq el (entget en)) (equal space (assoc 410 el))) ) (if (member (cdr (assoc 0 el)) '("VERTEX" "SEQEND")) nil (setq nset (cons en nset)) ) ) ) ) nset )
(defun sshistory-e2s (eset / sset x) (setq sset (ssadd)) (if (= 'LIST (type eset)) (mapcar '(lambda (x) (if (= 'ENAME (type x)) (setq sset (ssadd x sset)) ) ) eset ) ) sset )
(defun c:sshistory (/ counter loop) (initget) (setq counter 0 loop 1 ) (if SSH:HISTORY (while loop (sssetfirst (sshistory-e2s (cdr (nth counter SSH:HISTORY))) (sshistory-e2s (cdr (nth counter SSH:HISTORY))) ) (initget) (if (/= "" (getstring (strcat "\nselection sset from the " (itoa (1+ counter)) ". command backward (" (car (nth counter SSH:HISTORY)) ")." "\n continue no / <yes>: " ) ) ) (setq loop nil) ) (if (<= (1- (length SSH:HISTORY)) counter) (setq counter 0) (setq counter (1+ counter)) ) ) ) (prin1) )
;;;(if (not SSH:REACTOR) ;;; (sshistory-create-editor-reactor) ;;;) (setq SSH:MAXHISTORY 10) (princ "\nssHistory gives you access to the selection sets") (princ "\nthat have been added to the drawing by the last") (princ "\n10 commands.") (princ "\nssHistory may behave faulty when commands are") (princ "\nused which may have deleted the last entity in") (princ "\nthe drawing base (i.e. delete, block etc).") (princ "\n(c) Tom Berger - berger@archtools.de") (princ "\nPermission to use this code freely is granted") (princ "\nby the author.") (prin1)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 26. Mrz. 2012 08:56 <-- editieren / zitieren --> Unities abgeben:
servus So genau brauch ich es nicht und wenn verwende ich dann Block Gruppe Layer je nachdem was gerade passt. trotzdem danke ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|