- UID
- 410614
- 积分
- 61
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-3-28
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
和大家一起分享生成图层和设置线型(类型、颜色、线宽)的简单东东。
AcDbLayerTable *pLayerTable;
acdbCurDwg()->getLayerTable(pLayerTable, AcDb::kForWrite);
AcDbLayerTableRecord *pLayerTableRecord1 = new AcDbLayerTableRecord;
AcDbLayerTableRecord *pLayerTableRecord2 = new AcDbLayerTableRecord;
AcDbLayerTableRecord *pLayerTableRecord3 = new AcDbLayerTableRecord;
AcDbLayerTableRecord *pLayerTableRecord4 = new AcDbLayerTableRecord;
AcDbLayerTableRecord *pLayerTableRecord5 = new AcDbLayerTableRecord;
AcDbLayerTableRecord *pLayerTableRecord6 = new AcDbLayerTableRecord;
pLayerTableRecord1->setName("A");
pLayerTableRecord2->setName("B");
pLayerTableRecord3->setName("C");
pLayerTableRecord4->setName("D");
pLayerTableRecord5->setName("E");
pLayerTableRecord6->setName("F");
AcCmColor color;
color.setColorIndex(1);
pLayerTableRecord1->setColor(color);
pLayerTableRecord1->setLineWeight(AcDb::LineWeight::kLnWt018);//
color.setColorIndex(5);
pLayerTableRecord2->setColor(color);
pLayerTableRecord2->setLineWeight(AcDb::LineWeight::kLnWt050);
color.setColorIndex(4);
pLayerTableRecord3->setColor(color);
pLayerTableRecord3->setLineWeight(AcDb::LineWeight::kLnWt018);
color.setColorIndex(6);
pLayerTableRecord4->setColor(color);
pLayerTableRecord4->setLineWeight(AcDb::LineWeight::kLnWt018);
color.setColorIndex(3);
pLayerTableRecord5->setColor(color);
pLayerTableRecord5->setLineWeight(AcDb::LineWeight::kLnWt018);
color.setColorIndex(2);
pLayerTableRecord6->setColor(color);
pLayerTableRecord6->setLineWeight(AcDb::LineWeight::kLnWt018);
AcDbLinetypeTable *pLinetypeTbl;
AcDbObjectId DashedLineId, CenterLineId,DivideLineId;
acdbCurDwg()->getLinetypeTable(pLinetypeTbl,AcDb::kForRead);
if ((pLinetypeTbl->getAt("DASHED",DashedLineId))!=Acad::eOk);
{
pLinetypeTbl->close();
acdbCurDwg()->loadLineTypeFile("DASHED","acadiso.lin");
acdbCurDwg()->getLinetypeTable(pLinetypeTbl,AcDb::kForRead);
pLinetypeTbl->getAt("DASHED",DashedLineId);
}
if ((pLinetypeTbl->getAt("CENTER",CenterLineId))!=Acad::eOk);
{
pLinetypeTbl->close();
acdbCurDwg()->loadLineTypeFile("CENTER","acadiso.lin");
acdbCurDwg()->getLinetypeTable(pLinetypeTbl,AcDb::kForRead);
pLinetypeTbl->getAt("CENTER",CenterLineId);
}
if ((pLinetypeTbl->getAt("DIVIDE",DivideLineId))!=Acad::eOk);
{
pLinetypeTbl->close();
acdbCurDwg()->loadLineTypeFile("DIVIDE","acadiso.lin");
acdbCurDwg()->getLinetypeTable(pLinetypeTbl,AcDb::kForRead);
pLinetypeTbl->getAt("DIVIDE",DivideLineId);
}
pLinetypeTbl->close();
pLayerTableRecord1->setLinetypeObjectId(CenterLineId);
pLayerTableRecord4->setLinetypeObjectId(DashedLineId);
pLayerTableRecord5->setLinetypeObjectId(DivideLineId);
pLayerTable->add(pLayerTableRecord1);
pLayerTable->add(pLayerTableRecord2);
pLayerTable->add(pLayerTableRecord3);
pLayerTable->add(pLayerTableRecord4);
pLayerTable->add(pLayerTableRecord5);
pLayerTable->add(pLayerTableRecord6);
pLayerTableRecord1->close();
pLayerTableRecord2->close();
pLayerTableRecord3->close();
pLayerTableRecord4->close();
pLayerTableRecord5->close();
pLayerTableRecord6->close();
pLayerTable->close(); |
|