关于INSERT插入块的问题
我想要的功能是插入指定DWG文件。这个DWG文件里面的图是只读并且随时更新的。我想要随着不断的更新,插入的图形也随着更新。有没有大佬帮帮忙呢?XTdwynij 发表于 2019-11-14 13:01
大佬可以否出手一下。上传的附件第一次用 sz的时候满足需求,但当12.dwg图改变时,再sz依然还是第一次插 ...
把块名改一下就行了,怎么搞那么复杂的代码。
把12.dwg 放d盘根目录:
(defun c:tt5 (/ bn)
(setq bn "12")
(if (/= (TBLSEARCH "BLOCK" bn) nil)
(progn (while (/= (TBLSEARCH "BLOCK" bn) nil)
(setq bn (strcat bn "^")))
(command "rename" "b" "12" bn)))
(command "INSERT" "D:\\12.dwg" '(0 0 0) 1 1 0)
(princ)
) 插入块时,块名称还是之前的,所以不能够随着图形更新面更新?解决方法是插入块时解决名称的问题?或者直接就插入图形完事? 为什么不用参照呢,不了解具体需求,但感觉参照应该能满足需要。 satan421 发表于 2019-11-14 10:53
为什么不用参照呢,不了解具体需求,但感觉参照应该能满足需要。
嗯,只要能把dwg的图拿出来就可以。不管赚块还是外部参照。我上传的附件就是插入块。但不能满足需求。 satan421 发表于 2019-11-14 10:53
为什么不用参照呢,不了解具体需求,但感觉参照应该能满足需要。
不行,我想要的需求就是把A图中的图形拿到B图中使用。大小尺寸不变。外部参照好像只能参照使用。 改块名=>删旧块=>全部基点重新插入新快 我用cad操作就是,打开a图纸(这a图纸名字不变,内容会随时变),复制里面所有的图形。放到当前打开的图纸中。附件中的lisp文件只能调用一次,调用第二次因为块名称的原因,即使a图纸改变了,调用的图形不会改变。功能很简单呀。就是调用a图纸的图形,大小不变,到当前打开的图纸。 start4444 发表于 2019-11-14 12:16
改块名=>删旧块=>全部基点重新插入新快
大佬可以否出手一下。上传的附件第一次用 sz的时候满足需求,但当12.dwg图改变时,再sz依然还是第一次插入的图。不能更新。我想要每次调用sz时,调用的都是12.dwg的图形。不管插入的是块还是别的。 (defun c:sz()
(vl-load-com)
(setq old (getvar "cmdecho")
path (strcat (Vlax-Get (Vlax-Get-Acad-Object) 'Path) "\\Support")
files (vl-directory-files path "*.dwg" 1)
)
(setvar "cmdecho" 0)
(command "_undo" "be")
(setq wjh "12")
(setq wjm (strcat path "\\" wjh ".dwg"))
(if (member (strcat wjh ".dwg") files)
(progn
(command "_insert" "*12" '(0 0 0) "" "" "")
(command "_zoom" "e")
)
(alert (strcat wjm ", 不存在!"))
)
(command "_undo" "e")
(setvar "cmdecho" old)
(princ)
)
插入块自动炸开 就不会因为名称一样就一样的块。
页:
[1]
2