乐筑天下

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

[编程交流] 自动填写

[复制链接]

8

主题

52

帖子

44

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 15:38:53 | 显示全部楼层 |阅读模式
大家好,
 
我不确定你以前是否这样做过。我试图搜索,但似乎以前没有人遇到过这种麻烦。我试图使用标题栏信息和标签TITLE-1到TITLE-4来填写摘要选项卡上的绘图属性,从标题、主题、作者、分别与TITLE-1、TITLE-2、TITLE-3和TITLE-4匹配的关键字开始。见附件。
 
有可能在这里完成吗?提前谢谢。
163859plau1c73bvxu7v4b.jpg
回复

使用道具 举报

3

主题

37

帖子

34

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 15:43:09 | 显示全部楼层
您需要在自定义选项卡中,而不是摘要中。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:46:56 | 显示全部楼层
查看ActiveDocument对象的SummaryInfo属性。
回复

使用道具 举报

3

主题

37

帖子

34

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 15:50:56 | 显示全部楼层
我把这个问题当成是问标题栏信息而不是搜索信息。我把问题看错了吗?
回复

使用道具 举报

8

主题

52

帖子

44

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 15:53:30 | 显示全部楼层
谢谢你,李。尽管如此,我不确定我是否说清楚了。我想知道是否有人有一个例程来提取和填充带有以下属性标记的标题栏信息的Dwgprops对话框:TITLE-1、TITLE-2、TITLE-3和TITLE-4。因此假设有一个名为TITLEBLOCK的块,其中包含TITLE1-4属性。我希望能够将该信息直接传输到图形属性中,如jpeg所示。希望这次我说清楚了。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:57:48 | 显示全部楼层
 
我明白了,您需要查询的是SummaryInfo对象。
 
例如,填充图形特性,然后运行以下代码以显示SummaryInfo对象的特性和方法:
 
  1. (vlax-dump-object
  2. (vla-get-SummaryInfo
  3.    (vla-get-ActiveDocument
  4.      (vlax-get-acad-object)
  5.    )
  6. )
  7. t
  8. )
回复

使用道具 举报

8

主题

52

帖子

44

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 16:00:59 | 显示全部楼层
啊,我运行了它,让Autocad列出了这些图形属性。谢谢你,李。那么,有没有一种方法可以通过lisp从标题栏属性更新summaryInfo中的信息?如何在summaryinfo中分配变量以与标题栏本身中的属性匹配?任何帮助都将不胜感激。
; Title=“Title-1”
; 主题=“标题-2”
; 作者=“TITLE-3”
; 关键词=“TITLE-4”
 
这是一个lisp,我需要修改以使其工作,但是,我不知道如何要求它从标题栏中获取这些属性值,并以这种方式更新dwgprops摘要选项卡。
  1. ;;;initialize DWGPROPS if it does not exist
  2. ;;;this is stripped down, you can add more to it, if you wish
  3. (defun dp:init ()
  4. (if (and (zerop (getvar "DWGTITLED")) (not (dp:get)))
  5. (progn
  6. (setq ;dp:Title (val 2)<-could be extracted from Title block via LISP
  7. ;dp:Subject (val 3)
  8. dp:Author "Your Organization"
  9. ;dp:Keywords (val 7)
  10. dp:RevisionNo "0"
  11. dp:Cust0 (val 300)<-1st Custom Property
  12. dp:Cust1 (val 301)<-2nd Custom Property
  13. ;
  14. )
  15. (dput)
  16. (setvar "CMDECHO" 0)
  17. (command "_.QSAVE")
  18. (setvar "CMDECHO" 1)
  19. )
  20. )
  21. (princ)
  22. );dp:init
  23. (dp:init)
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-5 16:02:38 | 显示全部楼层
pBe,
 
仅提供我的意见,如果你愿意,请忽略它:
 
您的代码实现的算法效率极低(我再强调也不过分)-让我解释一下原因:
 
对于每个属性,您的代码不仅遍历图形中的每个块,而且遍历图形中的每个对象。
 
因此,您将遍历图形中的每个对象,重复四次。
 
此外,您还使用图形中指定的名称迭代每个属性块的所有属性,也迭代了四次。
 
注意,在我的方法中,我只对单个属性块的属性迭代一次。我提出的关键点和提高程序效率的最有效方法是最大限度地减少程序对信息的迭代次数(如果可能的话,一次)。
 
回复

使用道具 举报

8

主题

52

帖子

44

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 16:06:25 | 显示全部楼层
是的,你的很有魅力,李。但我要感谢你们,pBe和李,为我们提供了如此精彩的节目。是的,李,不是每个人都像你这样高效的编程。但是,我们只能在李和论坛其他人的建议和支持下学习和发展我们的编程技能。再次感谢。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:08:58 | 显示全部楼层
 
 
李,我一直很重视你的意见。我还能学到什么。再看一遍代码,你完全正确了4(四)(1+1+1+1)(IV)次,对每个标记名调用sub,对每个调用搜索块。
 
 
非常感谢李。
 
 
你是welocme kam1967
简洁明了就到此为止
不过谢谢你
 
 
(好吧,回到绘图板)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:06 , Processed in 0.369841 second(s), 75 queries .

© 2020-2025 乐筑天下

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