ObjectARX 获取CAD尺寸 代码案例
以下是一个使用 ObjectARX 获取 CAD 尺寸的示例代码:
// 获取选择对象的尺寸
void getSelectedDimensions()
{
AcDbObjectIdArray objIds;
if (acedSSGet(NULL, NULL, NULL, NULL, objIds) == RTNORM && objIds.length() > 0)
{
AcDbEntity* pEnt = NULL;
AcDbDimension* pDim = NULL;
for (int i = 0; i < objIds.length(); ++i)
{
if (acdbOpenAcDbEntity(pEnt, objIds[i], AcDb::kForRead) == Acad::eOk)
{
pDim = AcDbDimension::cast(pEnt);
if (pDim != NULL)
{
AcGePoint3d pt1, pt2;
pDim->getDimensionLinePoints(pt1, pt2);
double dimValue = pDim->measurement();
acutPrintf(_T("Dimension value = %f\n"), dimValue);
}
pEnt->close();
}
}
}
}
在上面的代码中,我们首先使用 acedSSGet 函数选择一个或多个对象,然后对每个对象进行迭代。如果对象是一个尺寸,则获取其测量值并输出到控制台。
要使用此代码,请将其添加到 ObjectARX 项目中的任何函数或命令中。然后在 AutoCAD 中运行该命令并选择一个或多个尺寸对象。该命令将输出每个尺寸的测量值
原文地址: https://www.cveoy.top/t/topic/ePam 著作权归作者所有。请勿转载和采集!