您好,简单的问题
具有可见性状态的动态块很高兴。。。wblock动态块。。。动态块仍然很开心。以正常方式插入动态块。。。再次动圈,依然开心。
现在是不太开心的部分(我的部分)。当我通过dbx复制所有(modelspace)实体时,我得到了我期望的所有实体。在本例中,1条多段线和3个属性,每个可见性状态一个属性。我用它们来组合一个新的区块。但是当我插入块时。。。卡普特。一个可见性状态。其他两个属性去了哪里?
我可以通过一个空白的dbx图形导入块,然后重命名它,就像李大师的重定义块定义一样,但这不是我需要的。有什么想法/链接吗?
Gr.R
编辑:一些示例代码
- ; make block from wblock
- (defun c:mbfwb ( / acadObj doc extDoc eachObj blockObj)
- (setq acadObj (vlax-get-acad-object) doc (vla-get-ActiveDocument acadObj))
- ;; Create the block
- (setq blockObj (vla-Add (vla-get-Blocks doc) (vlax-3d-point 0 0 0) "RlxTestBlock"))
- ;open wblocked dynamic block through dbx (not included here but pretty standard stuf ... i think?)
- (InitOdbx)
- (setq extDoc (odbx_open (findfile "c:/temp/lisp/rlxblk/dynablock.dwg")))
- ; create array to put all objects from external drawing in (the wblocked dynablock)
- (setq objCollection (vlax-make-safearray vlax-vbObject (cons 0 (- (vla-get-Count (vla-get-ModelSpace extDoc)) 1))) i 0)
- ;; Copy objects
- (vlax-for eachObj (vla-get-ModelSpace extDoc) (vlax-safearray-put-element objCollection i eachObj) (setq i (1+ i)))
- ; put all objects found in external drawing in newly created block in current drawing
- (vla-CopyObjects extDoc objCollection blockObj)
- ; release objects (subfunction in my larger program , not really needed for the above code
- (please_release_me_let_me_go (list doc extDoc acadObj))
- )
- ; when I now use insert , I see the newly created block definition "RlxTestBlock" but only 1 attribute
- ; from visibility state 1 and the polyline
|