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
页: 1 [2] 3
查看完整版本: 通过曲线的一种筛选曲线类对象的代码,目的统计长度