乐筑天下

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

[编程交流] 如何比较对象集

[复制链接]

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:02:53 | 显示全部楼层 |阅读模式
我有两个集合(变量),包含一个对象列表和一个属性列表。
 
“属性”是“对象”中某些对象的层。
 
我需要得到的是一组新的对象“OBJECTS2”,其中只包含属性中存在层的对象。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:14:06 | 显示全部楼层
  1. (setq objects2 (vl-remove-if-not '(lambda ( obj ) (member (vla-get-layer obj) properties)) objects))

 
假设“对象列表”是指VLA对象列表,而“特性列表”是指图层名称列表。
另请注意,上述内容区分大小写。
回复

使用道具 举报

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:18:12 | 显示全部楼层
如果我知道你在说什么。。。好的,我会努力学习。。。我现在在你的网站上。。。
回复

使用道具 举报

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:29:36 | 显示全部楼层
好吧,我放弃了,我该如何创建VLA对象的列表,对象是视口?!
我是否使用
(vlax ename->vla object entname)
要使ename的所有实体成为vla对象并生成新的vla对象集?
 
天啊,我真傻。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:32:06 | 显示全部楼层
项目不一定需要是VLA对象,我在编写代码时考虑了VLA对象,因为您声明了“对象列表”,它可以是实体名称列表,甚至是选择集,您只需要更改迭代方法和/或检索图层特性的方式;e、 g.实体名称列表:
 
  1. (vl-remove-if-not '(lambda ( e ) (member (cdr (assoc 8 (entget e))) <list-of-layer-names>) <list-of-entity-names>)
回复

使用道具 举报

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:41:53 | 显示全部楼层
当我使用这个时,我在输入上得到了格式错误的列表。图层列表是一组图层名称,ALLVIEWPORTLIST是(视口)的列表。。。其中九个是vla对象。。。
我想我失踪)某处。。。
回复

使用道具 举报

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:48:02 | 显示全部楼层
  1. (setq VPL2 (vl-remove-if-not '(lambda ( e ) (member (cdr (assoc 8 (entget e))) LAYERLIST)) ALLVIEWPORTLIST))

 
我明白了
; 错误:错误的参数类型:lentyp(2(0.0 0.0)(1.0 1.0))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:53:59 | 显示全部楼层
变量ALLVIEWPORTLIST是否是所需的实体名称列表?
回复

使用道具 举报

16

主题

68

帖子

52

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 08:02:24 | 显示全部楼层
我得到了ALLVIEWPORTLIST
使用
  1. (setq ALLVIEWPORTLIST (vports))
并且在开始时声明为变量,如下所示:
伙计,我会给你这个代码的所有作者权限
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:04:34 | 显示全部楼层
 
vports函数不会返回视口实体名称列表,如文档所述:
 
因此,我建议您使用ssget函数来检索当前布局中的视口选择集,例如:
但是,请注意,除了在布局中创建的视口外,此集合还包括图纸空间视口本身。
 
然后,您可以迭代该集合并收集所需列表:
 
  1. 7
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 10:09 , Processed in 0.352187 second(s), 72 queries .

© 2020-2025 乐筑天下

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