CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

snvalid(AutoLISP)

2023-1-5 18:13| 发布者: admin| 查看: 321| 评论: 0|来自: AutoCAD

摘要: 检查符号表名称中是否有有效字符

检查符号表名称中是否有有效字符

支持的平台:视窗和 Mac OS

签名

(snvalid sym_name [flag])
sym_name

类型:字符串

符号表名称。

类型:整数

指定sym_name中是否允许使用竖线字符。标志参数可以是以下参数之一:

0 - 不允许sym_name中的任何位置使用竖线字符。这是默认值。

1-允许sym_name竖线字符,只要它们不是名称中的第一个或最后一个字符。

返回值

类型:T 或零

T,如果sym_name是有效的符号表名;否则。nil

言论

该函数检查 AutoCAD EXTNAMES 系统变量,以确定要对活动图形强制执行的规则。如果 EXTNAMES 为 0,则使用 AutoCAD 2000 之前有效的符号名称规则进行验证。如果 EXTNAMES 为 1(默认值),则使用 AutoCAD 2000 中引入的扩展符号名称规则进行验证。无论 EXTNAMES 的设置如何,符号名称中都不允许以下内容:snvalidsnvalidsnvalid

  • 控件和图形字符
  • 空字符串
  • 竖线作为名称的第一个或最后一个字符

如果 EXTNAMES 为 1,则 AutoLISP 不会对符号表名称的长度施加限制。

如果 EXTNAMES 为 1,则允许除控件和图形字符以及以下字符之外的所有字符:

符号表名称中不允许使用的字符

< >

小于和大于符号

/ \

正斜杠和反斜杠

"

引号

:

结肠

?

问号

*

星号

|

竖线

,

逗点

=

等号

`

返回引用

;

semicolon (ASCII 59)

A symbol table name may contain spaces.

If EXTNAMES is 0, symbol table names can consist of uppercase and lowercase alphabetic letters (e.g., A-Z), numeric digits (e.g., 0-9), and the dollar sign ($), underscore (_), and hyphen (-) characters.

例子

以下示例假定 EXTNAMES 设置为 1:

(snvalid "hocus-pocus")
T

(snvalid "hocus pocus")
T

(snvalid "hocus%pocus")
T

以下示例假定 EXTNAMES 设置为 0:

(snvalid "hocus-pocus")
T

(snvalid "hocus pocus")
nil

(snvalid "hocus%pocus")
nil

以下示例在符号表名称中包含竖线:

(snvalid "hocus|pocus")
nil

默认情况下,竖线字符在所有符号表名称中都被视为无效。

在下面的示例中,flag参数设置为 1,因此只要竖线字符不是名称中的第一个或最后一个字符,它就认为竖线字符在sym_name 中有效:snvalid

(snvalid "hocus|pocus" 1)
T

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 15:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部