动态块kaput。。。
您好,简单的问题具有可见性状态的动态块很高兴。。。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
我无法帮助您使用代码语言(我是LT用户),但听起来您似乎在尝试复制参数,我知道Autocad不喜欢这样,每个参数都必须从toolpalette中创建,至少在LT中,没有办法绕过该方法或方法来自动执行。 嗨,史蒂文,
幸运的是,我有一个b计划(如上所述),但它只是没有那么优雅(我认为)。或者也可能只是从图纸上“窃取”一些东西,因为我知道信息就在那里的某个地方。。。无论如何,谢谢你的信息。
gr.R。 不使用vla insertblock的原因是什么? 嗨,罗伊,
我正在构建一个带有一些块实用程序的应用程序,其中一个选项是能够自动替换/更新块,但也能够选择是否必须重新定义或重命名旧块或新块。所有(原始)块和属性属性将被复制或过滤等,属性值可以从一个块链接到另一个,我可以继续一段时间。我有很多选择,只有几个零头。。。
gr.R。
这是一个小味道的什么来了
重新定义区块的“标准”方法:
如果您想知道动态块日期存储在哪里,请查看附在块定义上的扩展字典。
是的,你们当然是对的,但。。。我是一个控制狂,所以我需要对所有实体及其属性进行完全控制:-),但我会仔细查看扩展字典,或者只是在dbx文档中插入新块并重命名它(如果需要的话)
thanx 4信息Roy
Gr.R。 我不确定出了什么问题,但我认为在处理动态块时,确实需要深入研究一些“扩展字典”。
以下是我在试图理解其结构时创建的一些线程:
创建动态块
动态块参数(普通方式)
看起来很有趣,我会仔细研究你的例子,谢谢!
编辑:jip有趣:-)
但首先需要动态块定义,我试图(轻松)在外部“WBlock”版本中找到并访问它们。但是,对我来说,仍然是有趣和有用的信息!我想我只要插入该死的方块就能省下很多麻烦哈哈
Gr.R。 对于“WBlock”动态块,模型空间块是块定义。
页:
[1]
2