CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2023 开发者帮助

系统变量

2024-5-18 19:00| 发布者: admin| 查看: 108| 评论: 0|原作者: admin|来自: AutoCAD

系统变量

一对函数和 ),使 ObjectARX 应用程序能够检查和更改 AutoCAD 系统变量的值。这些函数使用字符串来指定变量名称(大写或小写)以及变量类型和值的(单个)结果缓冲区。在这种情况下,需要结果缓冲区,因为 AutoCAD 系统变量有多种类型:整数、实值、字符串、2D 点和 3D 点。acedGetVar()acedSetVar(

以下示例代码片段可确保后续 FILLET 命令使用至少 1 的半径。

struct resbuf rb, rb1; 
acedGetVar(_T"FILLETRAD", &rb); 
rb1.restype = RTREAL; 
rb1.resval.rreal = 1.0; 
if (rb.resval.rreal < 1.0) 
    if (acedSetVar(_T"FILLETRAD", &rb1) != RTNORM) 
        return BAD; // Setvar failed.

在此示例中,在应用程序中声明结果缓冲区时,将作为自动变量进行分配。应用程序不必像动态分配的缓冲区那样显式管理缓冲区的内存使用。

如果 AutoCAD 系统变量是字符串类型,则为字符串分配空间。应用程序负责释放此空间。您可以通过调用以下命令来执行此操作:acedGetVar()

  • acutRelRb()释放整个结果缓冲区。
  • acutDelString(),或位于 的字符串缓冲区上,如以下示例所示。acutDelBuffer()acdbFree()rb.resval.rstring
struct resbuf rb;
acedGetVar(_T"TEXTSTYLE", &rb); 
if (rb.resval.rstring != NULL) 
    // Release memory acquired for string:
    acdbFree(rb.resval.rstring);

父主题:

  1. 常规访问

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-14 08:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部