ObjectArx查看实体DXF信息
在cad中使用(entget(car(entsel)))命令查看实体DXF信息
在arx中使用acdbEntGet函数查看实体DXF信息()
void ZffChap5EntInfo()
{
// 提示用户选择实体
ads_name entName;
ads_point pt;
if (acedEntSel(TEXT("\n选择实体:"), entName, pt) != RTNORM)
return;
struct resbuf *rbEnt; // 保存实体数据的结果缓冲区
struct resbuf *rb; // 用于遍历rbEnt的结果缓冲区
// 从entName获得保存实体数据的结果缓冲区
rbEnt = acdbEntGet(entName);
rb = rbEnt;
while (rb != NULL)
{
switch (rb->restype)
{
case -1: // 图元名
acutPrintf(TEXT("\n图元名: %x"), rb->resval.rstring);
break;
case 0: // 图元类型
acutPrintf(TEXT("\n图元类型: %s"), rb->resval.rstring);
break;
case 8: // 图层
acutPrintf(TEXT("\n图层:%s"), rb->resval.rstring);
break;
case 10: // 圆心
acutPrintf(TEXT("\n圆心:(%.2f, %.2f, %.2f)"),
rb->resval.rpoint[X],
rb->resval.rpoint[Y],
rb->resval.rpoint[Z]);
break;
case 40: // 半径
acutPrintf(TEXT("\n半径:%.4f"), rb->resval.rreal);
break;
case 210: // 圆所在平面的法向矢量
acutPrintf(TEXT("\n平面的法向矢量:(%.2f, %.2f, %.2f)"),
rb->resval.rpoint[X],
rb->resval.rpoint[Y],
rb->resval.rpoint[Z]);
break;
default:
break;
} // switch
rb = rb->rbnext; // 切换到下一个节点
} // while
if (rbEnt != NULL)
{
acutRelRb(rbEnt);
}
}
原文链接:https://blog.csdn.net/phd17621680432/article/details/102607902