系统变量
一对函数和 ),使 ObjectARX 应用程序能够检查和更改 AutoCAD 系统变量的值。这些函数使用字符串来指定变量名称(大写或小写)以及变量类型和值的(单个)结果缓冲区。在这种情况下,需要结果缓冲区,因为 AutoCAD 系统变量有多种类型:整数、实值、字符串、2D 点和 3D 点。acedGetVar()acedSetVar( 以下示例代码片段可确保后续 FILLET 命令使用至少 1 的半径。 struct resbuf rb, rb1; acedGetVar("FILLETRAD", &rb); rb1.restype = RTREAL; rb1.resval.rreal = 1.0; if (rb.resval.rreal < 1.0) if (acedSetVar("FILLETRAD", &rb1) != RTNORM) return BAD; // Setvar failed. 在此示例中,在应用程序中声明结果缓冲区时,将作为自动变量进行分配。应用程序不必像动态分配的缓冲区那样显式管理缓冲区的内存使用。 如果 AutoCAD 系统变量是字符串类型,则为字符串分配空间。应用程序负责释放此空间。您可以通过调用标准 C 库函数来执行此操作,如以下示例所示:acedGetVar()free() acedGetVar("TEXTSTYLE", &rb); if (rb.resval.rstring != NULL) // Release memory acquired for string: free(rb.resval.rstring); 父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-5 17:57
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.