新手求教:怎样设置线宽和字体?
请问怎样设置线的宽度,如设线宽为0.7毫米?此外,怎样设置字体和字号,如设置字体为"宋体",字号为500?
请各位多多指教!!!
新手再问:怎样将文本属性“对正”由“左”改为“中间以及标题栏编制
按照版主的指教,我用如下程序在屏幕上显示了文本“审核”,我选中该文本,查得其属性如下:
样式:机械制图
对正:左
高度:2.5
宽度比例:1
接着我在程序中增加ptxt->setHeight(10);语句改变了文本高度。
现在,我想知道怎样将属性“对正”的“左”改为“中间”,即文本的
中心点为插入点(center)?
AcGePoint3d center(9.0,3.0,0.0);
AcDbTextStyleTable *pTextStyleTable;
acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pTextStyleTable, AcDb::kForWrite);
AcDbTextStyleTableRecord *pTextStyleTableRecord =
new AcDbTextStyleTableRecord;
pTextStyleTableRecord->setName("机械制图");
pTextStyleTableRecord->setFileName("gbeitc.shx");
pTextStyleTableRecord->setBigFontFileName("gbcbig.shx");
AcDbObjectId Id;
pTextStyleTable->add(Id,pTextStyleTableRecord);
pTextStyleTable->close();
pTextStyleTableRecord->close();
CString ltext="审核";
AcDbObjectId txtId;
AcDbText *ptxt= new AcDbText(center,ltext);
ptxt->setTextStyle(Id);
pBlockTableRecord->appendAcDbEntity(txtId, ptxt);
pBlockTableRecord->close();
pLine->close();
ptxt->close();
另外,我想问一下"gbeitc.shx"是什么意思,ARX中哪地方对这种样式进行了说明或定义?
如果有可能,哪位能否为我提供一个制作标题栏的完整程序,包括标题栏中字体样式的设定等。
文本对齐
Acad::ErrorStatussetHorizontalMode(
AcDb::TextHorzMode hmode);
hMode Input horizontal mode for the text
This function sets hMode to be the horizontal mode of the text.
The allowable values for hMode are:
AcDb::kTextLeft
AcDb::kTextCenter
AcDb::kTextRight
AcDb::kTextAlign
AcDb::kTextMid
AcDb::kTextFit
Returns Acad::eOk if successful or Acad::eInvalidInput if the data passed in is not acceptable.
“gbeitc.shx”是autoCAD自带的字体,英文斜体。
线宽
例如:pEnt->setLineWeight(AcDb::kLnWt040);//设置线宽为0.4mm
线宽:实体的线宽用AcDb::LineWeight牧举表示。用户给的值必须是牧举中的值。
下列函数用于实体的线宽设置和查询:
virtual Acad::ErrorStatus setLineWeight(AcDb::LineWeight lineweight);
AcDb::LineWeight lineWeight() const;
线宽的牧举定义:
enum AcDb::LineWeight {
kLnWt000 = 0,
kLnWt005 = 5,
kLnWt009 = 9,
kLnWt013 =13,
kLnWt015 =15,
kLnWt018 =18,
kLnWt020 =20,
kLnWt025 =25,
kLnWt030 =30,
kLnWt035 =35,
kLnWt040 =40,
kLnWt050 =50,
kLnWt053 =53,
kLnWt060 =60,
kLnWt070 =70,
kLnWt080 =80,
kLnWt090 =90,
kLnWt100 = 100,
kLnWt106 = 106,
kLnWt120 = 120,
kLnWt140 = 140,
kLnWt158 = 158,
kLnWt200 = 200,
kLnWt211 = 211,
kLnWtByLayer = -1,
kLnWtByBlock = -2,
kLnWtByLwDefault= -3};
机械制图国标字体的设置
机械制图国标字体的设置。建议不要使用TrueType字体,使用shx
程序如下:
AcDbObjectId hz()
{
AcDbTextStyleTable *pTextStyleTable;
acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pTextStyleTable, AcDb::kForWrite);
AcDbTextStyleTableRecord *pTextStyleTableRecord =
new AcDbTextStyleTableRecord;
pTextStyleTableRecord->setName("机械制图");
pTextStyleTableRecord->setFileName("gbeitc.shx");
pTextStyleTableRecord->setBigFontFileName("gbcbig.shx");
AcDbObjectId Id;
pTextStyleTable->add(Id,pTextStyleTableRecord);
pTextStyleTable->close();
pTextStyleTableRecord->close();
return Id;
}
谢谢版主!!!
[求助]补问:文本样式怎么不能恢复
补问:在屏幕上显示了文本“审核”后,我选中该文本,在属性列表中选中“样式”
,然后在其下拉列表中选中“standard”,文本“审核”变为两个问号,当我再
将样式属性由“standard”改回“机械制图”时,仍然显示的是两个问号,我不知
问题出在哪里?而且,当我重新编译源程序,然后在cad中再装载该动态链接库
时,仍旧显示的是问号。
谢谢各位给我指点指点!
应该不是这样。
我回去再重新试试,有什么新问题再来向版主请教,谢谢!
页:
[1]
2