AcDbAttribute类
AcDbAttribute类表示AutoCAD中的ATTRIB实体。ATTRIB实体与INSERT实体(AcDbBlockReference对象)关联。
继承自
AcDbText
包含文件
dbents.h
提示
要设置所有的非AcDbAttribute特定属性如位置、文本字符串、文本高度、文本旋转、及其他。对于属性,使用从AcDbText派生的方法。
参见
AcDbObject, AcDbEntity,
AcDbBlockReference, AcDbAttributeDefinition
成员
AcDbAttribute::~AcDbAttribute
函数 ~AcDbAttribute(); 析构器。 |
||||||||
AcDbAttribute::AcDbAttribute
函数 AcDbAttribute( const AcGePoint3d&
position, const char* text, const char* tag, AcDbObjectId style =
AcDbObjectId::kNull);
此建构器使用传递的参数初始化属性对象。“`”和标签字符串的拷贝将被使用,因此调用者负责分配传递的字符串的内存。如果使用style,则style必须为一个有效的AcDbTextStyleTableRecord对象ID。 另外,域长度(field length)初始化为0,标记(flags)初始化为0(即,非常数、可见、不预设、及不可校验),以及执行一个默认的新的AcDbText对象的所有初始化(除了文本和位置)。 AcDbAttribute(); 默认建构器。域长度(field length)初始化为0,标记(flags)初始化为0(即,非常数、可见、不预设、及不可校验),标签(tag)初始化为0,另外,执行一个默认的新的AcDbText对象的所有初始化。 |
AcDbAttribute::setAttributeFromBlock
函数 Acad::ErrorStatus setAttributeFromBlock( const
AcDbAttributeDefinition * pAttdef, const
AcGeMatrix3d& blkXform);
使用pAttdef作为属性文本、实体和开始几何体的属性的模板(换言之,它从属性定义将此信息复制至属性中)。然后应用blkXform变换位置、比例和倾斜角,与INSERT命令执行结果相同。 最终结果与使用INSERT命令相同,如果成功返回Acad::eOk。 Acad::ErrorStatus setAttributeFromBlock( const
AcGeMatrix3d& blkXform);
应用blkXform至属性的几何的数据以变换位置、比例和倾斜角,与INSERT命令执行结果相同。属性的文本和实体属性数据不改变。 如果成功返回Acad::eOk。 |
||||||
AcDbAttribute::setFieldLength
函数 Acad::ErrorStatus setFieldLength( Adesk::UInt16 length);
设置length为属性的域长度值。这个值当前在AutoCAD中不使用。 域长度值对应DXF群组码73。 如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。 |
||||||
AcDbAttribute::setInvisible
函数 Acad::ErrorStatus setInvisible( Adesk::Boolean
invisible);
此函数设置属性的可见标记。如果invisible为Adesk::kTrue,则属性对象设为不可见。如果invisible为Adesk::kFalse,则属性对象设为可见。 此函数对应DXF群组码70中的位1(即,如果位1被设置,则属性不可见)。 如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。 |
||||||
AcDbAttribute::setTag 函数 Acad::ErrorStatus setTag( const char* newTag);
此函数设置属性的标签为newTag字符串的一份拷贝。如果炸开拥有属性的AcDbBlockReference,则标签字符串是标识符,因此属性转换回作为部分原始参考的块定义的AcDbAttributeDefinition。 标签字符串对应DXF群组码2。 如果成功返回Acad::eOk,如果传递的数据非法则返回Acad::eInvalidInput。 |
AcDbAttribute::getClassID
函数 virtual
Acad::ErrorStatus getClassID( CLSID* pClsid) const;
Description to come。 |
AcDbAttribute::fieldLength
函数 Adesk::UInt16 fieldLength() const; 返回属性的域长度值。这个值不能当前在AutoCAD中使用。 域长度值对应DXF群组码73。 |
AcDbAttribute::isConstant
函数 Adesk::Boolean isConstant() const; 如果属性对象设为常数则返回Adesk::kTrue。 此函数对应DXF群组码70中的位2(即,如果位2被设置,则属性将使用预设置值并不提示用户输入)。 注意:AutoCAD自身从不创建一个常AcDbAttribute对象。AutoCAD 在被参考的AcDbBlockTableRecord中基于AcDbAttributeDefinition对每个AcDbBlockReference创建AcDbAttribute对象。如果遇到一个常AcDbAttributeDefinition,则AutoCAD使用AcDbAttributeDefinition自身代替创建一个匹配的AcDbAttribute。 |
AcDbAttribute::isInvisible
函数 Adesk::Boolean isInvisible() const; 如果属性设为不可见则返回Adesk::kTrue。 此函数对应DXF群组码70中的位1(即,如果位1被设置,则属性不可见)。 |
AcDbAttribute::isPreset
函数 Adesk::Boolean isPreset() const; 如果属性对象有一个预设值且不提示用户输入,则返回Adesk::kTrue。 此函数对应DXF群组码70中的位4(即,如果位4被设置,则属性将使用预设值且不提示用户输入)。 |
AcDbAttribute::isVerifiable
函数 Adesk::Boolean isVerifiable() const; 如果属性对象设为校验用户输入,则返回Adesk::kTrue。 此函数对应DXF群组码70中的位3(即,如果位3被设置,则属性将要求用户输入校验)。 |
AcDbAttribute::tag 函数 char * tag() const; 此函数返回属性的一个标签字符串的指针。 此函数设置属性的标签为newTag字符串的一份拷贝。如果炸开拥有属性的AcDbBlockReference,则标签字符串是标识符,因此属性转换回作为部分原始参考的块定义的AcDbAttributeDefinition。 此函数的调用者负责释放返回的字符串使用的内存。可使用acutDelString()函数实现这个功能。 标签字符串对应DXF群组码2。 |