wzs07
发表于 2024-7-24 16:36:17
你有种再说一遍 发表于 2024-7-24 16:31
那知道ssget底层原理吗
求赐教🙏
xtjd
发表于 2024-7-24 16:42:41
wzs07 发表于 2024-7-24 14:32
vlax-curve-getstartpoint的确可以判断对象是不是曲线,我是想通过曲线在图中筛选出(颜色、图层、线型) ...
图元类型 依 长度/面积/数量 分门别类 建表1
选择图元,获取图元类型,对比表1中属于哪个类型
依据表1中的子项来ssget筛选......
wzs07
发表于 2024-7-24 16:47:14
xtjd 发表于 2024-7-24 16:42
图元类型 依 长度/面积/数量 分门别类 建表1
选择图元,获取图元类型,对比表1中属于哪个类型
依据表1 ...
我明白你的意思:用cond,对于大量图元的图纸,我是想筛选出分类进行统计
比如:线条、圆弧、圆可能属于墙体,我目前只想计算墙体的长度
你有种再说一遍
发表于 2024-7-24 16:48:25
wzs07 发表于 2024-7-24 16:36
求赐教🙏
cad就是一个数据库,数据库就必然是创建索引,再选择数据.
所谓的索引就是分类,然后分别记录在全局字段上面,
所以你天马行空的按照"长度"是否存在分类,本身就是一种索引,
这个索引不应该是使用命令的时候才分类,而是一打开图纸就分类,
当然,这些在lisp难以实现
kozmosovia
发表于 2024-7-24 17:07:31
wzs07 发表于 2024-7-24 14:49
我的意思是:在entsel进行选择时,比如我的参考对象是曲线类(line、circle等),那后面的ssget只能选择 ...
选择之后要遍历,要分类的话没啥要傻乎乎的一开始分类?遍历的时候再分类不香吗?遍历一次,分类、相应的计算全部搞定。
wzs07
发表于 2024-7-24 17:12:15
本帖最后由 wzs07 于 2024-7-24 17:14 编辑
kozmosovia 发表于 2024-7-24 17:07
选择之后要遍历,要分类的话没啥要傻乎乎的一开始分类?遍历的时候再分类不香吗?遍历一次,分类、相应的 ...
你的意思先ssget遍历,然后分类,这样是不是就会造成可能很多多余的选择
我想达到:根据我预定的对象,选择同类对象
如果参考对象是线,我就选线;
如果参考对象是填充,我就选择全部填充
图块
kozmosovia
发表于 2024-7-24 17:21:58
选择同类对象,用selectsimiliar命令就行了。
wzs07
发表于 2024-7-24 17:30:44
kozmosovia 发表于 2024-7-24 17:21
选择同类对象,用selectsimiliar命令就行了。
有点类似于这个命令,但是我想做统计
kozmosovia
发表于 2024-7-24 17:33:52
无语。。。
gzcsun
发表于 2024-7-24 18:00:25
(setq SS (ssget (list
;;目的:,筛选曲线类,实现对以下能够计算长度的曲线类进行筛选,如何实现
(0 . "LINE ARC CIRCLE LWPOLYLINE SPLINE ELLIPSE POLYLINE")
(cons 8 ent_layer)
(cons 62 ent_col)
(cons 6 ent_ltype))))
;;统计长度(并列式)
估计你自己设计一个CAD就可以 ssget 长度 :lol