天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 86|回复: 0

arx 获取块中文字

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]获取块中文字
CString Dialog::GetTextForBlock(AcDbBlockReference *pRef, AcGePoint3d pickPoint)
{
AcDbEntity *pEnt;
CString str=_T("");
AcDbVoidPtrArray ptarr = NULL;
Acad::ErrorStatus es=pRef->explode(ptarr);
int iLen = ptarr.length();
for (int i = 0; i < iLen;i++)
{
pEnt = static_cast<AcDbEntity*>(ptarr[i]);
AcDbExtents ext;
pEnt->getGeomExtents(ext);
auto minPt = AcadUtils::ConvertTo2D(ext.minPoint());
auto maxPt = AcadUtils::ConvertTo2D(ext.maxPoint());
AcGePoint2dArray pts;
pts.append(minPt);
pts.append(AcGePoint2d(minPt.x, maxPt.y));
pts.append(maxPt);
pts.append(AcGePoint2d(maxPt.x, minPt.y));
if (XFuntion().PtInRegionInXYPlate(pickPoint, pts) && XFuntion().PtInRegionInXYPlate(pickPoint, pts))//命中了包围框
{
if (pEnt->isKindOf(AcDbText::desc()))
{
AcDbText *pText = NULL;
pText = AcDbText::cast(pEnt);
str = pText->textString();
pText->close();
return str;
}
if (pEnt->isKindOf(AcDbMText::desc()))
{
AcDbMText *pmText = NULL;
pmText = AcDbMText::cast(pEnt);
str = pmText->contents();
pmText->close();
return str;
}
if (pEnt->isKindOf(AcDbBlockReference::desc()))
{
AcDbBlockReference *pRef = AcDbBlockReference::cast(pEnt);
str=GetTextForBlock(pRef, pickPoint);
pRef->close();
}
}
pEnt->close();
}
return str;
}[/code]

 

 

 

 

arx 获取块中文字
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 15:34 , Processed in 0.166311 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表