什么';s不见了?
好的,我想做的是修改动态块“CARTOUCHE LU”中查找的值,它位于所有布局中。(setq nomBloc "Cartouche LU")
(setq obj
(vla-get-effectivename
Nombloc
(vla-get-layouts
(vla-get-activedocument (vlax-get-acad-object))
)
)
)
现在它回来了
; error: bad argument type: VLA-OBJECT ("CARTOUCHE LU")
我不知道为什么我想要一些解释。
不胜感激。
谢谢 您必须将代码从例程复制并粘贴到另一个例程,而不了解代码的去向和作用。
这篇文章不是做了与你在这篇文章中尝试做的相同的事情吗? 嗯,这不完全是一回事。
在我想更改属性文本之前,现在它是动态块中的查找。
问题是我想理解。但我需要人们有时给我的代码解释,这有助于我理解
有些人确实帮了我的忙,比如你,还有一些人只是发帖子,这确实管用,但我不知道为什么呵呵!
这并不是说我还没有准备好,我有很多关于它的Autodesk PDF,我发现它们很难理解。这可能只是无法用我理解的方式来解释。
就是这样 你想做什么? 好的,从我在另一个帖子上得到的图纸中的同一块。
我想根据版本更改查找1。
现在,当我在旧版本中传递它时,它工作了:
(vlax-for lt (vla-get-layouts adoc)
;(vla-put-activelayout adoc lt) ; optionnel
(vlax-for obj (vla-get-block lt)
(if (and (= "AcDbBlockReference" (vla-get-objectname obj))
(member (vla-get-effectivename obj) Nombloc)
(= :vlax-true (vla-get-hasattributes obj) ))
(progn
(setq atts (vlax-invoke obj 'getattributes))
(foreach x atts
(if (= Tag#Pg (vla-get-tagstring x))
(vla-put-textstring x Tnumtabs)
)
(setqN-E-dbp (nth 2 (vlax-invoke obj 'GetDynamicBlockProperties)))
(vla-put-valueN-E-dbp TRev)
)
)
)
)
)
但现在它无法从其他代码中获取VLA对象。
所以当我通过这个密码时:
现在我的代码是这个,它不工作了
(defun _Revision (/ TRev TDesc Tdate TPar TApp
TagRev TagNRev TagDesc TagDat TagPar TagApp
lt obj atts x DynBP)
;| Élénment de text |;
(if (= choix "N")
(setq TRev "0"))
(if (= choix "R")
(setq TRev (itoa (fix (getreal "\n Numéro de révision : ")))))
(setq TDesc (strcase (getstring T "\n Donner la raison de la révision. : "))
Tdate (_Today)
)
(initget 1 "C F J S")
(setq TPar (getkword "\n Qui a fait les changements sur le plan? : "))
(if (= TPar "C")(setq TPar "C.L"))
(if (= TPar "F")(Setq TPar "F.L"))
(if (= TPar "J")(setq TPar "J.L"))
(if (= TPar "S")(setq TPar "S.D"))
(initget 1 "J S")
(setq TApp (getkword "\n Qui a approuvé les changement : "))
(if (= TApp "J")(setq TApp "J.L"))
(if (= TApp "S")(setq TApp "S.D"))
;| Élénment des TAG |;
(setq TagRev "REV"
TagNRev (strcat "N°REV" TRev)
TagDesc (strcat "DESCRITION" TRev)
TagDat (strcat "DATE" TRev)
TagPar (strcat "PAR" TRev)
TagApp (strcat "APP" TRev)
)
;Inscrit le texte dans chacun des attributs
(mapcar '_Text->Attribute->Layout
(list TagRev TagNRev TagDesc TagDat TagPar TagApp)
(list TRev TRev TDesc Tdate TPar TApp)
)
)
丢失的
(vl load com)
(setq adoc(vla get activedocument(vlax get acad object)))
谢谢你的帮助,但在第一条评论中,我想知道遗漏了什么,并解释一下如何到达那里。 我不是导师,只是分享我的理解(所以如果我错了,我希望前辈能给我建议)
vb activex就像“浏览器扩展树”序列。。。
假设应用程序是“我的电脑”,所以我们必须扩展有效路径“目录”和“子文件夹”,以达到我们正在寻找的其他内容,例如:布局等。。
(vla get布局adoc)
?? --> ?? --> 布局,缺少路径为adoc=文档和应用程序(对象)
(setq adoc(vla get activedocument(vlax get acad object));
http://dl.dropboxusercontent.com/u/25241751/Shared%20SM/GIF%20Demo/activex1.PNG
好吧,我很理解。
当我需要改变一个值时,我就被搞糊涂了。我如何知道要使用什么功能。即使我使用“vla get block”,它也不会得到所需的块。
页:
[1]