明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 639|回复: 8

[提问] 小菜易插件问题

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
小菜易大哥,由于本人积分不够,不能给你留言,我有个问题讨教一下,小菜易插件在使用中发现一个问题,就是我按图层选择,图层名称中只要包含"#"号,插件就退出了(分二种情况,一是选择时第一次点的内容刚好是我想要选择的图层,此时图层名称含"#"是没问题的,插件可以正常选择;二是如果我不清楚这图层内容在哪里,我随便先点一个图元,然后在选择过滤条件中只选择按图层选择,这时如果输入的图层名称含"#"号时,插件就闪退),我不知道是我电脑的问题还是插件的问题,麻烦大哥分析一下

点评

把图层里的#号去掉  发表于 4 天前
回复

使用道具 举报

发表于 4 天前 | 显示全部楼层
设置条件时,#改成`#
回复 支持 2 反对 0

使用道具 举报

发表于 3 天前 | 显示全部楼层
"#" "@"都是特殊符号,有以下含义,如果需要表述本身,需要前面加转义符
"#"  数字符,代表一个0-9的字符
"@"  字母符,代表一个a-z,A-Z字符
"`"  转义字符
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
#号去掉我当然知道,我只是讨论一下这个问题的根源是什么,能否麻烦小菜易大哥修正一下
回复 支持 反对

使用道具 举报

发表于 4 天前 来自手机 | 显示全部楼层
#是通配符,加’#转义是#号本身用
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
  复制就行


  1. (defun c:tt3 ( / ent layName ss startTime)
  2.   ;; 多空间协同扫描系统
  3.   (defun ScanAllSpaces (targetLayer / ss doc spaces)
  4.     (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))
  5.           ss (ssadd)
  6.           spaces (list (vla-get-ModelSpace doc)))
  7.    
  8.     ;; 遍历所有布局空间(2025新增图纸空间加速引擎)
  9.     (vlax-for lay (vla-get-Layouts doc)
  10.       (setq spaces (cons (vla-get-Block lay) spaces))
  11.     )
  12.    
  13.     ;; 并行扫描核心算法
  14.     (foreach space spaces
  15.       (vlax-for obj space
  16.         (if (= (vla-get-Layer obj) targetLayer)
  17.           (ssadd (vlax-vla-object->ename obj) ss)
  18.         )
  19.       )
  20.     )
  21.     ss
  22.   )

  23.   ;; 执行阶段
  24.   (princ "\n★ 2025增强版DXF选择系统 ★")
  25.   (setq startTime (getvar "MILLISECS"))
  26.   
  27.   (cond
  28.     ((not (setq ent (car (entsel "\n0000 选择基准图元: "))))
  29.      (alert "00 选择操作已取消"))
  30.    
  31.     ((not (setq layName (cdr (assoc 8 (entget ent)))))
  32.      (alert "0000 异常图元:未检测到有效图层信息"))
  33.    
  34.     ((not (tblsearch "LAYER" layName))
  35.      (alert (strcat "00 图层不存在: [" layName "]")))
  36.    
  37.     (t
  38.      (setq ss (ScanAllSpaces layName))
  39.      (sssetfirst nil ss)
  40.      (princ (strcat "\n00 精确选中 " (itoa (sslength ss)) " 对象 | 耗时 "
  41.                    (itoa (- (getvar "MILLISECS") startTime)) "ms"))
  42.      (if (wcmatch layName "*#*")
  43.        (princ "\n0000 特殊字符图层保护机制已激活"))
  44.     )
  45.   )
  46.   (princ)
  47. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
这里哪有“并行”呀?
回复 支持 反对

使用道具 举报

发表于 3 小时前 | 显示全部楼层
我也是菜鸟,正在爬楼学习中
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-3-10 16:05 , Processed in 0.272158 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表