明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 552|回复: 2

[讨论] 块名和符号,以及ssget的讨论

[复制链接]
发表于 2023-9-8 20:11 | 显示全部楼层 |阅读模式
定义一个块的时候,有的符号不支持作为块名的一部分,有的符号可以包含在块名内,但是不支持ssget,以下是我测试过的符号,欢迎讨论,欢迎指正。
[1].块名不支持的字符:
\ < > / ? “ : ; * | , = `
[2].块名可包含以下符号,支持ssget按条件选择获得块集合的:
! $ % ^ . & ~ ( ) - _ + { }
[3].块名可包含以下符号,但是不支持ssget按条件选择获得块集合的:
@ # [ ]
对于第三组,要想ssget按条件选择获得块集合,思路是给符号前加转义符"`"。
以下从必强版主那得到启发检索第[3]组带有特殊符号的办法:
;;;替换字符串中的特殊字符
(defun change_blkname_sign ()
  (setq list_sign (list "#" "@" "[" "]"))
  (setq blkname1 blkname)
  (setq n1 0)
  (repeat 4
    (setq CurChar (nth n1 list_sign))
    (setq NewChar (strcat "`" CurChar))
    (CharTran)
    (setq n1 (1+ n1))
  )
)

(defun CharTran        ()
  (setq Return "")
  (setq n2 1)
  (repeat (strlen blkname1)
    (setq char (substr blkname1 n2 1))
    (if        (= char CurChar)
      (setq Return (strcat Return NewChar))
      (setq Return (strcat Return char))
    ) ;_ end of if
    (setq n2 (1+ n2))
  ) ;_ end of repeat
  (setq blkname1 Return)
) ;_ end of defun




发表于 2023-9-9 10:59 | 显示全部楼层
感谢楼主分享!
发表于 2024-4-29 17:05 | 显示全部楼层
感谢楼主分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-13 03:04 , Processed in 0.146091 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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