Jump to content

Recommended Posts

Posted (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 by sergiu_ciuhnenco
Posted (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 by mhupp
Updated code.
Posted (edited)

Hi "mhupp" !
Tryed your lisp, it did not keep the preselected objects.
exactely nothing is keeping selected .
 

Edited by sergiu_ciuhnenco
Posted (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 by mhupp
Posted

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

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...