符号表
符号表记录和字典中使用的名称必须遵循以下规则:
AutoCAD 数据库包含以下符号表(括号表示类名和用于添加条目的 AutoCAD 命令):
每个表都包含 的相应子类的对象。AcDbSymbolTableRecord 每个符号表类都提供一个函数,用于查找按名称指定的记录。函数重载形式的签名如下所示。( 代表九种符号表类类型中的任何一种。getAt()getAt()##BASE_NAME## Acad::ErrorStatus AcDb##BASE_NAME##Table::getAt(const char* pEntryName, AcDb##BASE_NAME##TableRecord*& pRecord, AcDb::OpenMode mode, bool openErasedRecord = false) const; 或 Acad::ErrorStatus AcDb##BASE_NAME##Table::getAt(const char* pEntryName, AcDbObjectId& recordId, bool getErasedRecord = false) const; 此函数的第一个版本返回指向打开的记录的指针,如果找到匹配的记录并且打开操作(使用指定的模式)成功。如果为 true,则该函数返回对象,即使该对象已被擦除。如果为 false,则该函数返回指针和 for erased 对象的错误状态。pRecordopenErasedRecordopenErasedRecordNULLeWasErased 如果找到匹配的记录,则该函数的第二个版本返回值中按名称指定的记录。如果为 true,则该函数返回匹配的对象,即使该对象已被擦除。对象未打开。getAt()AcDbObjectIdrecordIdgetErasedRecord 获取记录并打开后,您可以获取和设置不同的成员值。有关类成员函数的完整列表的特定符号表记录类,请参阅 ObjectARX 参考。 所有符号表类提供的其他重要函数是 和 函数。请参阅创建和修改图层表记录中的示例。该函数的签名是has()add()has() bool AcDb##BASE_NAME##Table::has(const char* pName) const; bool AcDb##BASE_NAME##Table::has(AcDbObjectId id) const; 如果表包含名称与 或 匹配的记录,则该函数返回 true。has()pNameid 该函数具有以下签名:add() Acad::ErrorStatus AcDb##BASE_NAME##Table::add(AcDb##BASE_NAME##TableRecord* pRecord); Acad::ErrorStatus AcDb##BASE_NAME##Table::add(AcDbObjectId& recordId, AcDb##BASE_NAME##TableRecord* pRecord); 此函数将指向的记录添加到包含表的数据库和表本身。如果添加成功且参数为 non-,则将其设置为数据库中的记录。pRecordrecordIdNULLAcDbObjectId 父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-19 06:46
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.