以下是小编为大家准备的Silverlight实例教程 Out of Browser与COM互操作实例(共含5篇),仅供参考,大家一起来看看吧。同时,但愿您也能像本文投稿人“土豆工人拉女士”一样,积极向本站投稿分享好文章。
在前面已经介绍了Silverlight的Out of Browser模式与COM的基本操作以及与Office COM的交互,这 篇我们将介绍更多Silverlight Out of Brwoser的COM实例。
我们将继续使用过去的SilverlightOOBDemo项目进行简单扩展。
实例1:演示Silverlight与DOS的交互,对于Windows API熟悉的朋友应该了解,使 用WShell可以运行任何Dos命令。
1 private void dosBtn_Click(object sender, RoutedEventArgs e)
2 {
3 using (dynamic shell = AutomationFactory.CreateObject(“WScript.Shell”))
4 {
5 //shell.Run(@“cmd /k dir /w /p”);
6 shell.Run(@“cmd /k ping www.cnblogs.com -t”);
7 }
8
9 }
实例2:使用WShell API模拟用户输入实例。使用WShell的SendKeys可以模拟用户 输入效果到应用程序中,并且可以模拟一些特殊键功能,例如,回车,Tab,Ctrl等按键。
其中要实现模拟输入代码如下:
1 private void inputBtn_Click(object sender, RoutedEventArgs e)
2 {
3 using (dynamic shell = AutomationFactory.CreateObject(“WScript.Shell”))
4 {
5 shell.Run(@“c:windowsnotepad.exe”);
6 shell.SendKeys(“my blog:{Enter}jv9.cnblogs.com”);
7 }
8 }
实例3:Silverlight OOB应用读取注册表信息实例
使用Shell.Application的RegRead方法可以读取本地注册表键值,例如,读取 “HKLMSoftwareMicrosoftASP.NETRootVer”,.Net Framework的版本。
1 private void regBtn_Click(object sender, RoutedEventArgs e)
2 {
3 using (dynamic WShell = AutomationFactory.CreateObject(“WScript.Shell”))
4 {
5 string reg = WShell.RegRead (@“HKLMSoftwareMicrosoftASP.NETRootVer”);
6 MessageBox.Show(“.Net Framework Root Version: ” + reg);
7 }
8 }
读取结果:
实例4:使用Shell.Application的RegWrite方法可以对注册表进行写操作。这个实 例将实现添加Silverlight Out of Browser应用到Windows启动项。
1 private void regWriteBtn_Click(object sender, RoutedEventArgs e)
2 {
3 using (dynamic ShellApplication = AutomationFactory.CreateObject (“Shell.Application”))
4 {
5 dynamic commonPrograms = ShellApplication.NameSpace(11);
6 string allUsersPath = commonPrograms.Self.Path;
7
8 dynamic directory = ShellApplication.NameSpace(allUsersPath + @“Programs”);
9 dynamic link = directory.ParseName(Deployment.Current.OutOfBrowserSettings.ShortName + “.lnk”);
10 string OBLink = link.Path;
11
12 using (dynamic WShell = AutomationFactory.CreateObject(“WScript.Shell”))
13 {
14 WShell.RegWrite (@“HKLMSoftwareMicrosoftWindowsCurrentVersionRun”
15 + Deployment.Current.OutOfBrowserSettings.ShortName,
16 OOBLink);
17 MessageBox.Show(“请重启你的机器,你的应用将被自动载入启动列表.”);
18 }
19 }
20 }
当运行以上代码后,应用会将OOB应用快捷方式写入注册表 HKLMSoftwareMicrosoftWindowsCurrentVersionRun
应用程序将在下次重启后,自动启动,
实例5:使用Windows 7 API实现锁定应用到Windows 7任务栏
在Windows 7中使用Shell.Application类库允许遍历应用,检查Verbs进行应用锁定。
1 private void pinBtn_Click(object sender, RoutedEventArgs e)
2 {
3 using (dynamic ShellApplication = AutomationFactory.CreateObject (“Shell.Application”))
4 {
5 dynamic commonPrograms = ShellApplication.NameSpace(23);
6 string allUsersPath = commonPrograms.Self.Path;
7
8 dynamic directory = ShellApplication.NameSpace(allUsersPath + @“Accessories”);
9 dynamic link = directory.ParseName(“Calculator.lnk”);
10
11 dynamic verbs = link.Verbs;
12 for (int i = 0; i < verbs.Count(); i++)
13 {
14 dynamic verb = verbs.Item(i);
15 if (verb.Name.Replace(@“&”, string.Empty).ToLower() == “pin to taskbar”)
16 {
17 verb.DoIt();
18 }
19 }
20 }
21 }
当执行以上代码后,获取计算器应用快捷方式,然后执行“Pin to Taskbar”后,将应用锁定在 Windows 7任务栏。
实例6:Silverlight Out of Browser语音阅读实例
使用Windows自带的Speech API中的SAPI引擎SpVoice类可以实现语音阅读功能。
1 private void speechBtn_Click(object sender, RoutedEventArgs e)
2 {
3 using (dynamic ISpeechVoice = AutomationFactory.CreateObject(“SAPI.SpVoice”))
4 {
5 ISpeechVoice.Volume = 100;
6 ISpeechVoice.Speak(“ Hello everyone! Welcome to my blog,jv9.cnblogs.com”); 7 } 8 }
当运行以上代码后,会听到以上阅读内容。
对于Silverlight Out of Browser的COM应用有一款开 源项目COM Toolkit,该控件在OOB模式下可以对本地数据库进行操作,推荐大家参考学习。
今天就写到这里了,希望能对大家有所帮助。
随文源码:www.bianceng.net/dotnet/12/673.htm
在本篇开始前,首先感谢每一位留下反馈评论的朋友,在我看来,博客不仅仅是简单的分享,同时也 是一个学习和发现的过程,在阅读完一篇文章能对其有所评论和提问,也是一种思考的表现。
在上篇“Silverlight实例教程 - Out of Browser与COM的交互基础” 中,我们讨论了Silverlight的 OOB应用访问COM组件基础知识,在大家的反馈中,有不少朋友提出疑问,Silverlight对于COM的支持,使 其失去跨平台的优越性,另外,Silverlight仅有Out of Browser模式能支持COM,是否仍旧存在较大的局 限性? 对此在本篇我们不进行长篇分析和讨论,只是简单的把我的看法说一下。
Silverlight Out of Browser从Silverlight 3 到现在Silverlight 4,一直遵循跨平台的原则,在微 软官方有相关的解释,
Linux,Moonlight从第一个版本发布,就已经有了高级权限模型,在GtkWidget中Moonlight具有full -trust的能力。也就是说,Silverlight具有信任权限提升,而Mono具有full-trust模式。
Mac,由于Mac没有Com的概念,所以,Silverlight的COM无法在Mac中运行,但是微软官方也正在寻找 一种方式,尝试使用一种模拟的方式来实现在Mac上运行COM的效果,例如,运行AppleScript
在上面的脚本中可以看出,Mac如何通过AppleScript来调用Office Word的,而这样的方式其实也就是 Mac对COM的调用,在以后Silverlight的版本中,如果加入对AppleScripts的支持即可在Mac上支持COM的 运行;
从上面的描述来看,Silverlight的OOB应用跨平台,并非不能解决,只是时间的问题。作为技术人员 ,经常对一门技术的前景进行展望,而需要注意的是,尽量不要使用其短处与其他技术的长处进行相比较 ,这样的对比结果,只会干扰自己的视线和思路。一门能挣钱的技术,就已经算是一门好技术了。
Out of Browser与Office的互操作
言归正传,本篇将继续介绍Silverlight的Out of Browser应用与Office COM组件的交互。相信大家对 微软的Office系列并不陌生了,Office在企业项目中使用频率较高,例如在日常项目中经常与遇到导出列 表到 Excel,或者发送邮件等功能需求,所以微软将其许多功能封装成COM组件,供开发人员使用,增强 其应用的灵活性。本篇,我将演示在Silverlight的OOB应用中,如何使用Office Outlook,Word,Excel 组件。
我们仍旧使用上篇的项目代码,对其进行扩展,大家可以到上篇下载演示项目代码。
在开始功能代码前,首先需要在UI界面ToolBar中添加三个Button来响应其事件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
对与三个应用分别添加其Click事件代码。首先,我们先看看OutLook的COM调用,
1 private void sendemailBtn_Click(object sender, RoutedEventArgs e)
2 {
3 using (dynamic utlook = AutomationFactory.CreateObject (“Outlook.Application”))
4 {
5 dynamic mail = outlook.CreateItem(0);
6 mail.To = “qq34506@hotmail.com”;
7 mail.Subject = “来自jv9的问候”;
8 mail.HTMLBody = “这封邮件是通过Silverlight发送 的.”;
9 mail.Send();
10 //mail.Display(); 这里是显示出发送邮件的Outlook窗口
11 }
12 }
在建立Outlook实例后,我们可以使用Outlook.CreateItem来创建新的邮件实例,其中可以简单的设置 发送目的邮箱,标题,内容等。在代码后面有mail.Send和Display两个方法。其中如果调用Display, Silverlight会激活Outlook创建邮件窗口,然后用户确认后发送邮件到目的邮箱。例如:
而调用mail.Send则会直接发送邮件到目的邮箱。而通常来说,我们建议使用mail.Display,让用户确 认后再发送。
Silverlight操作 Office Word
Silverlight操作Office Word比较简单,首先我们添加Word的相应事件:
1 private void wordBtn_Click(object sender, RoutedEventArgs e)
2 {
3 dynamic word = AutomationFactory.CreateObject (“Word.Application”);
4 word.Visible = true;
5 dynamic doc = word.Documents.Add();
6
7 string Insertxt = “这是Silverlight操作Office Word测试。欢迎大家访问我的博 客 jv9.cnblogs.com”;
8 dynamic range = doc.Range (0, 0);
9
10 range.Text = Insertxt;
11 }
在创建Word实例后,使用Documents.Add创建一个新的空文档,然后,添加相关文档或者 图片到Word中。其运行效果如下:
Silverlight操作Office Excel
相对上面两个Office组件来讲,Excel的使用较为复杂一点,这里我们来详细演示Silverlight导出 Excel的实例。
操作Excel不可缺少的是数据库,作为演示实例,我使用Blend 4创建简单的数据集合,使用Blend创建 例程数据集合,我曾经在Blend实例系列中讲过,这里我将简单的演示,
首先使用Blend 4打开当前SilverlightOOBDemo项目,然后在右边属性栏,选择Data,
这时会提示输入SampleDataSource名称:
点击OK后,Blend 4将自动生成一个数据集合。
由于是Blend 4自动生成的,其中的String和Number都是随机生成的,这些对于演示实例已经足够了。
当SampleDataSource创建完成后,在SliverlightOOBDemo项目中,会创建一个SampleData目录,其中 包含了我们定义的数据源,
现在,需要在UI中创建一个Datagrid的控件,然后拖动右边Data下SampleDataSource1下的Collection 到Datagrid,进行数据绑定,这里我仍旧使用了Blend 4,所有控件和数据绑定,都是简单的拖动即可实 现。
1
2
3
4
5
6
7
8
以上设置,我们添加了Sample数据源,并且绑定数据到指定datagrid中,现在,可以设计Excel组件调 用代码,
1 bool firstTime = true;
2 public ObservableCollection
3 private void excelBtn_Click(object sender, RoutedEventArgs e)
4 {
5 dynamic excel = AutomationFactory.CreateObject (“Excel.Application”);
6 excel.Visible = true;
7 dynamic workbook = excel.workbooks;
8 workbook.Add();
9 dynamic sheet = excel.ActiveSheet;
10 dynamic cell = null;
11 int i = 1;
12 // 将数据传输到Excel
13 foreach (Item item in dgDemo.ItemsSource)
14 {
15 itemCollection.Add(item);
16 cell = sheet.Cells[i, 1]; // 列和行
17 cell.Value = item.Property1;
18 cell.ColumnWidth = 25;
19
20 cell = sheet.Cells[i, 2];
21 cell.Value = item.Property3;
22 i++;
23 }
24
25 }
在上面代码中,声明一个Excel实例,然后通过循环输入数据源到Excel实例Sheet中,从代码中我们可 以看出,输出Excel是通过Cell进行操作的,
这里,我仅输出了Property1和Property3两列。这样就简单的实现了输出Datagrid的数据到Excel了。
现在我们对当前的输出Excel进行一些强化,输入一个图表功能。
对我们当前的代码进行简单的修改,添加如下代码:
1 bool firstTime = true;
2 public ObservableCollection
3 private void excelBtn_Click(object sender, RoutedEventArgs e)
4 {
5 dynamic excel = AutomationFactory.CreateObject (“Excel.Application”);
6 excel.Visible = true;
7 dynamic workbook = excel.workbooks;
8 workbook.Add();
9 dynamic sheet = excel.ActiveSheet;
10 dynamic cell = null;
11 int i = 1;
12 // 将数据传输到Excel
13 foreach (Item item in dgDemo.ItemsSource)
14 {
15 itemCollection.Add(item);
16 cell = sheet.Cells[i, 1]; // 列和行
17 cell.Value = item.Property1;
18 cell.ColumnWidth = 25;
19
20 cell = sheet.Cells[i, 2];
21 cell.Value = item.Property3;
22 i++;
23 }
24
25 // 创建一个例程图表
26 dynamic sheetShapes = sheet.Shapes;
27 sheetShapes.AddChart(-4100, 200, 2, 400, 300);
28
29 }
sheepShapes.AddChart创建一个新的图表效果,其数据是绑定的dynamic sheet = excel.ActiveSheet
这样当我们再次运行输出Excel时,即可得到如下结果:
这些功能的实现,完全是调用了Excel中提供的组件功能。
下面我们更进一步的完善Excel输入功能,添加自动绑定更新事件。其目的是为了实现,当用户输出 Excel后,修改Excel中数据,Silverlight的OOB应用中Datagrid同时也更新修改对应数据。
实现该需求,需要用到Excel的SheetChange事件。当用户修改Excel中内容时,即激活该事件。首先, 我们需要修改以上代码,
1 bool firstTime = true;
2 public ObservableCollection
3 private void excelBtn_Click(object sender, RoutedEventArgs e)
4 {
5 dynamic excel = AutomationFactory.CreateObject (“Excel.Application”);
6 excel.Visible = true;
7 dynamic workbook = excel.workbooks;
8 workbook.Add();
9 dynamic sheet = excel.ActiveSheet;
10 dynamic cell = null;
11 int i = 1;
12 // 将数据传输到Excel
13 foreach (Item item in dgDemo.ItemsSource)
14 {
15 itemCollection.Add(item);
16 cell = sheet.Cells[i, 1]; // 列和行
17 cell.Value = item.Property1;
18 cell.ColumnWidth = 25;
19
20 cell = sheet.Cells[i, 2];
21 cell.Value = item.Property3;
22 i++;
23 }
24
25 // 创建一个例程图表
26 dynamic sheetShapes = sheet.Shapes;
27 sheetShapes.AddChart(-4100, 200, 2, 400, 300);
28
29 // 更新事件
30 if (firstTime)
31 {
32 excel.SheetChange += new SheetChangedDelegate (SheetChangedEventHandler);
33 string sheetName = sheet.Name;
34
35 firstTime = false;
36 }
37
38 }
为了完成SheetChange,我们需要添加相关事件委托。
1 delegate void SheetChangedDelegate(dynamic excelSheet, dynamic rangeArgs);
其具体事件响应Handler为:
1 private void SheetChangedEventHandler(dynamic excelSheet, dynamic rangeArgs)
2 {
3 dynamic sheet = excelSheet;
4 string sheetName = sheet.Name;
5 dynamic range = rangeArgs;
6 dynamic rowValue = range.Row;
7 ObservableCollection
8 Item[] newEntities = new Item[10];
9
10 dynamic col2range = sheet.Range(“B1:B10”);
11
12 for (int i = 0; i < 10; i++)
13 {
14 Item newEntity = new Item();
15 newEntity.Property1 = entities[i].Property1;
16 newEntity.Property2 = entities[i].Property2;
17
18 dynamic item = col2range.Item(i + 1);
19 newEntity.Property3 = Convert.ToInt32 (item.Value);
20
21 newEntities[i] = newEntity;
22 }
23 dgDemo.ItemsSource = newEntities;
24 dgDemo.SelectedIndex = Convert.ToInt32(rowValue) - 1;
25 }
这里,我设置操作sheet范围为B1:B10,仅处理这个区域表格中数据绑定,而当excel中数据变化,则 会查找对应表格到Datagrid的表格中进行更新。
其运行效果,当用户修改Excel中的B1-B10中的数据,同时Datagrid会产生更新,并且Excel图表也会 产生更新效果。
上述介绍了Silverlight 4调用Office COM的具体方法,以及常用功能,大家可以在这个基础上进行扩 展,将其应用于自己的应用中。
随文源码:www.bianceng.net/dotnet/201212/674.htm
TD—LTE与TD—SCDMA双网互操作
【摘 要】文章阐述了厦门移动针对TD-LTE与TD-SCDMA双网互操作测试中的关注重点进行梳理,研究总结出使用信令采集分析工具对TD-LTE与TD-SCDMA双网互操作的核心网信令消息进行分析的方法和经验,给其他城市提供了经验参考。
【关键词】TD-LTE TD-SCDMA 互操作 信令分析
1 引言
中国移动根据其3G技术TD-SCDMA的制式特点选择了TD-LTE的演进方向。随着TD-LTE网络的引入,现在的网络已经变成一个多网协同的网络:GSM经过多年建设和网络优化,提供最广覆盖的基本移动业务,承载语音、短信及低速数据业务;TD-SCDMA提供增强的移动业务,可承载中等速率业务和部分语音业务;TD-LTE则承载高速数据业务。
网络互操作是多网协同工作的基础,可以保证用户感知,均衡网络负载。TD-LTE与2G/3G系统间互操作涉及核心网、无线网、业务承载、终端等多个领域,包括开机驻流策略、空闲态重选策略和连接态切换策略。
随着TD-LTE的网络部署,TD-LTE与现有TD-SCDMA的双网互操作逐渐成为关注的重点,双网互操作的成功与否直接关系着用户的感知以及后续双网策略的设置。厦门移动针对TD-LTE与TD-SCDMA双网互操作中核心网部分的开机驻流信令、空闲态重选信令进行研究及测试验证,对于互操作测试中的关键点进行梳理,总结出使用信令采集分析工具对TD-LTE与TD-SCDMA双网互操作的核心网信令消息进行分析的方法和经验。
2 信令采集
厦门移动TD-LTE规模技术试验测试中,《TD-LTE规模技术试验-六城市测试-TD-LTE/3G/2G系统间互操作测试规范》的TD-LTE与TD-SCDMA互操作部分要求测试如下项目:
(1)移动用户从Gn/Gp SGSN网络漫游到MME网络发起的附着;
(2)移动用户从MME网络漫游到Gn/Gp SGSN网络发起的附着;
(3)移动用户在ECM-IDLE状态下重选到UTRAN小区,引起RAU;
(4)移动用户处于UTRAN PMM_IDLE状态,重选到E-UTRAN,引起TAU。
所有测试均要求进行核心网信令抓包分析(包括:IuPS接口、Gr接口、Gn接口、S1接口、S6a接口、S11接口)。对比信令流程以及检查相关网元上的用户状态信息。
对核心网各个接口采用不同采集方式,具体如表1所示:
3 信令分析
分析对比每一个测试项目中各个接口信令流程与预期是否一致,检查信令消息中关键字节是否符合预期,提炼检查关键点。下文对四个测试项目进行逐一分析说明:
3.1 移动用户从Gn/Gp SGSN网络漫游到MME网络
发起的附着
该项测试验证双模终端用户从TD-SCDMA网络漫游至TD-LTE网络下,以Old GUTI发起附着时,用户能否成功附着TD-LTE网络。
(1)预期信令流程
预期信令流程如图1所示(见下页)。
(2)现网信令分析
UE开机发起附着,发送Attach Request消息(携带Old GUTI:“MME Group ID:55596/MME Code:6/M-TMSI:eb025ae3”,以及Additional GUTI:“MME Group ID:32773/MME Code:1/M-TMSI:e00001be”)。
New MME发送Identification Request消息给Old SGSN(携带“LAC:55596/RAC:2/P-IMSI:eb065ae3”),Old SGSN响应Identification Response消息(显示P-TMSI Signature Mismatch,未携带IMSI和安全向量)。
New MME发送Identity Request消息(类型为IMSI)给UE,UE响应Identity Response消息(携带IMSI)。
New MME向HSS发送Authentication Information Request消息(携带IMSI,请求1组EPS安全向量),HSS响应Authentication Information Answer消息(回复1组EPS安全向量)。
New MME发起鉴权流程(采用RAND/AUTN)。
New MME发起安全流程(未开启安全算法,未携带SecurityKey)。
New MME向HSS发送Update Location Request消息,HSS响应Update Location Answer消息(携带MSISDN和用户签约的QoS)。
New MME向Serving GW发起Create Session流程,建立默认承载。
New MME发送Initial Context Setup Request给eNode B,透传了Attach Accept消息(携带New GUTI:“MME Group ID:32773/MME Code:1/M-TMSI:e00001c1”),该消息中包含了Activate Default EPS Bearer Context Request消息,要求建立默认承载。
UE返回Attach Complete,eNode B返回Initial Context Setup Response消息,建立默认承载成功。
New MME向Serving GW发送Modify Bearer Request消息(更新eNode B地址和TEID),Serving GW响应成功消息。
(3)测试小结
1)Attach Request消息携带Old GUTI以及Additional GUTI,其中Old GUTI包含原TD-SCDMA网络的LAC/RAC/P-TMSI信息。
Old GUTI为“MME Group ID:55596/MME Code:6/M-TMSI:eb025ae3”;
LAC=MME Group ID:55596;
RAC=M-TMSI:eb025ae3的第5、6字节=“02”;
P-TMSI=“M-TMSI:eb025ae3”中RAC替换为“06”=“eb065ae3”。
GUTI与P-TMSI对应关系如图2所示(见下页)。
附着成功后,Attach Accept消息携带New GUTI(MME Group ID:32773/MME Code:1/M-TMSI:e00001c1),该GUTI将在该用户注册在该MME期间使用。
2)New MME根据DNS解析的Old S
GSN地址发送Identification Request消息,携带原TD-SCDMA网络的“LAC:55596/RAC:2/P-IMSI:eb065ae3”信息(信息的转化见上面描述),目的是通过P-IMSI向Old SGSN获取该UE的IMSI信息。但是Old SGSN响应Identification Response消息,显示P-TMSI Signature Mismatch,未携带IMSI和安全向量。
3)因为New MME向Old SGSN获取IMSI和安全向量失败,故发起Identity流程,由MME直接向UE获取IMSI。
4)New MME向HSS获取鉴权参数正常。
5)New MME发起鉴权流程(采用RAND/AUTN),虽然开启安全流程,但是未开启安全算法,未携带SecurityKey。
AutoCAD综合练习题
学习了AutoCAD的绘制、修改、设置、标注等命令,现在把这些知识点综合起来绘制一些简单的、基础的几何图形,
通过各种命令应用到习题中,掌握不同的操作方法与绘图技巧。在各习题操作中,将对图形注明练习说明和操作提示。使用快捷键命令可以快速、方便地绘图,节省绘图时间,AutoCAD提供了快捷键命令操作,如图所示:10.1习题1:定数等分画圆弧◆练习说明:1、此图中间为6等分,可使用定数等分命令分段;2、连续曲线可采用多段线的圆弧命令快速绘制。◆操作提示:⑴先画一条长为70的直线,然后在这条直线上6等分(如图所示)⑵使用“多段线”命令,在“指定起点: 指定下一个点或 [圆弧(A)/半宽(H)/长度(L)/放弃(U)/宽度(W)]:”提示下输入a;在“指定圆弧的端点或[角度(A)/圆心(CE)/方向(D)/半宽(H)/直线(L)/半径(R)/第二个点(S)/放弃(U)/宽度(W)]:”提示下输入d,开始绘制圆弧的方向(如图所示)⑶重复以上的操作,完成圆弧的绘制(如图所示)⑷选择“圆”命令,捕捉圆的中点,在“指定圆的半径或 [直径(D)]”提示下输入35,回车⑸删除辅助线,添加尺寸标注(如图所示)10.2习题2:环形阵列画圆弧◆练习说明:1、此图外面由8段相同的圆弧构成;2、使用环形阵列命令快速绘制。◆操作提示:⑴先画一个直径为35的圆,然后向上复制(如图所示)⑵使用“环形阵列”命令,阵列出8个圆(如图所示)⑶使用“修剪”命令,修剪出一段圆弧后,并删除多余的圆(如图所示)⑷再次使用“环形阵列”命令,阵列出8个圆弧,添加尺寸标注(如图所示)10.3习题3:使用极轴追踪绘制图形◆练习说明:1、此图主要练习多边形的绘制;2、在绘制中间的矩形时将会用到45°极轴追踪。◆操作提示:⑴先对“极轴追踪”进行设置,鼠标右击状态栏上的“极轴”,点击“设置”按钮(如图所示)⑵在“极轴追踪”对话框中勾选“启用极轴追踪(F10)”选项,在“增量角”改为45°(改成45°的意思是:凡是45°的倍数都能追踪得到)(如图所示)⑶先画一个直径为70的圆,再画一个内接于圆的正6边形(如图所示)⑷使用“对象捕捉”命令,绘制里面的直线,并用“极轴追踪”方式绘制一条连接于线上的直线(如图所示)⑸使用“直线”命令连接其余直线(如图所示)⑹捕捉大圆的圆心,在矩形里面绘制一个小圆,并添加尺寸标注(如图所示)10.4习题4:使用镜像、修剪命令绘制图形◆练习说明:1、此图多为对称图形,可使用镜像命令生成;2、图形中三角形里面的几条线段用边界修剪命令完成。◆操作提示:⑴先画一个直径为70的圆,然后使用“多边形”命令,画一个内接于圆的正三角形(如图所示)⑵使用“镜像”命令,沿AB方向镜像一个倒三角形(如图所示)⑶使用“圆弧”命令,捕捉圆心,画出一段圆弧(如图所示)⑷再次使用“镜像”命令,镜像出其它5段圆弧(如图所示)⑸使用“修剪”命令修剪多余线段,添加尺寸标注(如图所示)10.5习题5:使用偏移、阵列命令绘制图形◆练习说明:1、此图由4个相同的图形组成,可使用环形阵列命令完成;2、图形中等距曲线可用偏移命令绘制。◆操作提示:⑴使用“多段线”命令,画一条长为20的直线,直径为10的圆弧(如图所示)⑵使用“偏移”命令,偏移出其它线条,偏移距离为5(如图所示)⑶使用“环形阵列”命令,阵列出图形,并添加尺寸标注(如图所示)10.6习题6:使用阵列、缩放命令绘制图形◆练习说明:1、此图与练习5相同,也是用环形阵列绘制;2、使用缩放命令缩放相对应距离。◆操作提示:⑴使用“直线”命令,连续画一个长为30的矩形(如图所示)(提示:此图总大小为70,如果要计算每个矩形的长度很麻烦,所以输入一个便于3等分偏移距离的数值,等绘制完成后再使用缩放命令整体缩放)⑵使用“偏移”命令,偏移出2条直线,偏移距离为10(如图所示)⑶使用“环形阵列”命令,捕捉A点为圆心,环形阵列出4个矩形(如图所示)⑷再次使用“环形阵列”命令,捕捉B点为圆心,再阵列出4个矩形(如图所示)⑸图形外观已经绘制完成,但尺寸与要求不符,需要进行修改,使用“缩放”命令(如图所示)⑹添加尺寸标注(如图所示)10.7习题7:使用辅助线绘制已知图形Ⅰ◆练习说明:1、此图三角形上的一点需要借助辅助线绘制;2、已知一个点和方向的线条可以用射线来绘制。◆操作提示:⑴使用“直线”命令,画一条长为80的直线,再使用“构造线”命令画一条垂直于直线的射线(如图所示) ⑵使用“圆”命令,捕捉圆心A点,画半径为95的圆,使圆和射线相交于B点,连接线段AB(如图所示)⑶使用“修剪”命令,修剪和删除多余线条,并添加尺寸标注(如图所示)AutoCAD综合练习题学习了AutoCAD的绘制、修改、设置、标注等命令,现在把这些知识点综合起来绘制一些简单的、基础的几何图形。
通过各种命令应用到习题中,掌握不同的操作方法与绘图技巧。在各习题操作中,将对图形注明练习说明和操作提示。使用快捷键命令可以快速、方便地绘图,节省绘图时间,AutoCAD提供了快捷键命令操作,如图所示:10.1习题1:定数等分画圆弧◆练习说明:1、此图中间为6等分,可使用定数等分命令分段;2、连续曲线可采用多段线的圆弧命令快速绘制。◆操作提示:⑴先画一条长为70的直线,然后在这条直线上6等分(如图所示)⑵使用“多段线”命令,在“指定起点: 指定下一个点或 [圆弧(A)/半宽(H)/长度(L)/放弃(U)/宽度(W)]:”提示下输入a;在“指定圆弧的端点或[角度(A)/圆心(CE)/方向(D)/半宽(H)/直线(L)/半径(R)/第二个点(S)/放弃(U)/宽度(W)]:”提示下输入d,开始绘制圆弧的方向(如图所示)⑶重复以上的操作,完成圆弧的绘制(如图所示)⑷选择“圆”命令,捕捉圆的中点,在“指定圆的半径或 [直径(D)]”提示下输入35,回车⑸删除辅助线,添加尺寸标注(如图所示)10.2习题2:环形阵列画圆弧◆练习说明:1、此图外面由8段相同的圆弧构成;2、使用环形阵列命令快速绘制。◆操作提示:⑴先画一个直径为35的圆,然后向上复制(如图所示)⑵使用“环形阵列”命令,阵列出8个圆(如图所示)⑶使用“修剪”命令,修剪出一段圆弧后,并删除多余的圆(如图所示)⑷再次使用“环形阵列”命令,阵列出8个圆弧,添加尺寸标注(如图所示)10.3习题3:使用极轴追踪绘制图形◆练习说明:1、此图主要练习多边形的绘制;2、在绘制中间的矩形时将会用到45°极轴追踪。◆操作提示:⑴先对“极轴追踪”进行设置,鼠标右击状态栏上的“极轴”,点击“设置”按钮(如图所示)⑵在“极轴追踪”对话框中勾选“启用极轴追踪(F10)”选项,在“增量角”改为45°(改成45°的意思是:凡是45°的倍数都能追踪得到)(如图所示)⑶先画一个直径为70的圆,再画一个内接于圆的正6边形(如图所示)⑷使用“对象捕捉”命令,绘制里面的直线,并用“极轴追踪”方式绘制一条连接于线上的直线(如图所示)⑸使用“直线”命令连接其余直线(如图所示)⑹捕捉大圆的圆心,在矩形里面绘制一个小圆,并添加尺寸标注(如图所示)10.4习题4:使用镜像、修剪命令绘制图形◆练习说明:1、此图多为对称图形,可使用镜像命令生成;2、图形中三角形里面的几条线段用边界修剪命令完成。◆操作提示:⑴先画一个直径为70的圆,然后使用“多边形”命令,画一个内接于圆的正三角形(如图所示)⑵使用“镜像”命令,沿AB方向镜像一个倒三角形(如图所示)⑶使用“圆弧”命令,捕捉圆心,画出一段圆弧(如图所示)⑷再次使用“镜像”命令,镜像出其它5段圆弧(如图所示)⑸使用“修剪”命令修剪多余线段,添加尺寸标注(如图所示)10.5习题5:使用偏移、阵列命令绘制图形◆练习说明:1、此图由4个相同的图形组成,可使用环形阵列命令完成;2、图形中等距曲线可用偏移命令绘制。◆操作提示:⑴使用“多段线”命令,画一条长为20的直线,直径为10的圆弧(如图所示)⑵使用“偏移”命令,偏移出其它线条,偏移距离为5(如图所示)⑶使用“环形阵列”命令,阵列出图形,并添加尺寸标注(如图所示)10.6习题6:使用阵列、缩放命令绘制图形◆练习说明:1、此图与练习5相同,也是用环形阵列绘制;2、使用缩放命令缩放相对应距离。◆操作提示:⑴使用“直线”命令,连续画一个长为30的矩形(如图所示)(提示:此图总大小为70,如果要计算每个矩形的长度很麻烦,所以输入一个便于3等分偏移距离的数值,等绘制完成后再使用缩放命令整体缩放)⑵使用“偏移”命令,偏移出2条直线,偏移距离为10(如图所示)⑶使用“环形阵列”命令,捕捉A点为圆心,环形阵列出4个矩形(如图所示)⑷再次使用“环形阵列”命令,捕捉B点为圆心,再阵列出4个矩形(如图所示)⑸图形外观已经绘制完成,但尺寸与要求不符,需要进行修改,使用“缩放”命令(如图所示)⑹添加尺寸标注(如图所示)10.7习题7:使用辅助线绘制已知图形Ⅰ◆练习说明:1、此图三角形上的一点需要借助辅助线绘制;2、已知一个点和方向的线条可以用射线来绘制。◆操作提示:⑴使用“直线”命令,画一条长为80的直线,再使用“构造线”命令画一条垂直于直线的射线(如图所示) ⑵使用“圆”命令,捕捉圆心A点,画半径为95的圆,使圆和射线相交于B点,连接线段AB(如图所示)⑶使用“修剪”命令,修剪和删除多余线条,并添加尺寸标注(如图所示)10.8习题8:使用辅助线绘制已知图形Ⅱ◆练习说明:1、此图和“习题7”一样,也是需要借助辅助线来完成绘制。◆操作提示:⑴使用“直线”命令,画一条长为100的直线,再使用“偏移”命令,偏移出一条辅助线,偏移距离为45(如图所示)⑵使用“圆”命令,捕捉A点为圆心,画半径为85的圆,使圆和直线相交于B点,连接线段AB、BC、AC(如图所示)⑶使用“删除”命令,删除多余线条,并添加尺寸标注(如图所示)10.9习题9:使用辅助线绘制已知图形Ⅲ◆练习说明:1、已知圆的直径,绘制一个2:1内接于圆的矩形;2、此图将介绍2种解法。解法一:◆操作提示:⑴使用“矩形”命令,绘制一个2:1的矩形,尺寸自定义(如图所示) ⑵打开“对象追踪”(F11)命令,追踪矩形中点到圆心O点,使用“圆”命令,捕捉圆心和矩形上的一点,完成圆的绘制(如图所示)⑶现在图形外观已绘制完毕,但是直径不是75的,需要使用“缩放”命令进行缩放。“缩放”命令在习题6已经说过了,这里就不再进行详细说明(如图所示)解法二:◆操作提示:⑴使用“圆”命令,直接绘制直径为75的圆。然后使用“构造线”命令,通过圆心画一条2:1的射线(如图所示)命令: _xline 指定点或 [水平(H)/垂直(V)/角度(A)/二等分(B)/偏移(O)]:指定通过点: @2,1⑵使用“矩形”命令,打开“对象捕捉(F3)”命令,直接连接A、B两点(如图所示)10.10习题10:绘制内切于圆◆练习说明:1、此图也是一个练习缩放命令的图形;2、由于外面圆的半径未知,不能直接绘制,需要使用“多边形”命令辅助绘制。◆操作提示:⑴使用“多边形”命令,绘制一个外切于圆的八边形,半径尺寸自定义(如图所示)命令: _polygon 输入边的数目 <8>:指定正多边形的中心点或 [边(E)]:输入选项 [内接于圆(I)/外切于圆(C)] : c指定圆的半径:⑵使用“圆”命令,捕捉圆心A点和中点B点,绘制一个圆(如图所示)⑶使用“镜像”命令,镜像出其它圆(如图所示)⑷单击“绘图”→“圆”→“相切、相切、相切”命令,捕捉A点、B点、C点3个切点,绘制一个内切圆(如图所示)⑸使用“缩放”命令,将圆的直径缩放为40,并添加尺寸标注(如图所示)10.11习题11:使用优弧命令画圆弧◆练习说明:1、此图是一个未完全连接的圆弧图形;2、利用CAD中优弧的半径为负值的方法绘制。◆操作提示:⑴使用“直线”命令,根据尺寸绘制线段(如图所示)⑵使用“圆弧”命令,捕捉起点A,,捕捉端点B(输入e),绘制一个圆弧,半径为-40(半径为负表示圆弧是优弧)(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点:指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: r指定圆弧的半径: -40⑶添加尺寸标注(如图所示)10.12习题12:使用环形阵列命令画齿轮◆练习说明:1、此图是一个环形阵列图形;2、6个部分呈均匀的环形摆放,可拾取圆心做阵列。◆操作提示:⑴先画一个直径为60的圆,再通过圆心画一条35(70÷2=35)的直线(如图所示)⑵使用“偏移”命令,偏移两边的直线,距离为6.5(13÷2=6.5)(如图所示) ⑶使用“修剪”命令,修剪线条(如图所示)⑷使用“环形阵列”命令,阵列出6个环形图形(如图所示)⑸使用“修剪”命令,修剪多余线段,并添加尺寸标注(如图所示)10.13习题13:使用旋转复制命令绘图◆练习说明:1、此图是一个练习旋转命令的图形;2、在复制的同时旋转,注意角度正负值的区分。◆操作提示:⑴先画一条80的直线,然后点击直线,使其处于蓝色被编辑状态,选择A点,作为旋转复制的基点(如图所示)⑵连续回车2次,切换到“旋转”模式,输入“C”,回车,旋转角度为-39(角度为负表示顺时针旋转)(如图所示)指定移动点或 [基点(B)/复制(C)/放弃(U)/退出(X)]:** 旋转 **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: c** 旋转 (多重) **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: -39 ⑶从B点画一条直线下来,作为旋转复制的直线(如图所示)⑷操作方法与⑵相同,以B点为基点旋转复制出另一条直线,旋转角度为-36(如图所示)⑸使用“延伸”命令,延伸直线,然后修剪、删除多余线段(如图所示)⑹添加尺寸标注命令完成绘图(如图所示)10.14习题14:使用多边形内、外接圆的命令绘图◆练习说明:1、此图是由3个多边形和两个圆构成的图形;2、使用多边形绘制,采用绘制后再缩放图形的方法。◆操作提示:⑴使用“多边形”命令绘制一个内接于圆的三角形,半径自定义(如图所示)⑵使用三点画圆,连接A、B、C三点(如图所示)命令: _circle 指定圆的圆心或 [三点(3P)/两点(2P)/相切、相切、半径(T)]: 3p⑶,捕捉圆心,使用外切于圆绘制四边形(如图所示)⑷再次使用“圆”命令,捕捉四边形的四个角点绘制大圆(如图所示)⑸继续使用“多边形”命令,捕捉圆心,绘制一个外切于圆的5边形(如图所示)⑹使用“缩放”命令,缩放尺寸,缩放新长度为75(如图所示)命令: _scale选择对象: 指定对角点: 找到 5 个选择对象:指定基点:指定比例因子或 [参照(R)]: r指定参照长度 <1>: 指定第二点:指定新长度: 75⑺添加尺寸标注,完成绘制(如图所示)10.15习题15:绘制圆弧图形◆练习说明:1、此图是练习绘制圆弧的图形;2、下面两段圆弧可使用“起点、圆心、角度”和“优弧”方法绘制。◆操作提示:⑴使用“圆弧”命令绘制一个圆弧(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]: c指定圆弧的圆心:指定圆弧的起点: @-60,0指定圆弧的端点或 [角度(A)/弦长(L)]: a指定包含角: -40⑵使用“偏移”命令偏移圆弧,偏移距离为30,然后连接直线(如图所示)⑶使用“圆弧”命令,拾取起点A,端点B,绘制半径为-35的优弧(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点:指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: r指定圆弧的半径: -35⑷添加尺寸标注,完成绘制(如图所示)10.16习题16:使用对齐命令绘制图形◆练习说明:1、此图下面部分采用定数等分绘制;2、上面的75°可以使用对齐命令绘制(对齐命令为ALIGN)。◆操作提示:⑴画一条80的直线,然后使用“定数等分”命令,将直线3等分(如图所示)⑵再次使用“直线”命令画2条30的直线,然后连接AC、BC(如图所示)⑶画一条任意长度的直线,激活夹点A,回车2次,使用“复制旋转”命令,复制一条75°的直线(如图所示)** 旋转 **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: c** 旋转 (多重) **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: 75⑷使用对齐命令,在命令行输入:“al”,捕捉目标点到A点和B点(如图所示)命令: alALIGN指定第一个源点:指定第一个目标点:指定第二个源点:指定第二个目标点:指定第三个源点或 <继续>:是否基于对齐点缩放对象?[是(Y)/否(N)] <否>: y⑸添加尺寸标注,完成绘制(如图所示)10.17习题17:使用旋转命令绘制图形◆练习说明:1、此图是练习旋转命令的练习题;2、图上斜线都是使用旋转命令绘制的。◆操作提示:⑴先画一条横80竖20的直线,然后再画一条任意长度的直线,最好画长一点(如图所示)⑵使用“旋转”命令,指定基点A,旋转直线15°,然后绘制直线捕捉追踪到交点B(如图所示)⑶激活夹点B,回车2次,使用“复制旋转”命令,复制一条-30°的直线(如图所示)** 旋转 **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: c** 旋转 (多重) **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: -30 ⑷捕捉中点绘制辅助线,再使用“偏移”命令,偏移4条直线,偏移距离为15和10(如图所示)⑸使用同样的方法,复制旋转一条30°的直线(如图所示)⑹使用“剪切”命令,剪切多余线段(如图所示)⑺添加尺寸标注,完成绘制(如图所示)10.18习题18:使用多段线命令绘制图形◆练习说明:1、此图是练习多段线命令的练习题;2、需要用到定数等分命令,◆操作提示:⑴先画一条80的直线,然后在这条直线上4等分(如图所示)⑵使用“多段线”命令,指定基点A,捕捉交点,绘制出圆弧(如图所示)命令: _pline指定起点:指定下一个点或 [圆弧(A)/半宽(H)/长度(L)/放弃(U)/宽度(W)]: a指定圆弧的端点或[角度(A)/圆心(CE)/方向(D)/半宽(H)/直线(L)/半径(R)/第二个点(S)/放弃(U)/宽度(W)]: d⑶使用“两点”画圆命令,绘制里面的圆(如图所示)⑷删除辅助线,添加尺寸标注,完成绘制(如图所示)10.19习题19:使用极轴追踪绘制图形◆练习说明:1、此图是练习镜像命令的练习题;2、需要用到极轴追踪命令。◆操作提示:⑴先画一个80×80的矩形(@80,80),然后画一条对角线,再使用“偏移”命令偏移对角线,偏移距离为10(如图所示)⑵使用“修剪”命令,修剪线段;然后再使用“镜像”命令,镜像出另一半(如图所示)⑶使用“矩形”命令,启用“极轴追踪”(F10),捕捉交点,用极轴追踪矩形的角点(如图所示)⑷删除辅助线,添加尺寸标注,完成绘制(如图所示)10.20习题20:使用多重复制、极轴追踪绘制图形◆练习说明:1、此图可先绘制里面的圆,再画外面的三角形;2、绘制圆可使用多重复制来完成,最后用参照缩放为题目要求尺寸。◆操作提示:⑴先对“极轴追踪”进行设置,鼠标右击状态栏上的“极轴”,点击“设置”按钮(如图所示)⑵在“极轴追踪”对话框中勾选“启用极轴追踪(F10)”选项,在“增量角”改为60°(改成60°的意思是:凡是60°的倍数都能追踪得到)(如图所示)⑶绘制任意大小的圆,最好是整数,方便复制(如图所示)⑷使用“复制”命令,键入M多重复制,追踪A点作为基点,依次追踪水平方向的交点,复制出3个水平圆(如图所示)命令: _copy选择对象: 找到 1 个选择对象:指定基点或位移,或者 [重复(M)]: m指定基点: 指定位移的第二点或 <用第一点作位移>: 指定位移的第二点或<用第一点作位移>: 指定位移的第二点或 <用第一点作位移>:⑸继续使用“复制”命令,选择3个圆,基点任意,追踪60°方向,输入复制距离20,这个20就是圆的直径(如图所示)命令: _copy选择对象: 指定对角点: 找到 3 个选择对象:指定基点或位移,或者 [重复(M)]: 指定位移的第二点或 <用第一点作位移>: 20⑹使用同样的方法复制出上面的圆(如图所示) ⑺使用多段线绘制一个辅助三角形(如图所示)⑻使用偏移命令向外偏移一个三角形,偏移距离为10,这个10是圆的半径(如图所示)⑼使用“缩放”命令,参照缩放为题目要求尺寸80,删除辅助线,添加尺寸标注,完成绘制(如图所示)10.21习题21:使用圆的相切命令画圆◆练习说明:1、此图是绘制圆的练习题;2、需要用到圆的“相切、相切、半径”和“相切、相切、相切”。◆操作提示:⑴先画一条任意长度的直线,然后选择这条直线,回车2次,指定A点为旋转基点,旋转角度为-43°,最后再画一条水平直线(如图所示)⑵使用“绘图”→“圆”→“相切、相切、半径”命令,指定对象与圆的第一个切点B、指定对象与圆的第二个切点C、输入半径30(如图所示)⑶使用“绘图”→“圆”→“相切、相切、相切”命令,指定圆上的3个切点1、2、3,绘制出一个圆,用同样的方法再画出另一个圆(如图所示)⑷添加尺寸标注,完成绘制(如图所示)10.22习题22:环形阵列画圆◆练习说明:1、此图是绘制圆的练习题;2、需使用环形阵列命令。◆操作提示:⑴先画一个半径为40的圆(如图所示)⑵使用“环形阵列”命令,阵列数目6个,追踪交点B为阵列拾取中心点(如图所示)⑶使用“圆”命令,捕捉圆心和交点画里面的圆(如图所示)⑷使用“修剪”命令,修剪外面的线段,然后添加尺寸标注,完成绘制(如图所示)10.23习题23:复制旋转绘制图形◆练习说明:1、此图是复制命令和旋转命令的练习题;2、需使用射线(ray)命令。◆操作提示:⑴使用“绘图”→“射线”命令(快捷键:ray),以A点为基点,画出2条射线(如图所示)⑵使用“复制”命令,键入M进行多重复制,水平复制2条射线,指定第一个距离为40,指定第二个距离为60(如图所示)命令: _copy选择对象: 找到 1 个选择对象:指定基点或位移,或者 [重复(M)]: m指定基点: 指定位移的第二点或 <用第一点作位移>: 40指定位移的第二点或 <用第一点作位移>: 60⑶选择水平射线,指定A点为基点,回车2次,逆时针旋转30°,并对其进行修剪(如图所示)⑷再次激活线段,以B点为基点,回车2次,键入C复制旋转,顺时针旋转-65°,复制旋转一条直线(如图所示)⑸画直线,并修剪辅助线段(如图所示)⑹添加尺寸标注,完成绘制(如图所示)10.24习题24:用方向绘制圆弧◆练习说明:1、此图是绘制圆弧的练习题,重点是圆弧的绘制方向;2、用(@-20,0)指定第二点在第一点的左边,这样绘制的圆弧就会在上面(因为圆弧默认方向是逆时针的)。◆操作提示:⑴使用“圆弧”命令,指定A点为起点,输入E回车,指定端点,(输入相对坐标@-20,0),得到端点B;输入半径-22(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点: @-20,0指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: r指定圆弧的半径: -22⑵继续使用“圆弧”命令,指定B为起点,输入E回车,指定端点A;输入半径-40(如图所示)⑶添加尺寸标注,完成绘制(如图所示)10.25习题25:使用多种圆弧命令方法绘制圆弧◆练习说明:1、此图将使用多种圆弧命令的方法绘制;2、中间的5段圆弧参照“习题1”的方法绘制。◆操作提示:⑴先画一条93的直线,然后使用“绘图”→“点”→“定数等分”命令,将直线5等分(如图所示)⑵使用“多段线”命令,参照“习题1”的方法绘制5段圆弧(如图所示)⑶通过圆心,画一条辅助线,长度任意(提示:需要设置极轴追踪的角度为300°)(如图所示)⑷使用“偏移”命令,在图上拾取圆弧的半径为偏移距离,偏移出另一段线条(如图所示)⑸删除辅助线,并使用“镜像”命令,镜像出另一条线段(如图所示)⑹使用“延伸”命令,选择图形,延伸圆弧到直线(如图所示)⑺使用“圆角”命令,选择半径R,输入圆角半径35,使2条线段圆角化(如图所示)命令: _fillet当前设置: 模式 = 修剪,半径 = 35.0000选择第一个对象或 [多段线(P)/半径(R)/修剪(T)/多个(U)]: r指定圆角半径 <35.0000>:⑻使用“绘图”→“圆”→“相切、相切、半径”命令,指定第一个切点A、指定第二个切点B,输入半径65(如图所示)命令: _circle 指定圆的圆心或 [三点(3P)/两点(2P)/相切、相切、半径(T)]: _ttr指定对象与圆的第一个切点:指定对象与圆的第二个切点:指定圆的半径: 65⑼使用“修剪”命令,修剪线段,并添加尺寸标注(如图所示)10.26习题26:使用辅助线和圆弧命令绘制◆练习说明:1、此图需要用到一些辅助线;2、绘制圆弧时,注意拾取点的顺序和输入尺寸的正负值。◆操作提示:⑴先画一条65的直线,然后向上复制或偏移一条距离为50的辅助线(如图所示)⑵通过圆心A点,画一个半径为66的辅助圆(如图所示)⑶通过B点,画一条55的直线,并连接其它线段,然后删除辅助线(如图所示)⑷使用“绘图”→“点”→“定数等分”命令,对此线段进行3等分(如图所示)⑸使用“圆弧”命令,参照以前圆弧的习题,注意拾取点的顺序和输入尺寸的正负值(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点:指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: r指定圆弧的半径: 12⑹删除辅助线,添加尺寸标注,完成绘制(如图所示)10.27习题27:利用多边形作辅助绘制圆弧◆练习说明:1、此图可以利用多边形绘制一段圆弧,然后阵列生成其余圆弧;2、绘制多边形处于顶点位置。◆操作提示:⑴先画一个直径为76的圆(如图所示)⑵使用“多边形”命令,绘制一个半径为38,内接于圆的8边形(如图所示)⑶继续使用“多边形”命令,绘制一个半径为(@0,45),内接于圆的8边形,这样8边形的顶点可以在正上方(如图所示)⑷使用“圆弧”命令,捕捉A、B、C三点,绘制一段圆弧,然后删除辅助线(如图所示)⑸使用“阵列”命令,阵列8个圆弧,并添加尺寸标注(如图所示)10.28习题28:利用圆作辅助线绘制图形◆练习说明:1、此图需要借助绘制圆作为辅助线完成;2、圆弧将使用圆心角[角度(A)]确定。◆操作提示:⑴先画一条横长82.5,竖长25的直线(如图所示)⑵使用“圆”命令,以A点为圆心,绘制半径为81的辅助圆;以B点为圆心,绘制半径为62的辅助圆(如图所示)⑶以A为基点,复制旋转这条直线,旋转角度为-77,然后通过C点水平画一条直线(如图所示)⑷修剪并删除辅助线(如图所示)⑸使用“圆弧”命令,指定起点A,输入e指定端点B,然后输入a用圆心角定弧,圆心角为55°(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点:指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: a指定包含角: 55⑹最后添加尺寸标注(如图所示)10.29习题29:借助辅助线绘制梯形◆练习说明:1、此图是绘制梯形的练习;2、需要借助绘制圆作为辅助线完成。◆操作提示:⑴先画一条长为78的直线,然后以A点为圆心绘制一个半径为65的辅助圆(如图所示) ⑵选择直线,使用复制移动或偏移命令,绘制出上面的直线,距离为58(如图所示)⑶连接直线,并水平绘制一条长为15的直线(如图所示)⑷删除辅助线,连接剩余直线,并添加尺寸标注(如图所示)10.30习题30:多重复制命令绘制图形◆练习说明:1、此图是使用多重复制命令[重复(M)]绘制完成。◆操作提示:⑴绘制一个95×55的矩形(@95,55)(如图所示)⑵选择“分解”命令,把矩形分解成4段独立直线,并对其进行5等分和6等分(如图所示)⑶捕捉交点,绘制出两段直线(如图所示)⑷选择“复制”命令,指定A点为复制基点,并对此直线进行多重复制(如图所示)选择对象:指定基点或位移,或者 [重复(M)]: m⑸选择“直线”命令,连接两点绘制一条辅助线(如图所示)⑹选择“复制”命令,选定这几条线段作多重复制,捕捉辅助线的中点为复制基点,然后捕捉端点复制出上面的线段(如图所示)选择对象:指定基点或位移,或者 [重复(M)]: m⑺删除辅助线,复制里面剩余的2条线段,并移动外面的2条直线(如图所示)⑻旋转图形,旋转角度为32°,并添加尺寸标注(如图所示)10.31习题31:使用多边形的边长E命令◆练习说明:1、此图由几个同样的图形组成,可以绘制一个后,阵列生产其它;2、需要用到多边形的边长[边(E)]命令。◆操作提示:⑴使用“多边形”命令,数目为3,输入“e”定边长,边长为48(如图所示)命令: _polygon 输入边的数目 <3>:指定正多边形的中心点或 [边(E)]: e指定边的第一个端点: 指定边的第二个端点: 48⑵绘制两条辅助线(如图所示)⑶使用“圆弧”命令,捕捉三个交点绘制3个圆弧(如图所示)⑷删除辅助线,并对其进行环形阵列,阵列数目为6个,拾取3个角的任意角为阵列中心点,最后添加尺寸标注(如图所示)10.32习题32:使用圆角命令绘制图形◆练习说明:1、此图主要是用圆角命令绘制;2、5个圆可以先画一个。然后阵列生产其它。◆操作提示:⑴使用“多边形”命令,数目为5,输入“e”定边长,边长为30,完成后,选择“分解”命令,炸开多边形(如图所示)命令: _polygon 输入边的数目 <5>:指定正多边形的中心点或 [边(E)]: e指定边的第一个端点: 指定边的第二个端点: 30⑵选择“圆角”命令,圆角半径为10,对5个边进行圆角(如图所示)命令: _fillet当前设置: 模式 = 修剪,半径 = 10.0000选择第一个对象或 [多段线(P)/半径(R)/修剪(T)/多个(U)]: r指定圆角半径 <10.0000>: ⑶继续使用“圆角”命令,圆角半径为5(如图所示)⑷使用“绘图”→“圆”→“相切、相切、半径”命令,画一个半径为10的相切圆(如图所示)⑸绘制两条辅助线相交于A点,以A点为中心点进行环形阵列,阵列数目为5(如图所示)⑹删除辅助线,添加尺寸标注(如图所示)10.33习题33:使用圆心角和偏移绘制圆弧◆练习说明:1、此图是练习圆弧绘制的题;2、需要用到圆心角定圆弧的方法。◆操作提示:⑴先画一个5×5的辅助矩形(@5,5),然后再画一个圆(如图所示)⑵选择“圆弧”命令,指定圆心[圆心(C)],以A点为圆心,以B点为起点,指定圆心角[角度(A)],输入顺时针-90°(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]: c指定圆弧的圆心:指定圆弧的起点:指定圆弧的端点或 [角度(A)/弦长(L)]: a指定包含角: -90⑶继续使用“圆弧”命令,分别以四边形的角为圆心,以上一段弧的终点为起点,继续绘制3条圆弧,操作步骤同⑵(如图所示)⑷使用“偏移”命令,在图形上拾取偏移距离,然后分别对5条弧线进行偏移(如图所示)⑸最后再画一段圆弧,删除辅助线,添加尺寸标注(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点:指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: a指定包含角: 18010.34习题34:复制旋转命令绘制图形◆练习说明:1、此图是练习圆弧绘制的题;2、先画一半,然后复制旋转另一半。◆操作提示:⑴先画一个直径为76的圆,再画一条半径作为辅助线,然后4等分这条直线(如图所示)⑵选择“圆弧”命令,绘制一段圆弧,方法与“习题33”相同(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]: c指定圆弧的圆心:指定圆弧的起点:指定圆弧的端点或 [角度(A)/弦长(L)]: a指定包含角: 90⑶使用“偏移”命令,在图形上拾取偏移距离,偏移出2条圆弧(如图所示)⑷绘制直线(如图所示)⑸使用对象追踪到圆心,用“圆弧”命令,指定A为起点,B为端点,角度为180°,画这段圆弧(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点:指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: a指定包含角: 180⑹使用“绘图”→“圆”→“相切、相切、相切”命令,捕捉3个切点绘制圆(如图所示)⑺使用“修剪”命令,修剪线段,并删除辅助线(如图所示)⑻使用复制旋转命令,捕捉圆心为复制旋转基点,回车2次,进行复制旋转,选择角度为180°(如图所示)** 旋转 **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: c** 旋转 (多重) **指定旋转角度或 [基点(B)/复制(C)/放弃(U)/参照(R)/退出(X)]: 180⑼添加尺寸标注,完成绘制(如图所示)10.35习题35:使用复制命令绘制图形◆练习说明:1、此图与“习题20”相同;2、先画圆,然后复制、缩放完成。◆操作提示:⑴先画一个半径为10的圆,方便复制计算(如图所示)⑵向上复制一个圆,复制距离为直径20(如图所示)指定拉伸点或 [基点(B)/复制(C)/放弃(U)/退出(X)]: c** 拉伸 (多重) **指定拉伸点或 [基点(B)/复制(C)/放弃(U)/退出(X)]: 20⑶启用极轴追踪,追踪到30°方向,复制一个圆(如图所示)⑷使用“镜像”命令,通过圆心,镜像出另一半(如图所示) ⑸以圆心A、B为角点,绘制一个辅助矩形,然后向外偏移,偏移距离为10(如图所示)⑹使用“缩放”命令,进行[参照(R)]缩放,缩放为题目要求尺寸(如图所示)(完结)10.36习题36:综合绘制图形◆练习说明:1、此图需要用到很多辅助线;2、使用对齐标注尺寸方法。◆操作提示:⑴先画2条直线,按照题目尺寸要求(如图所示)⑵选择“旋转”命令,使用[参照(R)]旋转方法,旋转角度0(如图所示)指定基点:指定旋转角度或 [参照(R)]: r指定参照角 <0>: 指定第二点:指定新角度: 0⑶开始绘制辅助线:先偏移直线,偏移距离为28,然后以A点为圆心,画半径为34的圆;以B点为圆心,画半径为105的圆(如图所示)⑷连接线段,然后删除辅助线(如图所示)⑸绘制这段圆弧,以A点为起点,B点为端点,画半径25的弧,最后添加尺寸标注(如图所示)命令: _arc 指定圆弧的起点或 [圆心(C)]:指定圆弧的第二个点或 [圆心(C)/端点(E)]: e指定圆弧的端点:指定圆弧的圆心或 [角度(A)/方向(D)/半径(R)]: r指定圆弧的半径: 25用第一点作位移>用第一点作位移>用第一点作位移>用第一点作位移>用第一点作位移>用第一点作位移>否>继续>在编程时你一定碰到过时间触发的事件,在VB中有timer控件,而ASP中没有,假如你要不停地查询数据库来等待一个返回结果的话,我想你一定知道,它会耗费大量的CPU资源,如果和我所说的一样,而你又没更好的解决办法,可以参照下面的做法:
set cnn=server.createobject(“adodb.connection”)
waittime=“waitfor delay ''''00:00:01''''” ''''
在sql服务器端延时1秒,这是关键 sql2=“select * from database” begintime=now() quittime=0
''''查询数据库5秒,每1秒查一次 do while quittime<5 ''''延时处理
cnn.Execute waittime ''''调用存储过程查询
set rs=cnn.execute(sql2) quittime=datediff(“s”,begintime,now()) loop