ObjectARX创建带文字的线型实例代码
AcDbLinetypeTable* pLinetypeTable=NULL;
Acad::ErrorStatus es = acdbHostApplicationServices()->workingDatabase()->getLinetypeTable(pLinetypeTable,AcDb::kForWrite);
if (Acad::eOk != es)
{
return;
}
AcDbObjectId txtStyleId=acdbHostApplicationServices()->workingDatabase()->textstyle();
AcDbLinetypeTableRecord *pLinetypeTableRec=new AcDbLinetypeTableRecord;
//设置线型名称注意,命名规范
pLinetypeTableRec->setName(L"YJV10X5");
//pLinetypeTableRec->setAsciiDescription(_T("YJV10X5 ____YJV10*5 ____"));
//线型说明文字高版本建议用setComments
pLinetypeTableRec->setComments(_T("YJV10X5 ____YJV10*5 ____"));
//设置Dash短划线数量
pLinetypeTableRec->setNumDashes(3);
//设置短划线的长度,正值为实线,负值为空格,0是点
pLinetypeTableRec->setDashLengthAt(0,1.25);
pLinetypeTableRec->setDashLengthAt(1,-1.75);
//设置Shape或Text样式Id
pLinetypeTableRec->setShapeStyleAt(1,txtStyleId);
//比例,文字高度
pLinetypeTableRec->setShapeScaleAt(1,0.25);
//设置文字原点偏移位置
pLinetypeTableRec->setShapeOffsetAt(1,AcGeVector2d(-1.55,-0.125));
//设置文字索引位置和内容,索引≥0
pLinetypeTableRec->setTextAt(1,_T("YJV10*5"));
pLinetypeTableRec->setDashLengthAt(2,0.25);
//设置自动缩放比例
pLinetypeTableRec->setIsScaledToFit(0);
//设置图案长度一般等于dashLength实际距离之和

本文介绍如何使用ObjectARX创建带文字的线型,详细解析线型中字符描述符的格式,包括比例、旋转、X偏移和Y偏移,并解释了文字在图案中的显示方式及与文字样式的关系。

819

被折叠的 条评论
为什么被折叠?



