0 Members and 1 Guest are viewing this topic.
Hello Can anyone tell me if it is possible to work with vla-setXData during or after vla-setXData.Thanksvelasquez
Quote from: velasquez on February 21, 2014, 06:42:44 PMHello Can anyone tell me if it is possible to work with vla-setXData during or after vla-setXData.Thanksvelasquezdid you mean to say .... is possible to work with vla-setXData during or after vla-AddBlock. ?
Code - Auto/Visual Lisp: [Select](setq blockObj (vla-Add blocks insertionPnt "New_Block")) (vla-SetXData blockObj DataType Data)
Show us your code in full.
;;;I am working with the functions that are in the post below;;;http://www.theswamp.org/index.php?topic=29366.msg349174#msg349174;;;I THANK THE PEOPLE WHO HAVE POSTED.;;;Make Xdata(defun JoyPutXdata (JoyObj JoyApp JoyData / JoyXtype JoyXval) (setq JoyXtype (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbInteger '(0 . 1) ) ;_ fim de vlax-make-safearray '(1001 1000) ) ;_ fim de vlax-safearray-fill ) ;_ fim de vlax-make-variant ) ;_ fim de setq (setq JoyXval (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbVariant '(0 . 1) ) ;_ fim de vlax-make-safearray (list JoyApp JoyData) ) ;_ fim de vlax-safearray-fill ) ;_ fim de vlax-make-variant ) ;_ fim de setq (vla-setXData JoyObj JoyXtype JoyXval)) ;_ fim de defun;;;;;;MakeBlock;;; (rcmd-makeBlock pt "TEST1" ss T)(defun rcmd-makeBlock (pt name ss flag / JoyDock ssArray vla_block) (setq JoyDoc (vla-get-activedocument (vlax-get-acad-object))) (vla-copyObjects JoyDoc (setq ssArray (rcmd-selectionSet->array ss)) (setq vla_block (vla-add (vla-get-blocks (rcmd-thisDwg)) (vlax-3d-point pt) name ) ;_ fim de vla-add ) ;_ fim de setq ) ;_ fim de vla-copyObjects ;; delete objects (if (and flag ssArray (= (type ssArray) 'safeArray) ;; is the safeArray made of vlax-object's (= (vlax-safeArray-type ssArray) 9) ) ;_ fim de and (mapcar 'vla-delete (safeArray-value ssArray)) ) ;_ fim de if ;;;Test Xdata (vla-setXData vla_block JoyXtype JoyXval)) ;_ fim de defun;;;
Hello Kerry You understood my problem well. "add XData to the blockDefinition" Thanks
(defun test ( / def doc ) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-add (vla-get-registeredapplications doc) "my-app") (setq def (vla-add (vla-get-blocks doc) (vlax-3D-point 0 0) "my-block")) (vla-setxdata def (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbinteger '(0 . 1)) '(1001 1000))) (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbvariant '(0 . 1)) '("my-app" "test"))) ))
(gc:SetXdata obj '((1001 . "my_app") (1000 . "test")))
(gc:GetXdata obj "my_app")