|
超级版主
注册日期: 04-03
帖子: 18592
精华: 36
现金: 249466 标准币
资产: 1080358888 标准币
|
【讨论】AcDbDimension
void
ArxDbgUiTdcDbObjectBase::display(AcDbDimension* dim)
{
CString str;
ASSERT(dim != NULL);
addSeperatorLine(_T("AcDbDimension"));
ArxDbgUtils::symbolIdToName(dim->dimensionStyle(), str);
addToDataList(_T("Dimstyle"), str);
addToDataList(_T("Text Position"), ArxDbgUtils::ptToStr(dim->textPosition(), str));
addToDataList(_T("Is Def Position"), ArxDbgUtils::booleanToStr(dim->isUsingDefaultTextPosition(), str));
ArxDbgUtils::symbolIdToName(dim->dimBlockId(), str);
addToDataList(_T("Block Name"), str);
addToDataList(_T("Block Insert Pt"), ArxDbgUtils::ptToStr(dim->dimBlockPosition(), str));
char* tmpStr = dim->dimensionText();
addToDataList(_T("Dimtext"), tmpStr, true);
acutDelString(tmpStr);
addToDataList(_T("Text Attachment"), ArxDbgUtils::mtextAttachmentTypeToStr(dim->textAttachment(), str));
addToDataList(_T("Text Line Spacing Style"), ArxDbgUtils::lineSpacingTypeToStr(dim->textLineSpacingStyle(), str));
addToDataList(_T("Text Line Spacing Factor"), ArxDbgUtils::doubleToStr(dim->textLineSpacingFactor(), str));
addToDataList(_T("Text Rotation"), ArxDbgUtils::angleToStr(dim->textRotation(), str));
addToDataList(_T("Horiz Rotation"), ArxDbgUtils::angleToStr(dim->horizontalRotation(), str));
addToDataList(_T("Elevation"), ArxDbgUtils::doubleToStr(dim->elevation(), str));
addToDataList(_T("Normal"), ArxDbgUtils::vectorToStr(dim->normal(), str));
// dipatch appropriate display routine
AcDb2LineAngularDimension* dim2Line;
AcDb3PointAngularDimension* dim3Pt;
AcDbDiametricDimension* dimDiam;
AcDbAlignedDimension* dimAligned; AcDbOrdinateDimension* dimOrdinate;
AcDbRadialDimension* dimRadial;
AcDbRotatedDimension* dimRotated;
if ((dimAligned = AcDbAlignedDimension::cast(dim)) != NULL)
display(dimAligned);
else if ((dim3Pt = AcDb3PointAngularDimension::cast(dim)) != NULL)
display(dim3Pt);
else if ((dim2Line = AcDb2LineAngularDimension::cast(dim)) != NULL)
display(dim2Line);
else if ((dimDiam = AcDbDiametricDimension::cast(dim)) != NULL)
display(dimDiam);
else if ((dimRadial = AcDbRadialDimension::cast(dim)) != NULL)
display(dimRadial);
else if ((dimRotated = AcDbRotatedDimension::cast(dim)) != NULL)
display(dimRotated);
else if ((dimOrdinate = AcDbOrdinateDimension::cast(dim)) != NULL)
display(dimOrdinate);
}
|