AutoLISP 和 C 中的参数列表
许多内置的 AutoLISP 函数接受任意数量的参数。这对于 LISP 环境来说是很自然的,但是要求 ObjectARX 库中每个可比函数都使用可变长度的参数列表会带来不必要的复杂性。为了避免这个问题,对库应用了一个简单的规则:一个 ObjectARX 函数是 AutoLISP 函数的模拟,它接受 AutoLISP 函数采用的所有参数。如果参数在 AutoLISP 中是可选的,则在 ObjectARX 库中可以传递一个特殊值(通常是空指针、0 或 1)来指示不需要该选项。 一些 ObjectARX 库函数是此规则的例外。该函数类似于标准的 C 库函数。与标准版本一样,它被实现为可变函数;也就是说,它采用可变长度的参数列表。AutoLISP 函数不仅接受各种类型的可变数量的参数,而且还接受专门为 AutoCAD 定义的类型,例如点和选择集。此外,AutoLISP 函数还有一个用于检索扩展数据的可选参数。在 ObjectARX 中,该函数没有相应的参数。取而代之的是,有一个专门用于检索扩展数据的附加函数 。acutPrintf()printf()commandentgetacdbEntGet()acdbEntGetX() |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-28 16:31
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.