CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

initget(AutoLISP)

2023-1-5 20:10| 发布者: admin| 查看: 582| 评论: 0|来自: AutoCAD

摘要: 建立关键字以供下一个用户输入函数调用使用

建立关键字以供下一个用户输入函数调用使用

支持的平台:视窗和 Mac OS

签名

(initget [bits] [keywords])

类型:整数

允许或不允许某些类型的用户输入的位编码。这些位可以任意组合在一起,形成一个介于 0 和 255 之间的值。如果未提供参数,则假定为零(无条件)。位值如下:

1(位 0) -- 阻止用户通过仅输入 Enter 来响应请求。

2(位 1) -- 阻止用户通过输入零来响应请求。

4(位 2) -- 阻止用户通过输入负值来响应请求。

8(位 3) -- 允许用户输入当前绘图限制之外的点。即使当前设置了 AutoCAD LIMCHECK 系统变量,此条件也适用于下一个用户输入函数。

16(位 4) -- (当前未使用。)

32(位 5) -- 绘制橡皮筋线或框时使用虚线。对于用户可以通过在绘图区域中选择位置来指定点的函数,此位值会导致橡皮筋线或框虚线而不是实线。(某些显示驱动程序使用独特的颜色而不是虚线。如果 AutoCAD 弹出窗口系统变量为 0,则 AutoCAD 将忽略此位。

64(位 6) -- 禁止向函数输入Z坐标;让应用程序确保此函数返回 2D 距离。getdist

128(位 7) -- 允许任意输入,就好像它是关键字一样,首先遵循任何其他控制位和列出的关键字。此位优先于位 0;如果设置了位 7 和 0,并且用户按 Enter 键,则返回空字符串。

256(位 8) -- 赋予直接距离输入优先于任意输入。对于外部应用程序,默认情况下,任意输入优先于直接距离输入。如果要强制 AutoCAD 将用户输入评估为直接距离输入,请设置此位。请注意,来自键盘的合法点输入始终优先于直接距离或任意输入。

512(位 9) -- 如果在调用 toor 之前设置,则当光标越过实体平面的边缘时,将建立临时 UCS。当光标移离人脸时,临时 UCS 将重置。当光标移动到不同的面上时,它会动态地重新建立。获取该点后,动态 UCS 将重置为当前 UCS。不为非平面面(如圆柱体侧面)启用此功能。getpointgetcorner

1024(位 10) -- 调用时,,,,或者,您可能不希望距离、角度、方向、点或角受到Z方向上的正交、极坐标或o跟踪的影响。在调用任何这些函数之前设置此位将暂时禁用Z方向上的正射、极点和o跟踪。这在创建二维图元(如折线、圆弧或圆)或使用“AutoCAD ARRAY ”命令(仅创建二维阵列)时非常有用。在仅 2D 命令中,允许使用正交 Z、极坐标 Z 或轨道Z 输入 3D 点可能会令人困惑且容易出错。getdistgetanglegetorientgetpointgetcorner

注意:AutoLISP 的未来版本可能会使用额外的控制位,因此请避免设置此处未列出的位。initget
关键字

类型:字符串

一系列关键字。

返回值

类型:

总是返回。nil

言论

支持关键字的功能是,,,,,,,,,,和。该函数是唯一一个不支持关键字的用户输入函数。getintgetrealgetdistgetanglegetorientgetpointgetcornergetkwordentselnentselnentselpgetstring

当用户未输入预期的输入类型(例如,指向)时,下一个用户输入函数调用将检查关键字。如果用户输入与列表中的关键字匹配,则该函数将该关键字作为字符串结果返回。应用程序可以测试关键字并执行与每个关键字关联的操作。如果用户输入不是预期类型且与关键字不匹配,AutoCAD 将要求用户重试。位值和关键字仅适用于下一个用户输入函数调用。getpointinitget

如果设置一个控制位,并且应用程序调用一个用户输入函数,而该位没有意义,则该位将被忽略。initget

如果用户输入不符合一个或多个指定条件(如不允许零值时为零值),AutoCAD 将显示一条消息并要求用户重试。

功能适用控制位

特殊控件值仅由它们有意义的函数支持,如下表所示:getXXX

用户输入功能和适用的控制位

   

控制位值

Function

Honors

key

words

No

null

(1)

No

zero

(2)

No

negative

(4)

No

limits

(8)

Uses

dashes

(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

User-input functions and applicable control bits (continued)

 

Control bits values

Function

2D

distance

(64)

Arbitrary

input

(128)

Direct

distance

(256)

UCS face

tracking

(512)

Disable

Z-tracking

(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

         
关键字规范

字符串参数根据以下规则进行解释:

  1. 每个关键字与以下关键字之间用一个或多个空格分隔。例如,定义三个关键字。"Width Height Depth"
  2. 每个关键字只能包含字母、数字和连字符 (-)。

有两种方法可以缩写关键字:

  • 关键字的必需部分以大写字符指定,关键字的其余部分以小写字符指定。大写缩写可以是关键字中的任何位置(例如,,,或)。"LType""eXit""toP"
  • 整个关键字以大写字符指定,紧跟逗号,逗号后跟必需字符(例如,)。在这种情况下,关键字字符必须包含关键字的第一个字母,这意味着该关键字无效。"LTYPE,LT""EXIT,X"

这两个简短的示例是等效的:如果用户键入LT(大写或小写字母),这足以识别关键字。用户可以输入关键字所需部分后面的字符,前提是它们不与规范冲突。在该示例中,用户也可以输入LTYLTYP,但L是不够的。"LType""LTYPE,LT"

如果字符串完全以大写小写字符显示关键字,并且没有逗号后跟必填部分,则仅当用户输入所有关键字时,AutoCAD 才能识别该关键字。

该函数提供对本地化关键字的支持。关键字字符串的以下语法允许在返回与语言无关的关键字时输入本地化关键字:initget

"local1 local2 localn _indep1 indep2 indepn"

其中local1localn是本地化关键字,indep1indepn是与语言无关的关键字。

本地化关键字的数量必须始终与与语言无关的关键字相同,并且第一个与语言无关的关键字以下划线为前缀,如以下示例所示:

(initget "Abc Def _Ghi Jkl")
(getkword "\nEnter an option (Abc/Def): ")

输入A返回 Ghi,输入 _J返回 Jkl。

例子

没有


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 13:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部