Ok, I am trying to create a lisp that will subtract an object from multiple objects without creating one large object out of all of the original objects. Below is what I have. This is my first time trying to access vlax stuff, so that is probably where the problem is, and I dont know what this means, but I get a lot of jumbled text that appears at the command prompt when this script runs... Also, this is setup to just subtract one entity, and it would be nice if it could be setup to subtract multiple entities, but any help would be great! Thanks!!! (defun c:sub() (setq xx 0 rr 0 objs1 nil objs2 nil objstempx nil objstemp nil obj nil objx nil) (princ "Select 3D objects to subtract from : ") (setq objs1 (ssget)) (princ "select one object to subtract") (setq objs2 (ssget)) (setq xx (sslength objs1)) (repeat xx (vl-load-com) (setq subobj (entlast)) (command "copy" subobj "" "0,0" "0,0" "") (setq subobjx (entlast)) (setq objx (entget (ssname objs1 rr))) (setq obj (vlax-ename->vla-object objx)) (command "subtract" obj "" subobjx "") (setq rr (+ 1 rr)) ) )