Jump to content
marko_ribar

Solidedit task

Recommended Posts

marko_ribar

I have 3dsolid shell object and I want to perform certain modeling operation on it to accomplish desired result shown in attached DWG... If it's possible lisp routine would be nice (just I don't know how to implement correct selection operations using SOLIDEDIT command "Face" option)... Any help or thought you have to tell me or maybe some different approach what I've considered but thought it's more complicated (using SECTION command and finding inside boundaries for making extruded 3d solid operand for subtraction operation)... So what do you think, please look into attachment...

 

Kr, M.R.

 

SOLIDEDIT TASK.dwg

Share this post


Link to post
Share on other sites
marko_ribar

I've figured out... It was very easy...

 

(defun c:perforateshell ( / *error* f v pt pl )

 (defun *error* ( m )
   (if f (command "_.UCS" "_P"))
   (if v (command "_.ZOOM" "_P"))
   (if m (prompt m))
   (princ)
 )

 (if (eq (getvar 'worlducs) 0)
   (progn
     (command "_.UCS" "_W")
     (setq f t)
   )
 )
 (if (not (equal (getvar 'viewdir) '(0.0 0.0 1.0) 1e-6))
   (progn
     (command "_.PLAN" "")
     (setq v t)
   )
 )
 (setq pt t)
 (while pt
   (setq pt (getpoint "\nPick or specify point inside shell to perforate its top/bottom sides (ENTER-FINISH) : "))
   (if pt (setq pl (cons pt pl)))
 )
 (command "_.SOLIDEDIT" "_F" "_E")
 (foreach pt pl
   (command pt)
 )
 (foreach pt pl
   (command pt)
 )
 (foreach pt pl
   (command pt)
 )
 (command "_R")
 (foreach pt pl
   (command pt)
 )
 (command "")
 (command (- (getvar 'viewsize)))
 (while (< 0 (getvar 'cmdactive)) (command ""))
 (*error* nil)
)

 

Thanks for reading anyway...

M.R.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×