乐筑天下

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

[编程交流] 使用“全部”创建选择集

[复制链接]

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 11:53:34 | 显示全部楼层 |阅读模式
尊敬的各位:,
 
我是autolisp的初学者,我想用所有的lwpolyline和circle创建一个选择集,但我不知道如何创建它。
 
(setq set(ssget“x”(list(cons 8(vlax get property object'Name))'(0。“lwpolyline”))
 
有人能帮我吗?谢谢
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 11:58:46 | 显示全部楼层
此逻辑筛选器将创建请求的选择集:
 
  1. (setq set (ssget "_X" '((-4 . "<OR")
  2.                (0 . "LWPOLYLINE")
  3.                (0 . "CIRCLE")
  4.               (-4 . "OR>"))))

 
当做
回复

使用道具 举报

1

主题

316

帖子

311

银币

初来乍到

Rank: 1

铜币
29
发表于 2022-7-6 12:01:07 | 显示全部楼层
Msasu,set也是一个lisp函数,不能用作变量。
 
也:
(setq myset(ssget“_X”(LIST)(0。“LWPOLYLINE,CIRCLE”)(cons 410(getvar“CTAB”)))))
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 12:04:47 | 显示全部楼层
@wizman:你说得对,我错了——在没有注意到这个问题的情况下保留了原始变量名。这太尴尬了!
 
此外,您提出的过滤对我来说是新的(逗号分隔类型)-今天早上我学到了一些东西。谢谢
回复

使用道具 举报

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 12:06:22 | 显示全部楼层
非常感谢你!谢谢你的帮助!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:10:43 | 显示全部楼层
 
msasu,
 
仅供参考,任何wcmatch字符串都可以用于ssget筛选器,即。
 
  1. (setq myset (ssget "_X" '((0 . "~INSERT"))))

 
指除INSERT外的所有对象。
 
或者可能:
 
  1. (setq myset (ssget "_X" '((0 . "*TEXT,*LINE"))))

 
将检索多行文字、RTEXT和文字,以及LWPOLYLINE、POLYLINE、SPLINE、XLINE和LINE。
 
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 12:14:42 | 显示全部楼层
这很有用!非常感谢。
回复

使用道具 举报

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 12:17:19 | 显示全部楼层
谢谢在选择了所有lwpolyline和circle之后,我将把所有选择集转换为vla对象。然后我需要检查这个选择集是否有闭合项或半径项。正确吗?
 
(或
(=(vlax get property(vlax ename->vla object item)'关闭):vlax false)
(=(vlax get property(vlax ename->vla object item)'半径):vlax false);或
 
谢谢
回复

使用道具 举报

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 12:20:01 | 显示全部楼层
我试着写一些代码来检查lwpolyline和circle,但它没有检查圆,并得到以下错误。可能是lisp检查vl对象时没有此项,然后返回错误。是否可以编写lisp将所有圆转换为lwpolyline?
 
ActiveX服务器返回错误:未知名称:已关闭
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:23:13 | 显示全部楼层
 
出现错误的原因是圆没有闭合特性。
 
如果您试图将所有圆转换为LWPOLYLINE,为什么要在选择集中收集LWPOLYLINE?
 
此外,由于圆是一个完全独立的图形对象,因此需要定义多段线的线段数。
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:06 , Processed in 0.351417 second(s), 72 queries .

© 2020-2025 乐筑天下

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