⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cad世界__autocad vba初级教程 (第八课图层操作).htm

📁 cad二次开发中介绍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 &gt;&gt; 数字化设计 &gt;&gt; CAD &gt;&gt; 
        正文</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>&nbsp; If lay0.Name = "新建图层" Then '如果找到图层名<BR>&nbsp;&nbsp;&nbsp; 
            findlay = 1 '把变量改为1标志着图层已经找到<BR>&nbsp;&nbsp;&nbsp; msgstr = 
            lay0.Name + "已经存在" + vbCrLf<BR>&nbsp;&nbsp;&nbsp; msgstr = msgstr + 
            "图层状态:" + IIf(lay0.LayerOn = True, "打开", "关闭") + 
            vbCrLf<BR>&nbsp;&nbsp;&nbsp; msgstr = msgstr + "图层" + 
            IIf(lay0.Freeze = True, "已经", "没有") + "冻结" + 
            vbCrLf<BR>&nbsp;&nbsp;&nbsp; msgstr = msgstr + "图层" + IIf(lay0.Lock 
            = True, "已经", "没有") + "锁定" + vbCrLf<BR>&nbsp;&nbsp;&nbsp; msgstr = 
            msgstr + "图层颜色号:" + CStr(lay0.Color) + vbCrLf<BR>&nbsp;&nbsp;&nbsp; 
            msgstr = msgstr + "图层线型:" + lay0.Linetype + 
            vbCrLf<BR>&nbsp;&nbsp;&nbsp; msgstr = msgstr + "图层线宽:" + 
            CStr(lay0.Lineweight) + vbCrLf<BR>&nbsp;&nbsp;&nbsp; msgstr = msgstr 
            + "打印开关" + IIf(lay0.Plottable = False, "关闭", "打开") + vbCrLf + 
            vbCrLf<BR>&nbsp;&nbsp;&nbsp; msgstr = msgstr + 
            "是否设置为当前图层?"<BR>&nbsp;&nbsp;&nbsp; If MsgBox(msgstr, 1) = 1 Then 
            '如果用户点击确定<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not 
            lay0.LayerOn Then lay0.LayerOn = True 
            '打开<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ThisDrawing.ActiveLayer 
            = lay0 '把当前图层设为已经存在的图层<BR>&nbsp;&nbsp;&nbsp; End 
            If<BR>&nbsp;&nbsp;&nbsp; Exit For '结束寻找<BR>&nbsp; End If<BR>Next 
            lay0</P>
            <P>If findlay = 0 Then '没有找到图层<BR>&nbsp; Set lay1 = 
            ThisDrawing.Layers.Add("新建图层") '增加一个名为“临时图层”的图层<BR>&nbsp; lay1.Color 
            = 2 '图层设置为黄色<BR>&nbsp; <BR>&nbsp; ltfind = 0 
            '找到线型的标志,0没有找到,1找到<BR>&nbsp; For Each entry In ThisDrawing.Linetypes 
            '在现有的线型中进行循环<BR>&nbsp;&nbsp;&nbsp; If StrComp(entry.Name, "HIDDEN") 
            = 0 Then '如果线型名为"HIDDEN"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ltfind = 
            1 '标志为已找到线型<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit For 
            '退出循环<BR>&nbsp;&nbsp;&nbsp; End If<BR>&nbsp; Next entry '结束循环</P>
            <P>&nbsp; If ltfind = 0 Then '没有找到线型<BR>&nbsp;&nbsp;&nbsp; 
            ThisDrawing.Linetypes.Load "HIDDEN", "acadiso.lin" '加载线型<BR>&nbsp; 
            End If<BR>&nbsp; lay1.Linetype = "HIDDEN" '设置线型</P>
            <P>&nbsp; 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 + -