几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【讨论】AcDbDimension (http://www.dimcax.com/hust/showthread.php?t=38)

huangyhg 2005-03-15 01:22 PM

【讨论】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);
}


所有的时间均为北京时间。 现在的时间是 03:53 PM.