天气与日历 切换到窄版

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

AcDbText length

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
AcDbText length
AcDbObjectId GetTextstyleId(CString sTextstylename)

{

AcDbTextStyleTable *pTable;

AcDbObjectId textstyleId = AcDbObjectId::kNull;

Acad::ErrorStatus es = Acad::eOk;

if ((es = acdbHostApplicationServices()->workingDatabase()->getTextStyleTable(pTable, AcDb::kForRead)) == Acad::eOk){

if ((es =pTable->getAt(sTextstylename, textstyleId, Adesk::kFalse)) != Acad::eOk){

textstyleId =AcDbObjectId::kNull;

}

pTable->close();

}

return textstyleId;

}


double GetTextWidth(CString sText, CString sTextStyle, double dTextHeight)
{
AcDbObjectId idTextStyle = GetTextstyleId(sTextStyle);
AcGiTextStyle giTextStyle;
fromAcDbTextStyle(giTextStyle, idTextStyle);
giTextStyle.setTextSize(dTextHeight);

AcGePoint2d ptExt = giTextStyle.extents(sText.GetBuffer(), Adesk::kFalse, sText.GetLength(), Adesk::kFalse);
return ptExt.x;
}


OR


double GetTextWidth(AcDbObjectId idText)
{
ads_point ptLowerLeft, ptUpperRight;
ads_name ent;
struct resbuf * textent;
acdbGetAdsName(ent, idText);
textent = acdbEntGet(ent);
acedTextBox(textent, ptLowerLeft, ptUpperRight);

//acutPrintf("\nHeight: %.2f, Width: %.2f", ptUpperRight - ptLowerLeft, ptUpperRight - ptLowerLeft);
return ptUpperRight - ptLowerLeft;
}

 

 

 

 

AcDbText length
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-1 09:20 , Processed in 0.145306 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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