乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 14|回复: 8

[编程交流] 什么';s不见了?

[复制链接]

56

主题

259

帖子

213

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
270
发表于 2022-7-5 22:35:30 | 显示全部楼层 |阅读模式
好的,我想做的是修改动态块“CARTOUCHE LU”中查找的值,它位于所有布局中。
 
  1. (setq nomBloc "Cartouche LU")
  2. (setq obj
  3.   (vla-get-effectivename
  4.     Nombloc
  5.     (vla-get-layouts
  6.       (vla-get-activedocument (vlax-get-acad-object))
  7.     )
  8.   )
  9. )

 
 
现在它回来了
 
  1. ; error: bad argument type: VLA-OBJECT ("CARTOUCHE LU")

 
我不知道为什么我想要一些解释。
 
不胜感激。
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 22:50:09 | 显示全部楼层
您必须将代码从例程复制并粘贴到另一个例程,而不了解代码的去向和作用。
 
这篇文章不是做了与你在这篇文章中尝试做的相同的事情吗?
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
270
发表于 2022-7-5 22:55:14 | 显示全部楼层
嗯,这不完全是一回事。
 
在我想更改属性文本之前,现在它是动态块中的查找。
 
问题是我想理解。但我需要人们有时给我的代码解释,这有助于我理解
 
有些人确实帮了我的忙,比如你,还有一些人只是发帖子,这确实管用,但我不知道为什么呵呵!
 
这并不是说我还没有准备好,我有很多关于它的Autodesk PDF,我发现它们很难理解。这可能只是无法用我理解的方式来解释。
 
就是这样
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 22:58:59 | 显示全部楼层
你想做什么?
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
270
发表于 2022-7-5 23:06:06 | 显示全部楼层
好的,从我在另一个帖子上得到的图纸中的同一块。
 
我想根据版本更改查找1。
 
现在,当我在旧版本中传递它时,它工作了:
 
  1. (vlax-for lt (vla-get-layouts adoc)
  2.    ;(vla-put-activelayout adoc lt) ; optionnel
  3.    (vlax-for obj (vla-get-block lt)
  4.      (if (and (= "AcDbBlockReference" (vla-get-objectname obj))
  5.              (member (vla-get-effectivename obj) Nombloc)
  6.              (= :vlax-true (vla-get-hasattributes obj) ))
  7.        (progn
  8.          (setq atts (vlax-invoke obj 'getattributes))
  9.          (foreach x atts
  10.      
  11.     (if (= Tag#Pg (vla-get-tagstring x))
  12.                (vla-put-textstring x Tnumtabs)
  13.     )
  14.         (setq  N-E-dbp (nth 2 (vlax-invoke obj 'GetDynamicBlockProperties)))
  15.         (vla-put-value  N-E-dbp TRev)
  16.          )
  17.        )
  18.      )
  19.    )
  20. )

 
但现在它无法从其他代码中获取VLA对象。
 
所以当我通过这个密码时:
 
  1. [/code]
  2. 现在我的代码是这个,它不工作了
  3. [code](defun _Revision (/ TRev TDesc Tdate TPar TApp
  4.           TagRev TagNRev TagDesc TagDat TagPar TagApp
  5.           lt obj atts x DynBP)
  6. ;| Élénment de text |;
  7. (if (= choix "N")
  8.      (setq TRev "0"))
  9. (if (= choix "R")
  10.    (setq TRev (itoa (fix (getreal "\n Numéro de révision : ")))))          
  11. (setq TDesc (strcase (getstring T "\n Donner la raison de la révision. : "))
  12.        Tdate (_Today)
  13. )
  14.        
  15. (initget 1 "C F J S")
  16. (setq        TPar (getkword "\n Qui a fait les changements sur le plan? [Charle/François/Julieta/Simon]: "))
  17.        (if (= TPar "C")(setq TPar "C.L"))
  18. (if (= TPar "F")(Setq TPar "F.L"))       
  19. (if (= TPar "J")(setq TPar "J.L"))
  20. (if (= TPar "S")(setq TPar "S.D"))
  21. (initget 1 "J S")
  22. (setq        TApp (getkword "\n Qui a approuvé les changement [Julieta/Simon]: "))
  23.        (if (= TApp "J")(setq TApp "J.L"))
  24.        (if (= TApp "S")(setq TApp "S.D"))
  25. ;| Élénment des TAG |;       
  26. (setq TagRev "REV"
  27.        TagNRev (strcat "N°REV" TRev)
  28.        TagDesc (strcat "DESCRITION" TRev)
  29.        TagDat (strcat "DATE" TRev)
  30.        TagPar (strcat "PAR" TRev)
  31.        TagApp (strcat "APP" TRev)
  32. )
  33. ;Inscrit le texte dans chacun des attributs
  34. (mapcar '_Text->Attribute->Layout
  35. (list TagRev TagNRev TagDesc TagDat TagPar TagApp)
  36. (list TRev TRev TDesc Tdate TPar TApp)
  37. )
  38.    
  39. )
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:14:52 | 显示全部楼层
 
丢失的
(vl load com)
(setq adoc(vla get activedocument(vlax get acad object)))
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
270
发表于 2022-7-5 23:22:32 | 显示全部楼层
 
谢谢你的帮助,但在第一条评论中,我想知道遗漏了什么,并解释一下如何到达那里。
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:30:56 | 显示全部楼层
我不是导师,只是分享我的理解(所以如果我错了,我希望前辈能给我建议)
vb activex就像“浏览器扩展树”序列。。。
假设应用程序是“我的电脑”,所以我们必须扩展有效路径“目录”和“子文件夹”,以达到我们正在寻找的其他内容,例如:布局等。。
(vla get布局adoc)
?? --> ?? --> 布局,缺少路径为adoc=文档和应用程序(对象)
(setq adoc(vla get activedocument(vlax get acad object));
 

                               
登录/注册后可看大图
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
270
发表于 2022-7-5 23:38:24 | 显示全部楼层
 
好吧,我很理解。
 
当我需要改变一个值时,我就被搞糊涂了。我如何知道要使用什么功能。即使我使用“vla get block”,它也不会得到所需的块。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-18 12:15 , Processed in 1.916351 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表