问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

antolisp中initget函数什么意思?怎么用啊?

发布网友 发布时间:2022-05-10 20:18

我来回答

1个回答

热心网友 时间:2023-08-06 04:11

initget函数为随后的用户输入函数调用创建关键字.(intget [bits] [string])能够接受关键字输入的函数有 getint、getreal、getdist、getangle、getorient、getpoint、getcorner、getkword、entsel、nentsel 和 nentselp。getstring 函数是唯一不接受关键字的用户输入函数。

在随后调用用户输入函数时,如果用户输入的不是相应的数据类型(例如与 getpoint 函数相对应的类型是一个点),该函数将检索关键字表来确定用户是否键入了一个关键字。如果用户的输入和表中的一个关键字相匹配,函数将以字符串的形式返回该关键字。应用程序可以对返回的关键字进行检测,并对每一个关键字执行相应动作。如果用户的输入不是相应类型且和表中任何一个关键字都不匹配,AutoCAD 将要求用户再次输入。initget 函数的位编码值与关键字表仅对紧随其后的那个用户输入函数有效。如果 initget 函数设置了一个控制位,而该控制位对应用程序随后调用的那个用户输入函数来说没有意义,则忽略该控制位.如果用户的输入不满足一个或多个指定条件(例如在不允许输入零值时输入了零值),AutoCAD 将显示信息要求用户再次输入。

参数

bits

按位编码的整数,用于控制是否允许某些类型的用户输入。这些控制位可以任意组合(即把各位加起来),构成 0 到 225 之间的值。如果没有指定 bits 参数,则假定它是 0。各位的值如下:

1 (位0) 禁止用户仅按 ENTER 键来响应输入请求。

2 (位1) 禁止用户输入零值来响应输入请求。

4 (位2) 禁止用户输入负值来响应输入请求。

8 (位3) 允许用户在当前图形界限之外输入一个点,即使 AutoCAD 的系统变量 LIMCHECK 当前被设置为开 (ON),本条件也照样对随后调用的用户输入函数有效。

16 (位4) (目前不使用)。

32 (位5) 用虚线绘制拖引线或拉伸方框。对于那些可以由用户在图形屏幕上通过选择位置来指定一个点的函数,设置该控制位将使拖引线和拉伸方框显示为虚线而不是实线(某些显示驱动程序用颜色醒目的线来代替虚线)。如果系统变量 POPUPS 设为 0,AutoCAD 将忽略该控制位。

64 (位6) 禁止输入 Z 坐标,以使应用程序确保该函数返回的是二维距离。

128 (位7) 在尊重任何其他的控制位和所列出的关键字的情况下,允许任意的输入,就好象它是一个关键字一样。该位的优先权高于位 0
:如果同时设置了位 7 和位 0,那么用户仅键入 ENTER 键时,将返回空字符串。

注意 AutoLISP 的后续版本中可能会使用其他 initget 控制位,所以不要设置此处未提及的位。

string

代表关键字表的字符串。关于定义关键字的信息,请参见关键字规范。

返回值

nil

可用的控制位

对特定的 getxxx 函数来说,只有特定的控制位才有意义,下表对此作了全面说明。

用户输入函数和可用的控制位

函数
关键字
是否可用
控制位的值

非空

(1)
非零

(2)
非负

(4)
非限

(8)
使用虚线

(32)
二维距离

(64)
随机输入

(128)

getint
X
X
X
X

X

getreal
X
X
X
X

X

getdist
X
X
X
X

X
X
X

getangle
X
X
X

X

X

getorient
X
X
X

X

X

getpoint
X
X

X
X

X

getcorner
X
X

X
X

X

getkword
X
X

X

entsel
X

nentsel
X

nentselp
X

关键字规范

string 参数按如下规则解释:

每个关键字与随后的关键字之间用一个或多个空格分隔。例如,“Width Height Depth”定义了三个关键字。
关键字只能由字母、数值和连字符 (-) 组成。
关键字有如下两种缩写办法:

