明经通道 Visual LISP 函数  
vlax-make-safearray
 

创建 SafeArray

(vlax-make-safearray type ’(l-bound . u-bound) [’(l-bound . u-bound)...)]

一个数组最多可以定义 16 维。数组中的元素按如下方式初始化:

Numbers

0

Strings

零长度字符串。

Booleans

:vlax-false

Object

nil

Variant

未初始化 (vlax-vbEmpty)

参数

type

SafeArray 的类型。可指定如下常量:

vlax-vbInteger (2) 整数型

vlax-vbLong (3) 长整数型

vlax-vbSingle (4) 单精度浮点数

vlax-vbDouble (5) 双精度浮点数

vlax-vbString (8) 字符串

vlax-vbObject (9) 对象

vlax-vbBoolean (11) 布尔值

vlax-vbVariant (12) 变体

括号中的整数表示常量的值。在参数中最好指定常量,而不要指定常量的值。因为这些值在后续 AutoCAD 中可能会有所变化。

’(l-bound . u-bound)

某一维的上、下界。

返回值

创建的 SafeArray。

示例

创建从索引 0 开始、包含双精度数的一维数组:

_$ (setq point (vlax-make-safearray vlax-vbDouble '(0 . 3)))
#<safearray...>

使用 vlax-safearray->list 函数将 SafeArray 的内容显示为表:

_$ (vlax-safearray->list point)
(0.0 0.0 0.0 0.0)

结果说明,数组中的每个元素都被初始化为 0。

创建二维的字符串数组,其中每个维从索引 1 开始:

_$ (setq matrix (vlax-make-safearray vlax-vbString '(1 . 2) '(1 . 2) ))
#<safearray...>

参阅

vlax-make-variantvlax-safearray-fillvlax-safearray-get-dimvlax-safearray-get-elementvlax-safearray-get-l-boundvlax-safearray-get-u-boundvlax-safearray-put-elementvlax-safearray-typevlax-safearray->list 和  vlax-variant-value 函数。 关于使用这些函数的详细信息,请参见 《Visual LISP 开发人员手册》中的 使用 Safearrays

明经通道 版权所有 未经许可 不得传播

 评论