每个符号表都有一个相应的迭代器,您可以使用函数创建该迭代器。AcDb##BASE_NAME##Table::newIterator() Acad::ErrorStatus AcDb##BASE_NAME##Table::newIterator( AcDb##BASE_NAME##TableIterator*& pIterator, bool atBeginning = Adesk::kTrue, bool skipErased = Adesk::kTrue) const; 该函数创建一个可用于单步执行表内容的对象,并设置为指向迭代器对象。如果为 true,迭代器从表的开头开始;如果为 false,则从表的末尾开始。如果参数为真,则迭代器最初位于第一个(或最后一个)未擦除的记录;如果为 false,则将其定位在第一条(或最后一条)记录中,无论它是否已被擦除。有关可用于每个迭代器类的函数的说明,请参阅ObjectARX 参考。newIterator() pIteratoratBeginningskipErased 创建新的迭代器时,您还负责删除它。在删除符号表构造的所有迭代器之前,不应关闭该表。 除了符号表之外,块表记录还有一个迭代器,用于对其拥有的实体进行操作。Theclass 返回一个类的对象当您要求它提供新的迭代器时。此迭代器使您能够单步执行块表记录中包含的实体并查找特定实体。AcDbBlockTableRecordAcDbBlockTableRecordIterator 注意:使用后必须删除迭代器。任何未删除的运算符都将在数据库关闭时导致断言。传递对指针的引用,或实现自己的方法。 acdbFree()delete()
|
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:25
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.