马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
//打开图层表,打开方式为只写. A% ~: p, [6 i
AcDbLayerTable * pLayerTable;. L4 B; _- |8 v3 H
acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pLayerTable,AcDb::kForWrite); //初始化层表记录对象,并设定图层名称“NewLayer”
2 t+ x8 V" [- l6 u0 M5 k) a7 `AcDbLayerTableRecord * pLayerTableRecord = new AcDbLayerTableRecord;* H0 {3 S) K; m' P+ c
pLayerTableRecord->setName(L”NewLayer”); //图层的其他属性(例如颜色、线形等)都用默认值
3 Y) N2 }& S& P//将新建的图层表记录添加到图层表中,并将图层表记录的ID
3 p0 e! r/ w& x# l" q7 D5 U2 P//保存到pLayerId中,作为函数的返回值3 `% ~: c& _ w5 R, w3 X [: Q
AcCmColor color; // AcCmColor是ACAD颜色管理类
6 K! W: J, _8 ?' Ocolor.setColorIndex(1); //红色
# N( V& B# A5 q# i( b(color.setRGB (0,0,0)
4 [) H$ F* u/ dpLayerTableRecord->setColor(color);( J o0 x% u; T0 ^
AcDbObjectId pLayerId;! P3 r, h" y' [% C3 T( C
pLayerTable->add(pLayerId,pLayerTableRecord);, H0 U" S5 W+ G6 l7 h# `
pLayerTable->close();
9 p6 e' B. [! vpLayerTableRecord->close(); 示例:创建两个图层:+ a5 C# b1 X/ B! o! a5 _
//打开图层表,打开方式为只写
( _* N" Q& a! _, W, [AcDbLayerTable * pLayerTable;
% Y9 t V$ T0 S9 ^; u+ uAcDbLayerTableRecord * pLayerTableRecord ;4 M+ u" y4 g& _' p2 C6 {. B
AcCmColor color;// AcCmColor是ACAD颜色管理类( \4 @) `" Z( F
AcDbObjectId pLayerId;/ J, @" u& V; c8 v7 `. L' r
acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pLayerTable,AcDb::kForWrite);
' p; o/ x m9 V5 _+ W//初始化层表记录对象,并设定图层名称“结-1”5 N, N- m5 k! \7 S5 C: i# ~
pLayerTableRecord = new AcDbLayerTableRecord;! @# ~3 F; R M6 G9 e- @
pLayerTableRecord->setName(_T(“结-1″));
0 z& s0 h7 {- X) k7 i u( d+ ^color.setColorIndex(5);* I* C# l" q3 J+ S- z- i
pLayerTableRecord->setColor(color);, c- ~/ P' I* }0 @
pLayerTable->add(pLayerId,pLayerTableRecord);% |! J# t4 {7 V, H
pLayerTableRecord->close();
( A( ^8 ~: {' c4 g7 q' O# h+ \//设定图层名称“结-2”9 j: e3 o0 N% j; n: J4 H
pLayerTableRecord = new AcDbLayerTableRecord;
+ y; t, C; L" T* ?9 p2 tpLayerTableRecord->setName(_T(“结-2″));
3 D5 y4 F. S6 m* J% N- wcolor.setColorIndex(1);
" G: d p% @# zpLayerTableRecord->setColor(color);: A) |- ^6 E W. Q" a, o! t+ w7 J
pLayerTable->add(pLayerId,pLayerTableRecord);
# v! Z/ n8 [/ t* B- U' {pLayerTableRecord->close();
6 T A, `7 h3 k ?: a: MpLayerTable->close(); 8 `/ ^6 j7 E" X$ j9 ?/ \
参考:http://www.colinchou.com/archives/236
+ e) _9 S4 h/ ]3 W3 A' d |