Hi !
How do I know that an object is laying on "model space" or "paper space" in ActiveX method ?
Thanks,
Rajat
INDIA
|
Hi !
How do I know that an object is laying on "model space" or "paper space" in ActiveX method ?
Thanks,
Rajat
INDIA
try for example this code:
call : (GETOWNERSPACE (car(entsel)))Code:(defun GETOWNERSPACE (OBJ / OBJLAYOUT NAME OWNER) (if(and(setq OBJ(cond ((=(type OBJ) 'VLA-OBJECT) OBJ) ((=(type OBJ) 'Ename)(vlax-ename->vla-object OBJ)) ) ) (not(vl-catch-all-error-p (setq OWNER(vl-catch-all-apply 'vlax-invoke-method (list (vla-get-ActiveDocument(vlax-get-acad-object)) 'ObjectIdToObject (vla-get-ownerid OBJ) ) ) ) ) ) (setq NAME(vla-get-name OWNER)) ) (if(not(vl-catch-all-error-p (setq OBJLAYOUT(vl-catch-all-apply 'vla-get-layout (list OWNER) ) ) ) ) (list NAME "= LAYOUT" (vla-get-name OBJLAYOUT)) (list NAME "BLOCK") ) ) )
you can also modify the returns..
Hi RajatOriginally Posted by rajat_bapi_mallick
Or give this a try:
Code:(defun demo-tab-test (obj / adoc check obj) (vl-load-com) (or adoc (setq adoc (vla-get-activedocument (vlax-get-acad-object) ) ) ) (and obj (not (vl-catch-all-error-p (setq check (vl-catch-all-apply (function (lambda () (vla-get-taborder (vla-get-layout (vla-objectIdtoobject adoc (vla-get-ownerID obj) ) ) ) ) ) ) ) ) ) ) (if (zerop check) (alert "Model") (alert "Paper") ) ) ; CaLL : (demo-tab-test (vlax-ename->vla-object (car (entsel "\n >> Select object \n"))))