初始化 (AutoLISP)
建立关键字以供下一个用户输入函数调用使用
支持的平台:Windows、Mac OS 和 Web
签名
(initget [bits] [keywords])
-
位
-
类型:整数
允许或不允许某些类型的用户输入的位编码。这些位可以任意组合相加,形成介于 0 和 255 之间的值。如果未提供 bits 参数,则假定为零(无条件)。位值如下所示:
1 (bit 0) -- 阻止用户仅输入 Enter 来响应请求。
2 (bit 1) -- 通过输入零来阻止用户响应请求。
4(位 2) -- 阻止用户通过输入负值来响应请求。
8 (bit 3) -- 允许用户输入当前绘图限制之外的点。此条件适用于下一个用户输入函数,即使当前设置了 AutoCAD LIMCHECK 系统变量也是如此。
16(位 4) -- (当前未使用。
32 (bit 5) -- 绘制橡皮筋线或方框时使用虚线。对于用户可以通过在绘图区域中选择位置来指定点的函数,此位值会导致橡皮筋线或框被虚线而不是实心。(某些显示驱动程序使用独特的颜色而不是虚线。如果 AutoCAD POPUPS 系统变量为 0,AutoCAD 将忽略此位。
64 (bit 6) -- 禁止向函数输入 Z 坐标;让应用程序确保此函数返回 2D 距离。getdist
128 (bit 7) -- 允许任意输入,就好像它是关键字一样,首先遵循任何其他控制位和列出的关键字。此位优先于位 0;如果设置了位 7 和 0,并且用户按 Enter,则返回 null 字符串。
256 (bit 8) -- 给予直接距离输入优先于任意输入的优先级。对于外部应用,默认情况下,任意输入优先于直接距离输入。如果要强制AutoCAD将用户输入评估为直接距离输入,请设置此位。请注意,来自键盘的合法点输入始终优先于直接距离或任意输入。
512 (bit 9) -- 如果在调用 or 之前设置,则当光标越过实体平面的边缘时,将建立临时 UCS。当光标离开人脸时,临时 UCS 将重置。当光标在不同的面上移动时,它会动态地重新建立。获取该点后,动态UCS将重置为当前UCS。对于非平面面(如圆柱体的侧面),未启用此功能。getpointgetcorner
1024 (bit 10) -- 调用 、 、 、 或 时,您可能不希望距离、角度、方向、点或拐角受到 Z 方向上的正交、极坐标或 o 跟踪的影响。在调用任何这些函数之前设置此位将暂时禁用 Z 方向的正交、极坐标和 otracking。在创建二维图元(如折线、圆弧或圆)时,或者使用 AutoCAD ARRAY 命令(仅创建二维阵列)时,此功能非常有用。在仅 2D 命令中,允许使用正射 Z、极坐标 Z 或 otrack Z 输入 3D 点可能会造成混淆且容易出错。getdistgetanglegetorientgetpointgetcorner
注意:AutoLISP 的未来版本可能会使用其他控制位,因此请避免设置此处未列出的位。initget
-
关键字
-
类型:字符串
一系列关键字。
言论
支持关键字的函数是 、 、 、 、 和 。该函数是唯一不支持关键字的用户输入函数。getintgetrealgetdistgetanglegetorientgetpointgetcornergetkwordentselnentselnentselpgetstring
当用户未输入预期的输入类型(例如,指向 )时,下一个用户输入函数调用将检查关键字。如果用户输入与列表中的关键字匹配,则该函数将该关键字作为字符串结果返回。应用程序可以测试关键字并执行与每个关键字关联的操作。如果用户输入不是预期类型且与关键字不匹配,AutoCAD 会要求用户重试。位值和关键字仅适用于下一个用户输入函数调用。getpointinitget
如果设置了控制位,并且应用程序调用了该位没有意义的用户输入函数,则忽略该位。initget
如果用户输入未满足一个或多个指定条件(如在不允许零值时为零值),AutoCAD 将显示一条消息并要求用户重试。
- 功能适用控制位
-
特殊控制值仅由其有意义的函数遵循,如下表所示:getXXX
用户输入功能和适用的控制位
|
|
|
控制位值
|
功能
|
荣誉
钥匙
的话
|
不
零
(1)
|
不
零
(2)
|
不
阴性
(4)
|
不
限制
(8)
|
使用
破折号
(32)
|
getint
|
X
|
X
|
X
|
X
|
|
|
getreal
|
X
|
X
|
X
|
X
|
|
|
getdist
|
X
|
X
|
X
|
X
|
|
X
|
getangle
|
X
|
X
|
X
|
|
|
X
|
getorient
|
X
|
X
|
X
|
|
|
X
|
getpoint
|
X
|
X
|
|
|
X
|
X
|
getcorner
|
X
|
X
|
|
|
X
|
X
|
getkword
|
X
|
X
|
|
|
|
|
entsel
|
X
|
|
|
|
|
|
nentsel
|
X
|
|
|
|
|
|
nentselp
|
X
|
|
|
|
|
|
用户输入功能和适用的控制位(续)
|
|
控制位值
|
功能
|
二 维和
距离
(64)
|
任意
输入
(128)
|
直接
距离
(256)
|
UCS面
跟踪
(512)
|
禁用
Z轴跟踪
(1024)
|
getint
|
|
X
|
|
|
|
getreal
|
|
X
|
|
|
|
getdist
|
X
|
X
|
X
|
|
X
|
getangle
|
|
X
|
X
|
|
X
|
getorient
|
|
X
|
X
|
|
X
|
getpoint
|
|
X
|
X
|
X
|
X
|
getcorner
|
|
X
|
X
|
X
|
X
|
getkword
|
|
X
|
|
|
|
entsel
|
|
|
|
|
|
nentsel
|
|
|
|
|
|
nentselp
|
|
|
|
|
|
- 关键字规范
-
字符串参数根据以下规则进行解释:
- 每个关键字与以下关键字之间用一个或多个空格分隔。例如,定义三个关键字。"Width Height Depth"
- 每个关键字只能包含字母、数字和连字符 (-)。
缩写关键字有两种方法:
- 关键字的必需部分以大写字符指定,关键字的其余部分以小写字符指定。大写缩写可以是关键字中的任意位置(例如,、 或 )。"LType""eXit""toP"
- 整个关键字以大写字符指定,后跟逗号,逗号后跟所需字符(例如,)。在这种情况下,关键字字符必须包含关键字的第一个字母,这意味着这是无效的。"LTYPE,LT""EXIT,X"
两个简短的示例和 是等效的:如果用户键入 LT(大写或小写字母),则足以识别关键字。用户可以输入关键字所需部分后面的字符,前提是它们不与规范冲突。在此示例中,用户还可以输入 LTY 或 LTYP,但 L 是不够的。"LType""LTYPE,LT"
如果字符串完全以大写或小写字符显示关键字,并且不带逗号,则仅当用户输入所有关键字时,AutoCAD 才会识别关键字。
该函数提供对本地化关键字的支持。关键字字符串的以下语法允许在返回与语言无关的关键字时输入本地化关键字:initget
"local1 local2 localn _indep1 indep2 indepn"
其中 local1 到 localn 是本地化关键字,indep1 到 indepn 是与语言无关的关键字。
本地化关键字的数量必须始终与与语言无关的关键字相同,并且第一个与语言无关的关键字以下划线为前缀,如以下示例所示:
(initget "Abc Def _Ghi Jkl")
(getkword "\nEnter an option (Abc/Def): ")
输入 A 返回 Ghi,输入 _J 返回 Jkl。
|