Autolisp 通过关键字合并图层

Autolisp 通过关键字合并图层获得所有图层参数 无返回值 表 userdefinedf strsplitspli andreturnali example strsplit 1 22 333 4444 gt gt 1 22 333 4444 strsplit 1 22 333 4444 amp g

 ;| 获得所有图层 参数:无 返回值:表 |; ; user defined function strsplit. ; strsplit splits a string with delimiter, and return a list. ; example: (strsplit "1,22,333,4444" ",") -->> ("1","22","333","4444") ; (strsplit ",1,22,333,4444," ",") -->> ("" "1" "22" "333" "4444" "") (defun strsplit(datastr delimiter) (setq strlist '() str "" ) (setq n (strlen datastr)) (setq i 1) (repeat n ; s is a single letter, starts from the first to the end. (setq s (substr datastr i 1)) (if (/= s delimiter) ; when s is't a delimiter (progn (setq str (strcat str s)) ; if s is the last letter (if (= i n) (setq strlist (cons str strlist)) ) ) ; when s is a delimiter (progn (setq strlist (cons str strlist)) (setq str "") ; if delimiter is the last letter (if (= i n) (setq strlist (cons "" strlist)) ) ) ) (setq i (1+ i)) ) ; reverse list and retrun it (reverse strlist) ) (defun XD::Layer:GetAll ( / e layerl obj) (setq obj (xdrx_object_get "layer")) (while (setq e (xdrx_object_next)) (setq layerl (cons (car e) layerl)) ) (setq layerl (reverse layerl)) ) (defun main( / name lys addlys first others klens n) (setq name (getstring "要合并图层名称,多个用逗号隔开:")) (if (/= name "") (progn (setq keys (strsplit name ",")) (setq lys (XD::Layer:GetAll)) (setq addlys (list)) (setq klens (length keys)) (foreach e lys (setq n 0) (while (< n klens) (setq key (nth n keys)) (if (vl-string-search key e) (progn (setq addlys (append addlys (list e))) (setq n klens) ) (setq n (+ n 1)) ) ) ) (setq first (car addlys)) (setq others (cdr addlys)) (princ addlys) (foreach k others (command "laymrg" "N" k "" "N" first "Y") ) ) (princ "input is nil") ) ) (defun c:mrly() (main) )

合并CAD图层,

图层关键字,多个关键字,必需晓东工具箱

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211636.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午9:58
下一篇 2026年3月18日 下午9:59


相关推荐

  • java多线程编程详细入门教程

    java多线程编程详细入门教程1 概念 amp amp nbsp amp amp nbsp amp amp nbsp amp amp nbsp amp amp nbsp 线程是 jvm 调度的最小单元 也叫做轻量级进程 进程是由线程组成 线程拥有私有的程序技术器以及栈 并且能够访问堆中的共享资源 这里提出一个问题 为什么要用多线程 有一下几点 首先 随着 cpu 核心数的增加 计算机硬件的并行计算能力得到提升

    2026年3月18日
    1
  • mysql忘记密码解决方案及三种方式修改密码

    mysql忘记密码解决方案及三种方式修改密码mysql用户分为root用户(超级管理员,拥有所有权限)和普通用户,mysql服务器通过权限表来控制用户对数据库的访问,这些权限表存于root用户下的mysql数据库中。在使用mysql数据库过程中,往往需要修改密码的操作,下面介绍三种修改密码的方式:1、使用mysqladmin命令在命令行指定新密码mysqladmin-uroot-ppassword‘新密码’…

    2022年5月6日
    163
  • 【Win10系统】Win10系统无线网消失,更改适配器只有以太网,找不到WLAN怎么解决?

    【Win10系统】Win10系统无线网消失,更改适配器只有以太网,找不到WLAN怎么解决?已经快三天了,不想重装系统,前天早上起床打开电脑突然发现右下角网络只有一个飞行模式,旁边的WLAN消失了,到网络属性中更改适配器设置也没找到,几乎试了网上所有的解决办法。1.网络重置2.cmd命令netshwinsockreset3.关机-断电-拔电池或者插拔网卡(未尝试,还要拆螺丝,麻烦)4.services.msc启动那几个服务项5.开飞行模式,重启,关飞行模式6.CClea…

    2022年7月11日
    79
  • groupby函数详解

    groupby函数详解pandas中groupby函数用法详解1groupby()核心用法2groupby()语法格式3groupby()参数说明4groupby()典型范例1groupby()核心用法(1)根据DataFrame本身的某一列或多列内容进行分组聚合,(a)若按某一列聚合,则新DataFrame将根据某一列的内容分为不同的维度进行拆解,同时将同一维度的再进行聚合,(b)若按某多列聚合,则新D…

    2022年5月9日
    94
  • 7-10 公路村村通(并查集kruskal)

    7-10 公路村村通(并查集kruskal)最小生成树题目链接现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。输出格式:输出村村通需要的最低成本。如果输入数据不足以保证畅通,则输出−1,表示需要建设更多公路。输入样例:6 151 2 51 3 3

    2022年8月8日
    8
  • 主成分分析(PCA)原理详解「建议收藏」

    “微信公众号”本文同步更新在我的微信公众号里,地址:https://mp.weixin.qq.com/s/Xt1vLQfB20rTmtLjiLsmww本文同步更新在我的知乎专栏里面:主成分分析(PCA)原理详解-Microstrong的文章-知乎https://zhuanlan.zhihu.com/p/377770741.相关背景在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观…

    2022年4月16日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号