乐筑天下

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

[编程交流] vlax get属性(vlax get

[复制链接]

23

主题

102

帖子

79

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 07:56:13 | 显示全部楼层 |阅读模式
你好,我花了5个小时看这个,请停止我的痛苦。
 
  1. (defun tempList (theObject / item dwgName) ;;;i[color="red"]tem here is nil,object acaddocuments[/color]
  2. (vl-load-com)  
  3. (setq theList '())
  4. (vlax-for item theObject
  5. [color="red"]    (setq dwgName (vlax-get-property item 'Name)) ;;;main question is in this line.
  6. 1.how can i see this item in "(vlax-get-acad-object", everything is here right?),before calling its property.I'm using a watch to see whats happening.
  7. 2.can you please tell me what do you think i should  know on this issue[/color]
  8.    (setq theList (append (list dwgName) theList))
  9. )
  10. (setq theList (reverse theList))
  11. (princ)
  12. );defun
  13. (setq acadObject (vlax-get-acad-object))
  14. (setq acadDocuments (vla-get-documents acadObject))
  15. (tempList  acadDocuments)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:03:56 | 显示全部楼层
你的例行训练目标是什么?
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:10:30 | 显示全部楼层
其中对象是(vla get documents(vlax get acad object))
 
  1. (vlax-for item theObject
  2.     (setq dwgName (vlax-get-property item 'Name))
  3. (setq theList (append (list dwgName) theList)))

 
现在通过代码的设置,您可以收集“名称”(图形名称)并将其保存在变量列表中。姓名列表。现在如果你想“看到”属性和方法
 
  1. (vlax-for
  2.   item  (vla-get-documents (vlax-get-acad-object))
  3. (setq theList (append (list item) theList)))

 
其中,您可以通过以下方式查看每个元素的属性和方法(包括名称)
 
  1. (vlax-dump-object (nth 0 theList) T) ;<--- index 0
回复

使用道具 举报

23

主题

102

帖子

79

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 08:18:06 | 显示全部楼层
 
Qonfire公司
 
你的例行程序会在列表中列出名字,当你运行例行程序(圣殿骑士阿卡多文档)时,你会得到如下结果
(“Drawing2.dwg”“Drawing3.dwg”);
 
按照编写代码的方式,列表变量没有本地化。然后,您可以将其用于foreach/repeat/mapcar/vl-some等。。。以每个元素作为参数。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:21:12 | 显示全部楼层
 
我的问题是在我们列出名单之前。假设我们有2个dwg。开的。一个是is文档上的ActivDocument。
 
我知道如何获得dwg文件的数量。。。我可以得到actif文档的名称,但在“监视”中,我看不到非actif文档。
 
好的,让我这么说吧,我看到当这行运行时,它需要一个非活动文档(如果没有错的话)并超过它的速率。
在运行此行之前,我如何在“watch”中查看可用项。
 

 
注意:可能在“手表”中我看不到这些物品,或者我无法找到它们。
 
感谢
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:26:14 | 显示全部楼层
 
 
你可以找到它们,但在“手表”窗口中,它太快了,你看不到它。但是,您可以使用断点,当到达该点时,计算将暂停,您可以按CTRL+F8继续。我打赌你会看到手表窗口的价值在变化。
 
  1. (vlax-for item (vla-get-documents (vlax-get-acad-object))
  2. (setq dwgNames (cons (vlax-get-property item 'Name) dwgNames))
  3. )
  4. (princ (apply 'strcat dwgnames))
回复

使用道具 举报

23

主题

102

帖子

79

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 08:31:52 | 显示全部楼层
请看我附上的毕加索照片。
 
问题在1 jpeg中
 
这个vlax是否在迭代时获取项目并更改活动文档?
 
等号图片是项目第二次更改名称
 
请最后推一下:)

回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:38:30 | 显示全部楼层
除非调用vla激活,否则其值始终为“当前”,该激活将激活指定图形。
回复

使用道具 举报

23

主题

102

帖子

79

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2022-7-6 08:40:42 | 显示全部楼层
(vla项目文档0)1 2。。。。。这就是我认为我的样子。谢谢你们的帮助
085617pjjqn8bnncu1lpcs.jpg
085620q9tqh9jqijhww0td.jpg
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 08:47:09 | 显示全部楼层
 
没有什么大不了的,我所做的只是增加了更多的困惑
 
继续。。。。
 
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 21:12 , Processed in 0.535963 second(s), 74 queries .

© 2020-2025 乐筑天下

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