sergiu_ciuhnenco Posted October 26, 2021 Posted October 26, 2021 (edited) Surf the google to find a lisp for pan and selection, din't find nothing Is it possible : for example make a selection after hit space to pan the view to "X" distance to left , and make it continous , (select "space" another view, again select "space" another view .......) when finish hit "ESC" and have all the objects LET SAVE OURS MOUSES !!!! thanks in advance! Edited October 26, 2021 by sergiu_ciuhnenco Quote
mhupp Posted October 26, 2021 Posted October 26, 2021 (edited) You can only have one active lisp at a time. pan is a native lisp in AutoCAD. So you cant select anything while the pan command is active. the work around is like a stepping motion. select things pan end command select things pan end command select things pan end command It would be much simpler to just filter the ssget to what you want selected. that way you don't have to be so precise and can just drag a selection box around everything. But if you want to try here it is. clunky tho. (defun C:Sele (/ siz SS1 e) (prompt "\nSelect Entitys") (if (setq SS1 (ssget)) (progn (foreach en (vl-remove-if 'listp (mapcar 'cadr (ssnamex SS1))) (setq SS (ssadd en SS)) ) (setq siz (getvar "VIEWSIZE")) (vl-cmdf "_.Pan" "_non" "0,0" "_non" (strcat (rtos (* siz -1.75) 2) ",0")) ) (progn (vl-cmdf "_.Zoom" "OB" SS "") (sssetfirst nil ss) ) ) (princ) ) Edited October 26, 2021 by mhupp Updated code. Quote
sergiu_ciuhnenco Posted October 26, 2021 Author Posted October 26, 2021 (edited) Hi "mhupp" ! Tryed your lisp, it did not keep the preselected objects. exactely nothing is keeping selected . Edited October 26, 2021 by sergiu_ciuhnenco Quote
mhupp Posted October 26, 2021 Posted October 26, 2021 (edited) 41 minutes ago, sergiu_ciuhnenco said: Tryed your lisp, it did not keep the preselected objects. My bad was tying to show what was already selected with implied selection. but like i said it would be eaiser to just filter the ssget to what you want. Example only lines on the center layer in model space (setq SS1 (ssget '((0 . "LINE") (8 . "Center") (410 . "Model")))) Or only blue lines (setq SS1 (ssget '((0 . "LINE") (8 . "Center") (62 . 5) (410 . "Model")))) You could drag a selection window around everything in the drawing and it would only select blue lines on the center layer in model space. Edited October 26, 2021 by mhupp Quote
sergiu_ciuhnenco Posted October 27, 2021 Author Posted October 27, 2021 the result I get """ ; error: bad argument type: lselsetp nil """ I atach the file , it will be easier to understand what a want , like you mentioned the method with filter in my case is not applicable In file is reinforcement of the column, I working only with dynamic blocks, so finaly to make the specification I should group every level separate to put the elevation (COTA), I have a lot of columns, that why I am searching for something to make the job little bit easier, If someone have may be another IDEEA how to make it let discuss it !!! Thanks in advance !!! Test.dwg Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.