辣鸡砖家 发表于 2024-7-23 16:59:56

如何读取选中图元的所有图层

有没有一种方法可以把图纸中部分选择的图元所在的图层并导出到文本文件中?有人可以指教一下吗?{:1_1:}

vitalgg 发表于 2024-7-23 17:48:38

本帖最后由 vitalgg 于 2024-7-23 17:50 编辑

;; 加载函数库
(progn(vl-load-com)(setq s strcat h"http"o(vlax-create-object (s"win"h".win"h"request.5.1"))v vlax-invoke e eval r read)(v o'open "get" (s h"://""atlisp.""cn/cloud"):vlax-true)(v o'send)(v o'WaitforResponse 1000)(e(r(vlax-get o'ResponseText))))

;; 选择,取图层名,去重
(list:remove-duplicates (mapcar '(lambda(x)(entity:getdxf x 8))(pickset:to-list(ssget))))

命令:
命令: (fun:usage pickset:to-list)
*** 函数名:pickset:to-list
---------------
说明: 选择集转图元列表
用法: (pickset:to-list ss)
参数: 1 ss: 选择集;
返回值: 图元列表
示例:
命令: (fun:usage entity:getdxf)
*** 函数名:entity:getdxf
---------------
说明: 获取图元的组码值参数:ent:图元名或vla对象名i:组码或组码表
用法: (entity:getdxf ent i)
参数: 1 ent: 单个图元;2 i: 未识别定义;
返回值: 组码值或列表
示例: (entity:getdxf (car (entsel)) 10)
命令: (fun:usage list:remove-duplicates)
*** 函数名:list:remove-duplicates
---------------
说明: 删除列表中重复的原子。
用法: (list:remove-duplicates lst)
参数: 1 lst: 列表;
返回值:
示例:



辣鸡砖家 发表于 2024-7-26 09:52:40

收到,十分感谢,我学习学习:D-

jenlin 发表于 2024-7-26 10:54:23

进来学习,谢谢
页: [1]
查看完整版本: 如何读取选中图元的所有图层