📄 cad世界__autocad vba初级教程 (第八课图层操作).htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://old.icad.com.cn/html/2005-5-30/2005530154133.asp -->
<HTML><HEAD><TITLE>CAD世界__Autocad VBA初级教程 (第八课:图层操作)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
BACKGROUND-IMAGE: url(image/pagebg.gif)
}
.style1 {
FONT-WEIGHT: bold; COLOR: #ff0066
}
.style2 {
FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Times New Roman, Times, serif, "黑体"
}
.style3 {
COLOR: #336699
}
.style4 {
COLOR: #333333
}
.style6 {
COLOR: #f76c8c
}
.style15 {
COLOR: #ff0033
}
.style16 {
FONT-WEIGHT: bold; COLOR: #ff0000
}
</STYLE>
<SCRIPT language=JavaScript type=text/JavaScript>
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</SCRIPT>
<LINK href="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/main_c1.css" rel=stylesheet>
<META content="MSHTML 6.00.2900.2995" name=GENERATOR></HEAD>
<BODY leftMargin=0 rightMargin=0>
<DIV align=center>
<SCRIPT language=JavaScript
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/headadA.js"></SCRIPT>
<TABLE height=17 width=800 align=center bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD>
<SCRIPT language=JavaScript
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/headmenuA.js"></SCRIPT>
</TD></TR></TBODY></TABLE><!--以上为导航菜单-->
<TABLE width=800 align=center bgColor=#ffffff>
<TBODY>
<TR>
<TD width=6>
<TABLE width=1 bgColor=#999999>
<TBODY></TBODY></TABLE></TD><!--左侧通栏开始-->
<TD vAlign=top width=174>
<TABLE width=140 align=left><!--搜索-->
<TBODY>
<TR>
<TD width="100%">
<TABLE height=40 cellSpacing=0 cellPadding=3 width="100%"
align=center>
<FORM action=../../srcsearch.asp method=post>
<TBODY>
<TR>
<TD><IMG height=20
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/mu_search_red.gif"
width=159></TD></TR>
<TR>
<TD align=middle colSpan=2><INPUT size=14 name=keyword> <INPUT type=submit value=搜索 name=submit> <INPUT type=hidden
value=all name=datesearch> <INPUT type=hidden value=2
name=AreaSearch> </TD></TR></FORM></TBODY></TABLE></TD></TR><!--精品导读开始-->
<TR>
<TD vAlign=top width=157 bgColor=#ffffff><IMG height=20
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/leftmenu2_01_red.gif"
width=159>
<TABLE width="100%" align=left>
<TBODY>
<TR>
<TD align=left>
<SCRIPT language=JavaScript
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/class2.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR><!--热点新闻结束--><!--论坛热门开始-->
<TR>
<TD vAlign=top width=157 bgColor=#ffffff><IMG height=20
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/leftmenu2_02_red.gif"
width=160>
<TABLE width="100%" align=left>
<TBODY>
<TR>
<TD align=left>
<SCRIPT language=JavaScript
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/lttop6.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR><!--论坛热门结束--><!--投稿-->
<TR>
<TD vAlign=top width=157 bgColor=#ffffff><IMG height=20
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/mu_mail_red.gif"
width=160>
<TABLE>
<TBODY>
<TR>
<TD vAlign=top align=left>
<SCRIPT language=JavaScript
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/tougaoA.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR><!--投稿结束--></TBODY></TABLE></TD><!--左侧通栏结束-->
<TD width=1
background="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/lbg1.gif"></TD><!--中间通栏开始-->
<TD vAlign=top width=660><!-- <table width="760" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="650" height="500" valign="top">-->
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD align=left>当前位置:ICAD >> 数字化设计 >> CAD >>
正文</TD></TR></TBODY></TABLE><BR>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD align=middle bgColor=#eeeeee height=40><FONT
style="FONT-SIZE: 16px"><B>Autocad VBA初级教程 (第八课:图层操作)</B><IMG
height=12 src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/zi.jpg"
width=15></FONT></TD></TR>
<TR>
<TD align=right>作者:普天同庆 | 阅读次数:2153 <FONT color=#999999>转自:<FONT
color=#cc0000>CAD世界网-论坛</FONT>
时间:2005年5月30日15:41</FONT></TD></TR></TBODY></TABLE><BR>
<TABLE cellPadding=5 width=600 border=0>
<TBODY>
<TR>
<TD class=c align=left><FONT id=zoom style="FONT-SIZE: 14px"><FONT
size=3></FONT>
<P>先简单介绍两条命令:</P>
<P>1、这条语句可以建立图层:<BR>ThisDrawing.Layers.Add("新建图层")<BR>在括号中填写图层的名称。</P>
<P>2、设置为当前的图层<BR>ThisDrawing.ActiveLayer=图层对象<BR>注意,等号右边的变量不能用图层名称,必须使用一个有效的图层变量</P>
<P>以下一些属性在图层比较常用:<BR>LayerOn 打开关闭<BR>Freeze 冻结<BR>Lock锁定<BR>Color
颜色<BR>Linetype 线型</P>
<P><BR>看一个例题:<BR>1、先在已有的图层中寻找一个名为“新建图层”的图层<BR>2、如果找到这个图层,显示该图层的信息,并提示用户是否需要设置为当前图层,如果用户确认,则设置为当前图层。<BR>3、如果图层没有找到,新建一个名为“新建图层”的图层,设置为黄色,HIDDEN线型,并把这个图层设置为当前图层</P>
<P>Sub mylay()</P>
<P>Dim lay0 As AcadLayer '定义作为图层的变量<BR>Dim lay1 As AcadLayer</P>
<P>findlay = 0 '寻找图层的结果的变量,0没有找到,1找到</P>
<P>For Each lay0 In ThisDrawing.Layers '在所有的图层中进行循环</P>
<P> If lay0.Name = "新建图层" Then '如果找到图层名<BR>
findlay = 1 '把变量改为1标志着图层已经找到<BR> msgstr =
lay0.Name + "已经存在" + vbCrLf<BR> msgstr = msgstr +
"图层状态:" + IIf(lay0.LayerOn = True, "打开", "关闭") +
vbCrLf<BR> msgstr = msgstr + "图层" +
IIf(lay0.Freeze = True, "已经", "没有") + "冻结" +
vbCrLf<BR> msgstr = msgstr + "图层" + IIf(lay0.Lock
= True, "已经", "没有") + "锁定" + vbCrLf<BR> msgstr =
msgstr + "图层颜色号:" + CStr(lay0.Color) + vbCrLf<BR>
msgstr = msgstr + "图层线型:" + lay0.Linetype +
vbCrLf<BR> msgstr = msgstr + "图层线宽:" +
CStr(lay0.Lineweight) + vbCrLf<BR> msgstr = msgstr
+ "打印开关" + IIf(lay0.Plottable = False, "关闭", "打开") + vbCrLf +
vbCrLf<BR> msgstr = msgstr +
"是否设置为当前图层?"<BR> If MsgBox(msgstr, 1) = 1 Then
'如果用户点击确定<BR> If Not
lay0.LayerOn Then lay0.LayerOn = True
'打开<BR> ThisDrawing.ActiveLayer
= lay0 '把当前图层设为已经存在的图层<BR> End
If<BR> Exit For '结束寻找<BR> End If<BR>Next
lay0</P>
<P>If findlay = 0 Then '没有找到图层<BR> Set lay1 =
ThisDrawing.Layers.Add("新建图层") '增加一个名为“临时图层”的图层<BR> lay1.Color
= 2 '图层设置为黄色<BR> <BR> ltfind = 0
'找到线型的标志,0没有找到,1找到<BR> For Each entry In ThisDrawing.Linetypes
'在现有的线型中进行循环<BR> If StrComp(entry.Name, "HIDDEN")
= 0 Then '如果线型名为"HIDDEN"<BR> ltfind =
1 '标志为已找到线型<BR> Exit For
'退出循环<BR> End If<BR> Next entry '结束循环</P>
<P> If ltfind = 0 Then '没有找到线型<BR>
ThisDrawing.Linetypes.Load "HIDDEN", "acadiso.lin" '加载线型<BR>
End If<BR> lay1.Linetype = "HIDDEN" '设置线型</P>
<P> ThisDrawing.ActiveLayer = lay1 '将当前图层设置为新建图层<BR>End If</P>
<P>End Sub</P>
<P>在寻找图时时我们用到for each……next 语句<BR>它的语法是这样的:<BR>For Each 变量 In
数组或集合对象<BR>……<BR>exit for <BR>……<BR>next
变量<BR>它的作用是在数组或集合对象中进行循环,每循环一次,变量就成为数组或集合对象中的一个元素。本例在所有的图层对象中进行循环,每循环一次layo变量就代表一个图层<BR>在循环体中遇到exit
for 语句则退出循环,如果没有 exit for,循环将在所有的元素都操作一遍后结束。</P>
<P>If lay0.Name = "新建图层" Then<BR>lay0.name代表这处图层的图层名</P>
<P>IIf(lay0.LayerOn = True, "打开",
"关闭")<BR>这是一个简单判断语句,语法如下:<BR>iif(判断表达式,返回值1,返回值2)<BR>当判断表达式成立,函数值=返回值1,如果表达式不成立,函数值=2</P>
<P>MsgBox(msgstr, 1)
<BR>Mgbox显示一个对话框,第一个参数是对话框显示的内容<BR>第二个参数可以控制对话框上的按钮。<BR>0
只有确认按钮<BR>1 确认、取消<BR>2 终止、重试、忽略<BR>3 是、否、取消<BR>4
是、否<BR>MsgBox获得值如下:<BR>确认:1<BR>取消:2<BR>终止:3<BR>重试:4<BR>忽略:5<BR>是:6<BR>否7<BR>初学者不需要死记硬背,能有所了解就行了</P>
<P>ACAD图层中最麻烦的就是线型问题了,本例先寻找一个HIDDEN线型,如果找不到就加载这个线型,用这条语句:<BR>ThisDrawing.Linetypes.Load
"HIDDEN", "acadiso.lin"
<BR>ThisDrawing.Linetypes.Load后需要两个参数,一个是线型的名称,另外一个是线型文件的名称。<BR></P>
<P><STRONG>其他课程回顾:</STRONG></P>
<P><A
href="http://www.icad.com.cn/html/2005-4-25/2005425163833.asp"><FONT
color=#666666>Autocad VBA初级教程 (第一课:入门)</FONT></A></P>
<P><A
href="http://www.icad.com.cn/html/2005-4-25/2005425163954.asp"><FONT
color=#666666>Autocad VBA初级教程 (第二课 编程基础)</FONT></A></P>
<P><A
href="http://www.icad.com.cn/html/2005-4-26/2005426112553.asp"><FONT
color=#666666>Autocad VBA初级教程 (第三课 编程基础二)</FONT></A></P>
<P><A
href="http://www.icad.com.cn/html/2005-4-26/2005426112638.asp"><FONT
color=#666666>Autocad VBA初级教程 (第四课 程序的调试和保存)</FONT></A></P>
<P><A
href="http://www.icad.com.cn/html/2005-5-8/20055893119.asp"><FONT
color=#666666>Autocad VBA初级教程 (第五课 画函数曲线)</FONT></A></P>
<P><A
href="http://www.icad.com.cn/html/2005-5-8/20055893328.asp"><FONT
color=#666666>Autocad VBA初级教程 (第六课 数据类型的转换)</FONT></A></P>
<P><A
href="http://www.icad.com.cn/html/2005-5-9/200559102708.asp"><FONT
color=#666666>Autocad VBA初级教程 (第七课
写文字)</FONT></A><BR><BR><STRONG><BR>站长致:</STRONG></P>
<P><STRONG>各位学习完以后,一定要去论坛顶帖,支持一下普老师<BR></STRONG></P></FONT><BR>(编辑:zhaozh)</TD></TR>
<TR>
<TD align=right>
<SCRIPT language=JavaScript>
<!-- Begin
if (window.print) {
document.write('【<a href="#" onClick="javascript:window.print()"><font color=cc0000>打印本文</font></a>】 ');
}
// End -->
</SCRIPT>
【<A
href="http://old.icad.com.cn/review/index.asp?article=2005530154133"
target=_blank><FONT color=#cc0000>发表评论</FONT></A>】【<A
href="javascript:window.close()"><FONT
color=#cc0000>关闭窗口</FONT></A>】</TD></TR></TBODY></TABLE>
<TABLE align=left>
<TBODY>
<TR>
<TD align=left>上一篇:<A
href="http://old.icad.com.cn/html/2005-5-30/2005530154041.asp"
target=_blank>[文章]Autocad VBA初级教程 (第七课 写文字)</A><BR>下一篇:<A
href="http://old.icad.com.cn/html/2006-6-1/200661105959.asp"
target=_blank>[文章]CATIA车座设计中文教程(二)</A><BR></TD></TR></TBODY></TABLE></TD><!--中间通栏结束--><!--<td width="2" background="../../image/lbg1.gif"></td>--><!--右侧通栏开始--></TR></TBODY></TABLE></TBODY></TABLE>
<SCRIPT language=JavaScript
src="CAD世界__Autocad VBA初级教程 (第八课图层操作).files/endA.js"></SCRIPT>
</DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -