CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

相关分类

系统变量

2023-1-1 01:32| 发布者: admin| 查看: 449| 评论: 0|来自: AutoCAD

一对函数,以及),使 ObjectARX 应用程序能够检查和更改 AutoCAD 系统变量的值。这些函数使用字符串来指定变量名称(大写或小写),并使用变量类型和值的(单个)结果缓冲区。在这种情况下,需要结果缓冲区,因为 AutoCAD 系统变量有多种类型:整数、实数值、字符串、二维点和三维点。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); 

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部