关键字的必需部分用大写字母表示,而其余部分用小写字母表示。大写的缩写部分可以位于关键字的任何位置(例如,“LType”、“eXit”或“toP”)。
整个关键字用大写字母表示,其后紧跟一个逗号,然后再跟随其必需部分(例如,“LTYPE,LT”)。这种情况下,关键字的必需部分必须包含关键字的第一个字符,这意味着“EXIT,X”是无效的。
“LType”和“LTYPE,LT”这两种关键字缩写方式是等价的。如果用户键入 LT(无论是大小写),都可以被识别为这个关键字。用户还可以输入关键字必需部分之后的字符,这样它们就不会与缩写规则相冲突了。在本例中,用户可以输入 LTY 或 LTYP,但只输入 L 是不够的。

如果 string 参数完全以大写或小写字符给出,其后没有逗号,也没有跟随必需部分,则只有用户完整输入这个关键字时 AutoCAD 才能识别。

initget 函数支持本地化的关键字。下列关键字字符串语法允许输入本地化的关键字,而返回与语言无关的关键字:

"local1 local2 localn_indep1 indep2 indepn"在这里,local1 至 localn 是本地化的关键字,而从 indep1 到 indepn 是与语言无关的关键字。

本地化关键字和语言无关关键字的数目必须相同,而且第一个与语言无关的关键字的前面必须有一个下划线,如下例所示:

(initget "Abc Def _Ghi Jkl")(getkword "\n输入选项 (Abc/Def): ")输入 A 返回 Ghi,输入 _J 则返回 Jkl。

参阅

entsel、getangle、getcorner、getdist、 getint、getkword、getorient、getpoint、getreal、getstring、 nentsel 和 nentselp 函数。《Visual LISP 开发人员手册》中的 用户输入函数的条件控制。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中山眼科医科的吕林教擅长哪方面治疗,要怎样预约 冰箱冷冻成品区和冷冻生鲜区的区别 东京大学东洋文化研究所前身今世 简单介绍东洋武士文学 东洋西洋区别 追高被套的股票怎么操作? 求助!要有怎样的配置才能玩得起古剑奇谭或仙剑5? 我的配置玩古剑奇谭老重启和卡 高手帮忙看一下怎么解决啊 我的配置玩... 电脑任务栏微信QQ图标怎么消失? qq和微信这样的弹出窗口怎么取消 C#的一个函数问题GetStr() 爸爸在加油站加八升95号汽油大约需要64元那么加40升95号汽油大约需要多少钱_百度问一问 奔驰商务一箱油多少升 加一箱油多少钱 麻烦问下C++ getstring()是什么意思 CString::GetBuffer()的原理(答了就得分!) 自驾车800公里要多少升油?多少钱? 92号汽油或突破“8元大关”,你会考虑新能源车吗? Java getString() 和 getText() 返回值数据类型不同? DataReader.getstring(0)和DataReader[0].tostring()这两个有区别吗? 关于ResultSet.getString() 一千公里八十升油多少钱一公里 如何解决java的resultset类的getstring()方法抛出nullpoint异常? C#中使用 getstring转化字符的问题 调用GetStringValue( "DEVICE USE", "VALUE", "NO" )函数,具体实现如下 想问下这个函数是什么功能 eclipse里的getString函数的参数是什么意思 c++编写成员函数GetString,使其能返回该类的字符串,但不能通过外部变量修改该类内部的字符串。 rs.getString(1) 有什么功能? C#关于getstring函数和fill函数 有没有一款录屏软件能够录制手机声音而不录制外源声音,没有水印,悬浮窗也录不进去的那种? 能够消除个人征信不良记录吗 80斤汽油是多少升? SQL 从数据库里获得的数据 比如rs.getString("姓名") .length()如果姓名 38公斤汽油是多少升,每升是8.03元,共花多少钱? 95的油80公里多少钱 可不可以喜欢我? 求 绅士的品格里 张东健 说的 可不可以喜欢我一下 的韩文 怎么写? 我真的很喜欢你,所以你可不可以也试着喜欢我一下 4900一吨的汽油等于多少钱一升? 已经不用了,绑定的银行卡如何消除 粤语翻译:我喜欢你,你可不可以喜欢我一下 下丘脑垂体系统的介绍 ahava是什么牌子 垂体参与的神经体液调节有哪些? 脑下垂体刺激法有什么作用? 两天旅游必备物品 哪位高手能帮帮忙,人的脑颅的结构和功能的关系是什么? 急! 粤语翻译:你可不可以喜欢我一下 有哪些可以美容的产品推荐一下? 人体各内分泌腺的作用 求《绅士的品格》第九集,12分45秒 张东健说的那句“可不可以喜欢我一下” 怎样发音?