QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 1974|回复: 0
收起左侧

[原创] 【ARX 一步一步开发CAD】01-新建图层

[复制链接]
发表于 2013-12-8 19:01:47 | 显示全部楼层 |阅读模式 来自: 中国江苏南京

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

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
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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