CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2021 开发者帮助

符号表访问

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

符号表访问

该函数按顺序扫描符号表条目,并检索特定条目。表名称由字符串指定。有效名称为“”、“”、”这两个函数都以结果缓冲区列表的形式返回条目,其中包含 DXF 组代码。acdbTblNext()acdbTblSearch()LAYERLTYPEVIEWSTYLEBLOCKUCSVPORTAPPID

第一次调用返回指定表中的第一个条目。指定同一表的后续调用将返回连续的条目,除非 () 的第二个参数为非零,在这种情况下,将再次返回第一个条目。acdbTblNext()acdbTblNext()rewindacdbTblNext()

在下面的示例中,该函数检索当前图形中的第一个块(如果有),并调用该函数以列表格式显示该块的内容。getblock()printdxf()

void getblock() 
{ 
    struct resbuf *bl, *rb; 
    bl = acdbTblNext("BLOCK", 1); // First entry  
    acutPrintf("\nResults from getblock():\n"); 
// Print items in the list as "assoc" items.
    for (rb = bl; rb != NULL; rb = rb->rbnext) 
        printdxf(rb); 
    // Release the acdbTblNext list.
    acutRelRb(bl); 
} 

从 BLOCK 表中检索到的条目包含一个 -2 组,该组包含块定义中第一个实体的名称。在具有名为 BOX 的单个块的图形中,对 的调用将打印以下内容(名称值因会话而异):getblock()

getblock() 的结果:

(0 .“块”)

(2 .“盒子”)

(70 . 0)

(10 9.0 2.0 0.0)

(-2 . <实体名称:40000126>)

的第一个参数是命名表的字符串,但第二个参数是命名表中特定符号的字符串。如果找到该符号,则返回其数据。此函数具有第三个参数 ,可用于协调 的操作。如果为零,则调用对 没有影响,但如果为非零,则下一个调用返回 找到的条目后面的表条目。acdbTblSearch()acdbTblSearch()setnextacdbTblNext()setnextacdbTblSearch()acdbTblNext()setnextacdbTblNext()acdbTblSearch()

该选项在处理 VPORT 符号表时特别有用,因为特定视口配置中的所有视口都具有相同的名称(例如 *ACTIVE)。setnext

请记住,如果在 TILEMODE 关闭时访问 VPORT 符号表,则在重新打开 TILEMODE 之前,更改不会产生任何可见效果。(TILEMODE 可通过 SETVAR 命令或直接输入其名称来设置。不要将 VPORT 符号表与视口实体混淆。

若要在名为 4VIEW 的配置中查找和处理每个视口,可以使用以下代码:

struct resbuf *v, *rb; 
v = acdbTblSearch("VPORT", "4VIEW", 1); 
while (v != NULL} { 
    for (rb = v; rb != NULL; rb = rb->rbnext) 
        if (rb->restype == 2) 
            if (strcmp(rb->resval.rstring, "4VIEW") == 0) { 
                .// Process the VPORT entry  
                . 
                . 
                acutRelRb(v); 
 		// Get the next table entry.
                v = acdbTblNext("VPORT", 0); 
            } else { 
                acutRelRb(v); 
                v = NULL; // Break out of the while loop.
                break; // Break out of the for loop.
            } 
} 


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 13:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部