AUTO3解析
3Auto CAD基本编辑
倒角(CHAMFER) 3.9 倒角(CHAMFER)
功能:相当于将两个实体(或多段线的两边)切去一刀, 功能:相当于将两个实体(或多段线的两边)切去一刀, 再将切断处用线段连接起来. 再将切断处用线段连接起来. 注释:选择距离时,两条线段的交点 交点到第一次被选线段 注释:选择距离时,两条线段的交点到第一次被选线段 切点的距离为距离1 的距离为距离 将两个距离都设为0 被切点的距离为距离1,如将两个距离都设为0,且为修 剪模式,则该命令可使两线相交.选择角度时, 剪模式,则该命令可使两线相交.选择角度时,需要指 定距离1 定义同上),然后指定角度, ),然后指定角度 定距离1(定义同上),然后指定角度,为线段在切点 与切线的夹角. 与切线的夹角. 下拉式菜单: 修改] 倒角] 1,下拉式菜单:[修改]-[倒角] 命令: 2,命令:CHAMFER / CHA 3,工具条 4,实例
比例缩放(SCALE) 3.5 比例缩放(SCALE)
功能: 通过输入比例因子或参照R 功能: 通过输入比例因子或参照R,使被选对象 X,Y和 方向等比例放大或缩小. 在X,Y和Z方向等比例放大或缩小. 注释:输入R 指定一个距离或回车( 注释:输入R,指定一个距离或回车(即输入 1),指定另一距离, 1),指定另一距离,此时将以新长度除以参考长 度作为缩放比例因子.操作时:通过选择一个基 度作为缩放比例因子.操作时:通过选择一个基 点和两个参照点指定参照长度和新长度进行缩放. 点和两个参照点指定参照长度和新长度进行缩放. 1. 下拉式菜单: [修改]-[比例] 下拉式菜单: [修改 修改] 比例] 命令: 2. 命令: SCALE / SC 3. 工具条 4. 实例2 实例2
3.7 复制(COPY) 复制(COPY)
功能:通过指定两点,使被选对象在指定位置生成一个 功能:通过指定两点, 或多个副本,而不需要重复的绘制, 或多个副本,而不需要重复的绘制,从而提高绘图的效 率. 注释:第二点(偏移点)减去第一点(基点) 注释:第二点(偏移点)减去第一点(基点)得到的向量为 偏移量. 选项M 多次输入第二点,进行多次复制. 偏移量. 选项M,多次输入第二点,进行多次复制. 下拉式菜单: 修改] 复制] 1,下拉式菜单:[修改]-[复制] 命令: 2,命令:COPY / CO / CP 3,工具条 4,实例 剪贴板有三个基本操作:剪切,复制,粘贴. 5,剪贴板有三个基本操作:剪切,复制,粘贴.
x3操作
驾驶飞船中的操作U - Auto Pilot自动驾驶(靠港) 开/关选取飞船时,会自动尾随目标。
选取太空站时,会自动靠港(有些太空站当你名声值不够高时,不允许你靠港)Auto Pilot注意事项:某些星系的AI route有问题,你如果一进该星系就开启Auto Pilot,它会让你去撞传送门,小则船身受伤,大则撞到Game Over 所以最好是离开传送们一段距离再开Auto Pilot快捷键F - 查看货舱物品清单O - 打开货舱门(会关闭护罩)Shift + E - Eject 弹射离开飞船Shift + H - HUD 开/关,关掉可以让游戏流畅很多,但是玩的下去吗Z - 加速X - 减速TAB - 引擎全开(需配备Boost Extenstion)<-BackSpace - 引擎停止Q - 向左翻滚E - 向右翻滚·左Alt - 望远镜功能,按住Alt会一直放大,松开后会自动回复正常(需配备Video Enhancement Goggles)·J - 加速功能(需配备SETA extension),时间及飞行速度都变快,可在OPTION中调整加速倍速,我是选10X·Shift + J - 使用Jump Drive(需要有足够的Energy Cells才能跳跃到选取的星系)以下都是要在你的扫描仪范围内才侦测的到(Triplex Scanner的扫描范围最广)·i - 识别所选取的目标物·t - 侦测正前方的目标物(当前方无目标时,会持续闪动扫描。
当有目标物进物扫描范围时,并自动将它当成目标)·PageUp (或滚轮向上) - 下一个目标物·PageDown (或滚轮向上) - 上一个目标物Shift + t - 侦测离自己最近的敌人,并自动将它当成目标Home - 下一个敌人目标物End - 上一个敌人目标物Insert - 下一个你拥有的飞船/卫星Delete - 上一个你拥有的飞船/卫星呼叫菜单的操作Enter - 呼叫快速选单右方数字键盘Enter - 呼叫主要选单Shift + O(这是殴) - 呼叫OPTION选单Shift + S - 呼叫存档选单Shift + L - 呼叫读档选单(任何太空站都可以储存进度。
中视广信前端面试题目(3篇)
第1篇一、基础知识1. 请简述HTML、CSS和JavaScript的基本概念。
HTML(HyperText Markup Language):超文本标记语言,是网页内容的结构化表示,用于创建网页。
CSS(Cascading Style Sheets):层叠样式表,用于控制网页元素的样式和布局。
JavaScript:一种脚本语言,用于实现网页的交互性。
2. 请解释盒模型的概念。
盒模型是CSS中的一种布局模型,将元素视为一个矩形盒子,包括内容(content)、内边距(padding)、边框(border)和边距(margin)。
盒模型可以影响元素的大小和位置。
3. 请列举CSS选择器的几种类型。
CSS选择器有以下几种类型:- 标签选择器(如:div)- 类选择器(如:.class)- ID选择器(如:id)- 属性选择器(如:[type="text"])- 伪类选择器(如:a:hover)- 伪元素选择器(如:::after)4. 请解释BFC(块级格式化上下文)的概念。
BFC(Block Formatting Context)是Web页面中的一块隔离的渲染区域,具有以下特点:- 内部的盒会在垂直方向一个接一个地放置。
- 属于同一个BFC的两个相邻的盒不会发生重叠。
- BFC内部的元素不会影响到外部元素。
- BFC可以包含浮动的元素(清除浮动)。
5. 请解释Flexbox布局的特点。
Flexbox布局是一种用于实现响应式设计的布局方式,具有以下特点:- 可以轻松实现水平、垂直居中。
- 可以设置元素间的间距和排列顺序。
- 可以设置元素的大小和伸缩比例。
- 可以支持响应式设计。
6. 请解释CSS的优先级规则。
CSS的优先级规则如下:- 选择器匹配的元素越多,优先级越高。
- 内联样式 > ID选择器 > 类选择器 > 标签选择器。
- 属性选择器、伪类选择器、伪元素选择器的优先级相同。
Grand Theft Auto 3 (1)解读
侠盗猎车手<<自由都市>>游戏手册游戏背景:自由都市Liberty City,一个梦想与现实、欲望和野心的交汇地。
成千上万个不同的故事曾发生在个城市里。
然而,只有下面这一个能改变所有的一切。
故事发生在由Portland、Staunton Island、Shoreside Vale三个的区组成的自由都市,整个城市里贪污、卖淫、收保护费、抢劫、纵火等犯罪异常猖獗。
每个地区都有不同的黑帮。
我想,这个城市是以纽约为基础,有9个无线电台就像真实生活中的电台一样爱挖苦人。
每个地区都有不同的藏身处、风景和独有的交通工具。
下面是一张黑帮的名单,写明了他们的成员、朋友和势力范围。
Leone家族是自由都市内有数的犯罪家族之一,这个家族曾经有一个叫做Toni Cipriani的优秀成员因为杀了一个疯狂的男人后不得不躲藏起来。
而现在,Toni回来了,也是时候将一切恢复到原来的样子。
如今的自由都市已经彻底笼罩在混乱中:敌对的帮派为了争夺街道的控制权而互相火拼;政治腐败的余波已经开始令城镇步向自我毁灭的不归路;再加上组织性的大规模犯罪、毒品散布和连续的罢工活动,令所有人陷入紧张的不安中。
也因此,当Toni试图清理这个混乱的黑社会时,他身边竟然没有人可以信任。
疯狂的职业打手、道德败坏的企业家、愤世讥俗的政客,甚至就连Toni的亲生母亲都在阻止他令Leone家族重新掌握这个城市的控制权。
为了令自由都市回到它原来的根基,Toni必须不择手段才能达到这个目地。
新的自由都市故事,就从这里开始……主要人物:Toni Cipriani本作主角。
多年前因杀人而潜逃,现在重新回到故乡自由都市的Toni将为了令这个城市重回正轨而战。
这个角色来自PS2GTA3代中主角的老板之一。
本作的背景设定为1998年的自由都市,发生在GTA3的2001年的三年前。
也因此Toni比GTA3时苗条了许多。
平时的Toni还算是个精悍的黑帮份子,但是一旦有人侮辱他母亲做的料理的话就会暴走发怒。
AutoIt v3(AU3) 基础教程
AUTOIT3中文教程 - GOOGLECODE
AutoIt3中文教程<1.1>AutoIt v3 预览介绍AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。
通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。
AutoIt 最初是为PC(个人电脑)的“批量处理”而设计,用于对数千台PC进行(同样的)配置,不过随着v3版本的到来它也很适合用于家庭自动化和编写用以完成重复性任务的脚本。
AutoIt 可以做的事:•运行 Windows 及 DOS 下的可执行文件•模拟键击动作(支持大多数的键盘布局)•模拟鼠标移动和点击动作。
•对窗口进行移动、调整大小和其它操作。
•直接与窗口的“控件“交互(设置/获取文字、移动、关闭,等等)•配合剪贴板进行剪切/粘贴文本操作•对注册表进行操作不同于 AutoIt v2,新的v3版本含有更多的标准语法——类似于VBScript和BASIC——而且现在支持更复杂的表达式、用户函数、循环以及脚本编写老手们所期待的其它所有内容。
正如前一个版本一样,AutoIt 被设计得尽可能小(大约115KB)并且不用依赖外部DLL文件或添加注册表项目即可独立运行。
使用 Aut2Exe 这个工具即可把脚本文件编译为可独立运行的文件。
此外我们还更新了 AutoIt 的 ActiveX 和 DLL 版本——AutoItX,与v2版本不同的是,这是个组件化的语言(COM 同一DLL文件中的标准DLL函数)。
AutoItX 将使得您可以加入一些AutoIt 独有的特性到您最常用的脚本语言或程序设计语言中去!请查看 AutoItX 的帮助文档(开始 \ 所有程序 \ AutoIt v3 \ Extras \ AutoItX \ AutoItX Help File)以获得更多信息和示例。
Automod简介
AutoMod
第四節 範例練習
(1/2)
模組一:AutoMod的簡介 - 建構你的第一個 AutoMod模式
系統概況:本模式主要模擬貨車進入工廠的停車場的
作業,系統的效能主要為工廠大門檢核資料文件的使 用率,以及停車空間的數量。
系統描述:假設貨車以指數分佈平均每6分鐘的速度到
達一部,在進入工廠前需在門口查核文件,所需時間 為常態分配平均5分鐘,標準差為1分鐘。在進入工廠 後停在有四個停車位的停車區卸貨,平均每部車卸貨 時間為均勻分配15 – 25分鐘,之後貨車即離開工廠。
AutoMod
程序系統 (Process System)
(1/2)
一個AutoMod的模式(model)原則上只有一個程序
系統(Process System),但可以有很多子系統(subsystems) , 且 該 程 序 系 統 可 包 含 很 多 程 序
(Processes)。
AutoMod
AutoMod
關閉AutoMod
(1/2)
AutoMod
關閉AutoMod
(2/2)
AutoMod
AutoMod學生版限制
(1/4)
在AutoMod的學生版中建構模式會有實體上的限
制,一個模式中實體不能超過200個,而11.0版以
前的版本限制為100個,這些實體指的就是如人員、
設備、儲存區等等。
第二章automodautomod基本操作與簡介第一節automod基本操作12?automod環境?開啟automod?建構模式automod?執行模式?啟動模擬暫停模擬?調整模擬動畫速度第一節automod基本操作22?3d模擬動畫開關轉換?改變視野view?控制快速鍵automod?關閉automod?automod學生版限制?automod學生版與專業版之切換第二節automod基本架構檔案系統程序系統子系統執行系統分析系統automodautomod路線移動系統輸送帶系統天車系統系統自動倉儲系統橋式起重機系統子模式管線與儲存槽系統第三節automod基本概念?程序系統processsystem?搬運系統movementsystem?loadsautomod?擺放loads的區域territory和空間space?系統命名習慣?entity命名習慣第四節範例練習12?模組一
automodelforcausallm进行指令微调-概述说明以及解释
automodelforcausallm进行指令微调-概述说明以及解释1.引言1.1 概述概述部分的内容可以从automodelforcausallm(自动模型因果语言模型)进行指令微调的背景和意义入手。
可以简单介绍自然语言处理技术的发展和应用广泛性,以及由此带来的挑战和需求。
接着,可以引入automodelforcausallm作为一种新的自动模型因果语言模型,并说明它在指令微调领域的独特性和优点。
该模型结合了因果推理和语言模型的特点,在处理复杂指令任务时具有良好的性能。
通过进行指令微调,模型可以学习并适应特定领域的指令数据,提高对指令的理解和生成能力。
此外,可以提及automodelforcausallm在自动驾驶、智能客服、智能助理等领域的应用前景,并对本文中将要介绍的内容进行总结。
最后,可以概括强调automodelforcausallm进行指令微调的重要性,为读者引起兴趣,带入后续章节的内容。
1.2文章结构1.2 文章结构文章将按照以下结构进行论述:引言部分将提供对本篇文章的概述,包括automodelforcausallm进行指令微调的重要性和应用领域。
同时,还会介绍文章的目的,即探讨指令微调在automodelforcausallm 中的实施方法和效果。
正文部分将详细介绍automodelforcausallm 的基本概念和原理。
首先,会对automodelforcausallm 进行全面的介绍,包括其应用领域和其在因果关系建模中的重要性。
紧接着,会对指令微调的概念进行解释,包括其定义、原理和应用场景。
接下来,我们将探讨指令微调在automodelforcausallm 中的具体实施方法。
这将包括数据收集和准备、模型选择和设置、指令微调的步骤和技巧等内容。
我们将对每个步骤进行详细说明,并提供实际案例来加深理解。
结论部分将对automodelforcausallm 进行指令微调的重要性进行总结。
autosize解析 -回复
autosize解析-回复什么是autosize解析?Autosize解析是一种自动调整元素大小的技术,它可以根据内容的长度和宽度来自动调整元素的尺寸。
它通常应用于网页设计或移动应用开发中的文本输入框或文本区域,以确保输入的内容始终完全可见。
在过去,网页设计师或开发人员可能需要手动设置文本输入框或文本区域的尺寸,以适应不同的内容长度。
然而,这种做法可能导致输入的内容被截断或隐藏,给用户带来不便。
为了解决这个问题,autosize解析应运而生。
那么,如何实现autosize解析呢?实现autosize解析有很多方法,下面将一步一步回答:步骤1:导入autosize库要使用autosize解析,首先需要将autosize库导入到你的项目中。
autosize库是一个轻量级的JavaScript库,用于自动调整文本输入框或文本区域的尺寸。
在HTML文档中的<head>标签中添加以下代码,引入autosize库:html<script src="autosize.min.js"></script>步骤2:为目标元素添加类名接下来,在目标文本输入框或文本区域的HTML标签中添加一个类名,以示它需要被autosize解析。
例如,如果你要将一个textarea元素应用autosize解析,可以添加一个类名为“autosize”的样式类:html<textarea class="autosize"></textarea>步骤3:初始化autosize解析在载入页面的JavaScript代码中,使用以下代码初始化autosize解析:javascriptautosize(document.querySelectorAll('.autosize'));这段代码将会自动找到所有拥有“autosize”类名的文本输入框或文本区域,并对它们应用autosize解析。
AutodeskRobot结构设计分析软件教程(3)
AutodeskRobot结构设计分析软件教程(3)⼀、结构预览1.以彩图形式显⽰⾯板在这步中,我们来学习怎样在⾯板上显⽰已选⼯况下的彩图形式的结果: 1、在已选⼯况列表⾥,选择结果将要显⽰的荷载⼯况:2、从菜单中选择结果>彩图......,打开彩图对话框。
3、在详细的标签中,勾选出位移– u,w的z⽅向框。
4、勾选出有限元⽹格(对话框的底部):图解57 - 在⾯板上定义彩图的参数信息:要显⽰颜⾊的⽐例,在详细的标签下,勾选“打开带有⽐例显⽰的新窗⼝”显⽰框。
在⽐例标签下,你可以改变显⽰彩图的参数(调⾊板,⽐例类型选择),在这个例⼦中,选择调⾊板:256个颜⾊。
5、点击应⽤,关闭彩图对话框,然后扩展视图(通过伸展),点击全图图标,将模型视图最⼤化。
6、板的挠度的彩图应该显⽰如下:图解 58 - 板在z轴上的位移的彩图7、点击退出,关闭其它的窗⼝。
关闭彩图显⽰,回到彩图对话框,清除勾选,点击应⽤。
注意:以相似的⽅式,在详细的对话框中的其它可⽤值,也可以显⽰出来。
2.结构的变形在这步中,我们来学习怎样显⽰结构的变形。
1、点击屏幕底部的图标,关闭显⽰截⾯形状。
2、从菜单中选择结果>结构图表......,打开结构图表对话框。
3、在变形标签下,勾选变形框,然后点击规范化按钮(⾃动⽐例)。
结构的变形应该显⽰如下:图解60 -结构的变形注意:以相似的⽅式,在在杆上的彩图对话框中可以显⽰其它的可⽤值(如下):图解61 - 在杆上的彩图对话框4、勾选变形和应⽤,然后关闭结构图表对话框3.以表格形式显⽰⾯板在这步中,你会学到怎样显⽰计算的表格结果:1、从菜单中选择结果>板和壳结果,打开FE结果对话框,点击表格图标(屏幕右边的⼯具栏),勾选板和壳的结果选项,点击确定,关闭对话框。
图解62 - 表格显⽰的数值选择 2、点击⿏标右键,选择表格栏选项,打开有限元的结果对话框。
1、在详细的标签下,勾选如下选项:-----轴⼒---N:xx⽅向-----剪切⼒----Q:xx⽅向-----位移-----u,w: z⽅向(如下所⽰):图解63 - 表格内容的布置4、点击⾃动⽅向按钮,在打开的⽅向的选择对话框中,选择⾃动选项:图解 64 - ⾯板局部坐标系统在X⽅向上的定义信息:在FE结果显⽰界⾯上,⽤户可以使⽤⽅向的选择窗⼝定义坐标系统的主要⽅向(更准确地说,可以定义X轴),在本例中我们使⽤⾃动选项,因此根据已定义的每个板的系统,程序将会⾃动选择局部结果系统。
autojs findone用法
autojs findone用法(原创实用版)目录1.Auto.js 简介2.findone 函数的作用3.findone 函数的语法4.findone 函数的实例解析正文1.Auto.js 简介Auto.js 是一款强大的 JavaScript 编辑器,主要用于编写 Android 平台下的自动化脚本。
通过使用 Auto.js,用户可以轻松地实现各种自定义功能,如界面操作、网络访问等。
在 Auto.js 中,有许多内置函数可供开发者使用,其中 findone 函数就是常用的一种。
2.findone 函数的作用findone 函数是 Auto.js 中的一个查找函数,主要用于在指定的元素集合中查找某个元素是否存在。
该函数在编写自动化脚本时十分实用,例如在模拟用户操作界面时,需要确保某个按钮或视图已经显示在屏幕上,这时就可以使用 findone 函数进行查找。
3.findone 函数的语法findone 函数的语法如下:```javascriptvar result = findone(element, selector);```其中,`element`表示要查找的元素,`selector`表示筛选条件。
如果查找成功,则返回元素对象;如果查找失败,则返回 null。
4.findone 函数的实例解析下面举一个简单的例子来说明如何使用 findone 函数:假设我们有一个 Activity 界面,其中有一个按钮,按钮的 ID 为`button_id`。
现在我们需要编写一个脚本来检查该按钮是否显示在屏幕上。
可以使用 findone 函数进行查找,代码如下:```javascript// 获取按钮的引用var button = findviewbyid(button_id);// 使用 findone 函数查找按钮是否存在var result = findone(button, function(element) {return element.id == button_id;});// 判断查找结果if (result!= null) {console.log("按钮存在");} else {console.log("按钮不存在");}```以上代码首先使用 findviewbyid 函数获取按钮对象,然后使用findone 函数根据按钮的 ID 进行查找。
auto在c++中用法
auto在c++中用法在C++中,关键字"auto"用于自动推导变量的类型。
它是C++11引入的新特性,旨在简化代码并增加代码的可读性。
下面我将从多个角度全面地介绍"auto"在C++中的用法。
1. 自动类型推导:使用"auto"关键字可以让编译器根据变量的初始化表达式自动推导出变量的类型。
例如:cpp.auto num = 10; // 推导为int类型。
auto str = "Hello"; // 推导为const char类型。
auto result = add(5, 3); // 推导为函数add的返回类型。
这样可以省略显式地指定变量类型,使代码更加简洁和易读。
2. 迭代器和范围循环:"auto"关键字在处理迭代器和范围循环时非常有用。
例如:cpp.std::vector<int> numbers = {1, 2, 3, 4, 5};for(auto it = numbers.begin(); it != numbers.end(); ++it) {。
// 使用auto推导出迭代器类型。
std::cout << it << " ";}。
for(auto& num : numbers) {。
// 使用auto推导出范围循环中元素的类型。
std::cout << num << " ";}。
这样可以避免手动指定迭代器或范围循环中元素的类型,使代码更加简洁和易读。
3. 函数返回类型:"auto"关键字也可以用于函数的返回类型,特别是在返回类型比较复杂或依赖于函数参数的情况下。
例如:cpp.auto add(int a, int b) -> decltype(a + b) {。
初一英语词汇记忆方法练习题30题
初一英语词汇记忆方法练习题30题1. 单词:apple,图片是一个苹果。
A. 香蕉B. 苹果C. 橘子答案:B。
解析:图片中是一个苹果,选项 A 香蕉与图片不符,选项C 橘子也与图片不符,只有选项B 苹果正确。
2. 单词:cat,图片是一只猫。
A. 狗B. 猫C. 兔子答案:B。
解析:图片是一只猫,选项A 狗错误,选项C 兔子错误,只有选项B 猫正确。
3. 单词:book,图片是一本书。
A. 铅笔B. 书C. 橡皮答案:B。
解析:图片是一本书,选项A 铅笔错误,选项C 橡皮错误,只有选项B 书正确。
4. 单词:desk,图片是一张书桌。
A. 椅子B. 书桌答案:B。
解析:图片是一张书桌,选项 A 椅子错误,选项 C 床错误,只有选项B 书桌正确。
5. 单词:pencil,图片是一支铅笔。
A. 钢笔B. 铅笔C. 尺子答案:B。
解析:图片是一支铅笔,选项 A 钢笔错误,选项 C 尺子错误,只有选项B 铅笔正确。
6. 单词:bird,图片是一只鸟。
A. 蝴蝶B. 鸟C. 蜜蜂答案:B。
解析:图片是一只鸟,选项A 蝴蝶错误,选项C 蜜蜂错误,只有选项B 鸟正确。
7. 单词:flower,图片是一朵花。
A. 草B. 花C. 树答案:B。
解析:图片是一朵花,选项A 草错误,选项C 树错误,只有选项B 花正确。
8. 单词:sun,图片是太阳。
B. 太阳C. 星星答案:B。
解析:图片是太阳,选项A 月亮错误,选项C 星星错误,只有选项B 太阳正确。
9. 单词:tree,图片是一棵树。
A. 草B. 花C. 树答案:C。
解析:图片是一棵树,选项A 草错误,选项B 花错误,只有选项C 树正确。
10. 单词:dog,图片是一只狗。
A. 猫B. 狗C. 兔子答案:B。
解析:图片是一只狗,选项A 猫错误,选项C 兔子错误,只有选项B 狗正确。
11. The word “telephone” contains the root “tele-” which means _____.A.nearB.farC.under答案:B。
autoit3函数用法
{系统环境变量}EnvUpd ate ( );更新环境变量EnvGet ( "变量名称" );取环境变量ClipGe t ( );取剪辑板文本EnvSet ( "变量名称" [, "值"] );置环境变量ClipPu t ( "文本" );置剪辑板文本{文件,目录,磁盘管理}IniRea d ("文件名", "功能区", "关键字", "缺省值" );Ini文件读关键字的值IniDel ete ( "文件名", "功能区", "关键字" );Ini文件删除关键字IniWri te ( "文件名", "功能区", "关键字", "值" );Ini文件写关键字的值FileIn stall ( "源文件", "目标文件" [,参数] );安装文件FileFi ndFir stFil e ( "文件名" );查找文件(第一次)FileFi ndNex tFile ( 文件号);查找文件(继续)FileRe cycle ( "源文件" );放入回收站FileCh angeD ir ( "目录" );改变当前目录FileCr eateS hortc ut ( "文件名", "快捷方式名" [, "工作目录", "args", "desc", "图标", "热键"] ) ;建立快捷方式DirCre ate ( "目录" );目录创建DirCop y ( "源目录", "目标目录" [,参数] );目录复制DirRem ove ( "目录" [,参数] );目录删除DirMov e ( "源目录", "目标目录" [,参数] );目录移动DriveG etDri ve ( "类别" );驱动器查找FileGe tLong Name( "完整路径和文件名" )DriveS paceT otal( "路径" );取磁盘空间DriveS paceF ree ( "路径" );取磁盘剩余空间FileGe tShor tName ( "完整路径和文件名" );取短文件名DriveG etLab el ( "路径" );取驱动器卷标DriveG etTyp e ( "路径" );取驱动器类型DriveG etFil eSyst em ( "路径" );取驱动器文件格式DriveG etSer ial ( "路径" );取驱动器序列号DriveS tatus ( "路径" );取驱动器状态FileGe tVers ion ( "文件名" );取文件版本FileGe tSize ( "文件名" );取文件大小FileGe tTime ( "文件名" [,选项] );取文件日期FileGe tAttr ib ( "文件名" );取文件属性FileSa veDia log ( "标题", "初始目录", "文件类型" [,选项] ) ;文件保存对话框FileOp en ( "文件名",打开方式);文件打开FileOp enDia log ( "标题", "初始目录", "文件类型" [,选项] ) ;文件打开对话框FileRe ad ( 文件号或"文件名",字符个数);文件读FileRe adLin e ( 文件号或"文件名" [,行号] );文件读行FileCo py ( "源文件", "目标文件" [, 参数] );文件复制FileCl ose ( 文件号);文件关闭FileSe lectF older ( "提示文本", "根目录",参数);文件夹选择FileDe lete( "路径" );文件删除FileEx ists( "路径" )FileWr ite ( 文件号或"文件名" , "内容" );文件写FileWr iteLi ne ( 文件号或"文件名" , "内容");文件写行FileMo ve ( "源文件", "目标文件" [,参数] );文件移动DriveS etLab el ( "路径", "卷标名" );置驱动器卷标FileSe tTime ( "文件", "日期", 选项[,参数] );置文件日期FileSe tAttr ib ( "文件", "+-RASHNO T" [,参数] );置文件属性{键盘控制}Send ( "按键" [,参数] );发送HotKey Set ( "热键" [, "自定义功能函数"] );置热键{鼠标控制}MouseG etCur sor ( );取鼠标指针类型MouseG etPos ( );取鼠标坐标MouseD own ( "按键" );鼠标按下MouseC lickD rag ( "按键", 第一点横坐标, 第一点纵坐标, 第二点横坐标, 第二点纵坐标[,速度] );鼠标按住拖动MouseC lick( "按键" [,横坐标,纵坐标[,次数[,速度]]] );鼠标点击MouseU p ( "按键" );鼠标放开MouseM ove ( 横坐标,纵坐标[,速度] );鼠标移动{数学函数}Exp ( n );e的n次平方BitNOT ( 数值);非运算BitOR( 值1,值2 );或运算Log ( 数字或数学表达式);取对数ACos (数字或数学表达式);取反余弦A Tan ( 数字或数学表达式);取反正切ASin ( 数字或数学表达式);取反正弦Abs (数字或数学表达式);取绝对值Mod ( 值1,值2 );取模数Sqrt ( 数字或数学表达式);取平方根Random ( [[最小值,]最大值] );取随机数Cos (数字或数学表达式);取余弦Tan ( 数字或数学表达式);取正切Sin ( 数字或数学表达式);取正弦Round(数字或数学表达式[,小数点后保留位数] );四舍五入BitXOR ( 值1,值2 );位或运算BitShi ft ( 值,移动数);位移运算BitAND ( 值1,值2 );与运算{信息框,对话框}Progre ssOn( "标题", "主文本" [, "子文本" [, 横坐标[, 纵坐标[,选项]]]] ) ;打开进度条窗口Progre ssOff ( );关闭进度条窗口Splash Off ( );关闭置顶窗口Progre ssSet ( 进度值[, "子文本" [, "主文本"]] );进度设置InputB ox ( "标题", "提示" [, "缺省文本" [, "密码符号" [,宽度,高度[,左边,右边[,等待时间]]]]] ) ;输入框MsgBox ( 按钮参数, "标题", "信息文本" [,等待时间] );信息框Splash Image On ( "标题", "图像文件名" [,宽度[,高度[,横坐标[,纵坐标[,选项]]]]] );置顶图像窗口Splash TextO n ( "标题","文本"[,宽度[,高度[,横坐标[,纵坐标[,选项[,"字体名称"[,"字体大小"[,"字体重量"]]]]]]]] );置顶文本窗口ToolTi p ( "提示文本" [,横坐标,纵坐标] );置提示文本TrayTi p ( "标题", "提示文本", 等待时间[,图标选项] );置托盘气泡提示(2000/xp){系统函数}SoundP lay ( "文件名" [,等待方式] );播放声音Call ( "自定义功能函数" );调用自定义功能函数CDTray ( "盘符", "开关命令" );光驱开关AdlibE nable ( "自定义功能函数" [,间隔时间] );激活意外窗口处理TimerS top ( 时间标志);计时结束TimerS tart( );计时开始Exit (0);结束AdlibD isabl e ( );禁止意外窗口处理BlockI nput( 参数);禁止用户输入Break( 参数);禁止用户退出MemGet Stats ( );取内存状态AutoIt WinGe tTitl e ( );取系统窗口标题PixelG etRGB(横坐标,纵坐标);取像素点RG B三色PixelG etCol or ( 横坐标, 纵坐标);取像素点颜色PixelS earch ( 左边, 顶边, 右边, 底边, 颜色值 [, shade-variat ion] [,间隔像素数]] ) ;搜索颜色URLDow nload ToFil e ( "连接地址及文件名", "存储到的文件名" );下载文件SetErr or ( 值);置变量@errorAutoIt WinSe tTitl e ( "新标题" );置系统窗口标题SoundS etWav eVolu me ( 音量大小);置音量{进程管理}Proces sWait ( "进程" [,等待时间] );等待进程存在Proces sWait Close ( "进程" [,等待时间] );等待进程关闭Proces sClos e ( "进程" );关闭进程Shutdo wn ( 关机方式);关机Proces sExis ts ( "进程" );进程是否存在Sleep( 时间);睡眠/暂停运行RunAsS et ( ["用户名", "domain", "密码"] );以别人身份登录运行RunWai t(@ComSpe c & " /c " & 'DOS命令行', "",参数);运行DOS命令RunWai t ( "文件名" [, "工作目录" [, 参数]] );运行并等待结束Run ( "文件名" [, "工作目录" [,参数]] );运行程序{注册表管理}RegRea d ( "键路径", "键名" );读键值RegDel ete ( "键路径" [, "键名"] );删除键RegWri te ( "键路径", "键名", "类型", 值);写键值{字符串管理}String Forma t ( "格式", $var1 [, ... $var32] );格式化字符串String Len ( "字符串" );取长度String Right ( "字符串",字符数);取右边String Mid ( "字符串",开始位置,字符数);取中间String Left( "字符串",字符数);取左边String Strip CR ( "字符串" );删除回车符String Strip WS ( "字符串",参数);删除空格String TrimR ight( "字符串",字符数);删除右边String TrimL eft ( "字符串",字符数);删除左边String IsASC II ( "字符串" );是否为ASC IIString IsDig it ( "字符串" );是否为阿拉伯数字String IsUpp er ( "字符串" );是否为大写String IsFlo at ( "字符串" );是否为浮点小数String IsSpa ce ( "字符串" );是否为空String IsXDi git ( "字符串" );是否为十六进制字符String IsAlN um ( "字符串" );是否为数字String IsLow er ( "string" );是否为小写String IsInt ( "字符串" );是否为整数String IsAlp ha ( "字符串" );是否为字母String AddCR ( "字符串" );添加换行符String Repla ce ( "字符串", "查找的字符串", "替换后的字符串" [,数量[,区分大小写]] ) ;文本替换String Upper ( "字符串" );转换为大写String Lower ( "字符串" );转换为小写String InStr ( "字符串", "字符" [,大小写] ) ;字符包含String Split ( "字符串", "参考符" );字符串分离{变量与转换函数}IsDecl ared( 变量);变量是否被声明Asc ( "字符" );取Asc码Eval ( 变量或表达式);取变量值UBound ( 数组名[,维数] );取数组大小Int ( 小数或表达式);取整Chr ( ASC码);取字符IsAdmi n ( );是否为管理员IsNumb er ( 变量);是否为数字IsArra y ( 变量);是否为数组IsFloa t ( 变量或数值);是否为小数IsInt( 变量或数值);是否为整数IsStri ng ( 变量);是否为字符Dec ( "十六进制" );转换为十进制Hex ( 十进制数, 长度);转换为十六进制Number ( 表达式);转换为数字String ( 表达式);转换为字符{窗口管理}WinExi sts ( "标题" [, "文字"] );窗口是否存在WinAct ive ( "标题" [, "文字"] );窗口是否激活WinSet OnTop ( "标题", "文字", 参数);窗口置顶WinWai t ( "标题" [, "文字" [,等待时间]] );等待窗口出现WinWai tClos e ( "标题" [, "文字" [,等待时间]] );等待窗口关闭WinWai tActi ve ( "标题" [, "文字" [,等待时间]] );等待窗口激活WinWai tNotA ctive ( "标题" [, "文字" [,等待时间]] );等待窗口取消激活状态WinMen uSele ctIte m ( "标题","文字","菜单项1" [,"菜单项2" [,"菜单项3"……]]) ;调用菜单WinClo se ( "标题" [, "文字"] );关闭窗口WinMin imize AllUn do ( );恢复“全部最小化”的窗口WinAct ivate ( "标题" [, "文字"] );激活窗口WinKil l ( "标题" [, "文字"] );强制关闭窗口WinGet Title ( "标题" [, "文字"] );取窗口标题WinGet Handl e ( "标题" [, "文字"] );取窗口句柄WinGet Clien tSize ( "标题" [, "文字"] );取窗口客户区大小WinGet Class List( "标题" [, "文字"] );取窗口类列表WinGet Text( "标题" [, "文字"] );取窗口文字WinGet Caret Pos ( );取窗口中控件坐标WinGet State ( "标题" [, "文字"] );取窗口状态WinGet Pos ( "标题" [, "文字"] );取窗口坐标WinMin imize All ( );全部最小化WinMov e ( "标题", "文字",横坐标,纵坐标[,宽度[,高度]] );移动窗口WinSet Title ( "标题", "文字", "新标题" );置窗口标题WinSet State ( "标题", "文字" ,参数);置窗口状态{控制管理}Contro lComm and ( "窗口标题", "窗口文字", "控件类名称", "命令", "选项" );发送控制命令Contro lSend ( "窗口标题", "窗口文字", "控件类名称", "文本" [,参数] );发送文本到控件Contro lDisa ble ( "窗口标题", "窗口文字", "控件类名称" );禁止控件Contro lGetF ocus( "窗口标题" [, "窗口文字"] );取焦点控件的类名称Contro lGetP os ( "窗口标题", "窗口文字", "控件类名称" );取控件位置Contro lGetT ext ( "窗口标题", "窗口文字", "控件类名称" );取控件文字Status barGe tText ( "窗口标题" [, "窗口文字" [, 状态栏部分]] );取状态栏文本Contro lSetT ext ( "窗口标题", "窗口文字", "控件类名称","新文本" );设置控件文本Contro lClic k ( "窗口标题", "窗口文字", "控件类名称" [,鼠标按键] [,点击次数]] );鼠标点击控件Contro lShow ("窗口标题", "窗口文字", "控件类名称");显示控件Contro lMove ( "窗口标题", "窗口文字", "控件类名称",横坐标,纵坐标[,宽度[,高度]] ) ;移动控件Contro lHide ("窗口标题", "窗口文字", "控件类名称");隐藏控件Contro lEnab le ( "窗口标题", "窗口文字", "控件类名称" );允许控进Contro lFocu s ( "窗口标题", "窗口文字", "控件类名称" );置焦点{系统设置}AutoIt SetOp tion( "MustDe clare Vars",参数);变量是否预先声明AutoIt SetOp tion( "WinTit leMat chMod e",参数);标题匹配方式AutoIt SetOp tion( "WinWai tDela y",参数);窗口等待延迟AutoIt SetOp tion( "SendAt tachM ode",参数);发送跟随模式AutoIt SetOp tion( "SendKe yDela y",参数);发送延迟AutoIt SetOp tion( "CaretC oordM ode",参数);符号坐标匹配方式AutoIt SetOp tion( "SendCa psloc kMode",参数);恢复大小写状态AutoIt SetOp tion( "WinDet ectHi ddenT ext",参数) ;检测隐藏文字AutoIt SetOp tion( "WinSea rchCh ildre n",参数);检测子窗口AutoIt SetOp tion( "SendKe yDown Delay",参数) ;键盘按下延迟AutoIt SetOp tion( "MouseC lickD ownDe lay",参数) ;鼠标按下延迟AutoIt SetOp tion( "MouseC lickD elay",参数);鼠标单击延迟AutoIt SetOp tion( "MouseC lickD ragDe lay",参数) ;鼠标拖动延迟AutoIt SetOp tion( "MouseC oordM ode",参数);鼠标坐标匹配方式AutoIt SetOp tion( "Expand EnvSt rings",参数);特殊符号扩展AutoIt SetOp tion( "TrayIc onDeb ug",参数);托盘代码提示AutoIt SetOp tion( "WinTex tMatc hMode",参数);文字匹配方式AutoIt SetOp tion( "PixelC oordM ode",参数);像素点坐标匹配方式AutoIt SetOp tion( "TrayIc onHid e",参数);隐藏托盘AutoIt SetOp tion( "RunErr orsFa tal",参数);遇错终止。
c3d格式解析
c3d格式解析摘要:1.C3D 格式概述2.C3D 文件的构成3.C3D 文件的解析方法4.C3D 文件的应用领域正文:【C3D 格式概述】C3D 格式,全称Cinema 3D,是一种由Autodesk 公司开发的三维图形文件格式。
C3D 文件可以包含三维模型的几何信息、纹理、材质、动画等多种数据,因此被广泛应用于三维建模、动画制作、虚拟现实、游戏开发等领域。
【C3D 文件的构成】一个C3D 文件通常由以下几个部分组成:1.文件头:包含文件的类型、版本和长度等信息。
2.节点:C3D 文件的核心构成部分,每个节点都代表一个三维物体或者一组物体的集合。
节点内部包含了物体的几何信息、材质、纹理等属性。
3.属性:每个节点可以包含多个属性,用于描述物体的性质。
例如,颜色、纹理坐标、材质名称等。
4.材质和纹理:C3D 文件可以包含多个材质和纹理,用于为物体表面赋予不同的外观和质感。
5.动画:C3D 文件可以包含动画数据,用于描述物体在时间上的运动变化。
【C3D 文件的解析方法】解析C3D 文件的过程主要包括以下几个步骤:1.读取文件头:首先读取文件头,获取文件类型、版本和长度等信息。
2.解析节点:根据文件头中的信息,逐个解析节点。
这包括读取节点类型、属性、子节点等。
3.解析材质和纹理:在解析节点的过程中,读取和解析材质和纹理信息。
4.解析动画:如果文件包含动画数据,需要读取和解析动画信息。
5.重建场景:根据解析得到的节点、材质、纹理和动画信息,重建三维场景。
【C3D 文件的应用领域】由于C3D 文件可以包含丰富的三维信息,因此被广泛应用于以下领域:1.三维建模:C3D 文件可以存储三维模型的几何信息,因此可以用于三维建模软件中的模型导入和导出。
2.动画制作:C3D 文件可以包含动画数据,因此可以用于制作动画电影、电视节目等。
3.虚拟现实:C3D 文件可以描述真实的三维环境,因此可以用于虚拟现实技术中的场景构建。
Model3车身电子技术解析(一)-前车身控制器
Model3车身电子技术解析(一)-前车身控制器导语当地时间2016年3月31日,继Model S及Model X之后,特斯拉发布该系列的第三款车型,也就是更紧凑、更简洁、更低拥有门槛的Model 3。
如果说Model S 和Model X是汽车届的两条鲶鱼,打破了原有的套路和平衡,那Model 3绝对可以称得上是一个新物种,对汽车行业真的可能是降维打击。
从本期开始,汽车小将将和大家一起,展开一个为期4期的专栏,从Model 3的Body Controller Front 到Body Controller Left 再到Body Controller Right,最后到车身电子的整体设计思路及归纳总结,深度剖析特斯拉的车身电子方案,来探讨下这个新物种到底将引起汽车行业的哪些变革。
今天我们开始第一期,Model 3前车身控制器Body Controller Front的剖析。
首先来看Body Controller Front的外观及安装位置。
Body Controller Front安装在特斯拉前行李舱中,蓄电池后部,防火墙左前上部:可以看到,由于布置在前行李舱,对防护等级及碰撞安全的要求很高,因此Body Controller Front采用了比较厚重的金属外壳包覆。
另外由于其除了传统的控制功能以外,还担任着其他控制器电源分配的角色,因此可以看到蓄电池的正极出线后,直接连接到了Body Controller Front:在拆开Body Controller Front上壳体后,便可以看到分布在其上方13个插接件,包含了控制相关的插接件以及电源分配相关的插接件:经统计,Body Controller Front的13个插接件共有PIN脚161个,其中可明确找到定义的PIN脚数量为108个。
Body Controller Front具体的PIN Mapping如下:接下来我们继续拆开Body Controller Front的塑料上壳体,其PCBA便展示出来了。
autolist详解
警告你現在所觀看的,將是一個沉悶無比的網頁,裡面沒有甚麼精美漂亮的圖片,有的絕大部份都是文字;但如果你是一個想學習使用AutoLISP 程式設計的人,則本網頁將是你不容錯過的.如果你是個初學者,則強烈建議你到課程教室去;在這裡你將可以由淺至深, 學習如何使用AuotLISP作程式設計,並附有練習.若你需要一些實用的程式作為參考,則可到程式下載去, 這裡有多個實用性甚高的程式可供下載;只要略作修改,即可附合不同情況的需要.如果你巳對AutoLISP相當熟識,又想學習如何建立及使用對話框,則可到對話方框去, 在這裡你可以學習使用DCL語言,並配合AutoLISP程式來開發對話框.第一课基本知識AutoLISP是一種針對擴充及自訂AutoCAD函數機能而產生,以LISP為基礎的程式設計語言.LISP本身於50年代末期出現,是一種擅於處理串列文字(List of Processing),屬第四代「人工智能(Artificial Intelligence)」的電腦語言.目的是令使用者充份利用AutoCAD進行開發,直接增加及修改AutoCAD指令. AutoLisp語言建基於普通的LISP語言上,並擴充了許多適用於CAD的特殊功能而形成. 是一種能以直譯方式(不須先行編譯)亦可於AutoCAD內部執行的直譯性程序語言.程式容易學習及撰寫,程式即使出錯亦不會對作業系統(如DOS,WINDOWS)有不良影響. 數據及程式均統一以串列(List)結構表示.可直接調用幾乎全部的AutoCAD命令.既具備一般高級語言的基本結構和功能,亦有一般高級語言沒有的強大圖形處理能力.內建於AutoCAD應用程式,不須另行購買;亦不須使用特定的編輯器或開發環境.可配合AutoCAD提供的PDB,建立DCL(Dialog Control Language)文件創建對話方塊.缺點: 執行速度較ObjectArx(舊稱ARX,以C或C++程式開發,取代以前的ADS)程式慢;原程式不易保護;對低階的硬體資料不易存取.第二课資料型態(Data Type)整數(INT)沒有小數位的數值,32位元有號數,範圍從+2,147,483,647到-2,147,483,648實數(REAL)帶小數位的數值,以倍精度浮點格式儲存(最少14位小數) e.g. 12.5當數值在1與-1之間時,必須加上前導零 e.g. 0.05可以科學記號表示: 在E或e後加上次方值 e.g. 4.1e-6字串(STR)一般文字,其前後必須加上雙引號" e.g. "AutoCAD"控制字元或脫逸碼必須為小寫,且須在字元前加上反斜線\ e.g. "\AutoCAD"圖元名稱(ENAME)是指定給圖檔內物件的指標(Pointer,為16進位的數字標籤)e.g. <Entity name:14e5180>圖元名稱在圖檔內是唯一的,不會重複物件的圖元名稱只在目前作業中有效,再開啟圖檔時,會指定新的圖元名稱予該物件檔案(FILE)以OPEN函數所開啟檔案的指標,作為其它函數(讀寫該檔案)的引數續下一課....第三课續上一課....資料型態(Data Type)選集(PICKSET)用SSGET等函數建立的一個或多個物件的集合或群組轉化(V ARIANT)可將圖元名稱轉換為可與ActiveX配搭使用的VLA-Object物件符號(SYM)用以儲存靜態資料的名稱;例如內建或使用者定義的函數符號名稱不分大小寫,可由任意長度的可列印字元組成;但下列的字元除外:左括號( 右括號) 句點. 單引號' 雙引號" 分號;表(LIST)亦稱為串列,是放在一對小括號( ) 內,一個或多個元素的有序集合e.g. (1.0 "Lisp" ( ) (5.6 7))元素可以是字串,符號,整數或實數;也可以是另一個表元素與元素之間要用空格隔開,但元素與小括號之間則可以不隔空格為便於存取表內各元素,每個元素均有其序號;從表的左邊開始,第一個元素序號為0,依此類推表的大小即為其頂層元素的數量(內層嵌套式的表,視為單一元素)點對(Dotted Pair)亦是表的一種;表內有2個元素,中間以一圓點分隔,且元素與圓點之間亦須以空格分開若表內沒有任何元素,稱為空串列或空表;以( ) 或(NIL) 表示第四课變數(Variable)為程式執行中動態儲存資料的符號名稱;主要分為2類:區域(Local)變數又稱為局部變數;該變數只在該程式段落中有效,不能為其它程式使用全域(Global)變數又稱為整體變數;變數在所有程式段落中均可使用變數名稱與符號的限制相同,使用時宜採用有意義及易於辨別的名稱變數在賦值或使用前無須先行設定相同的變數可以儲存不同型態的資料(但同一時間內只可儲存一種型態)在指定新的資料之前,變數儲存的內容會保持不變賦值將資料給予指定的變數儲存以內建函數SETQ進行(可用於繪圖模式的指令行或AutoLISP程式),其語法如下:(SETQ 變數名稱1 資料1 [變數名稱2 資料2 ....] )e.g. (SETQ NAME "David" AGE 37 WEIGHT 72.5 POINT (LIST 10 20))在函數名稱之後,各參數以兩個一組,每組左邊為變數名稱,右邊為存入變數的資料亦可將變數名稱賦以空值(NIL) :e.g. (SETQ OCCUPATION NIL)要顯示變數所儲存的資料,可以使用內建函數PRINC(可用於繪圖模式的指令行或AutoLISP程式),其語法如下:(PRINC 變數名稱)e.g. COMMAND : (PRINC NAME) Result : David"David"在繪圖模式中,亦可於指令行中使用感嘆號! 來顯示變數內容,或作為指令選項的輸入值;語法如下:!變數名稱e.g. COMMAND : !NAME Result : "David"在Visual LISP的主控台視窗中,於提示符號_$ 後鍵入要顯示的變數名稱_$變數名稱e.g. _$NAME要檢查變數所儲存的資料型態,可使用內建函數TYPE;語法如下:(TYPE 變數名稱)e.g. COMMAND : (TYPE NAME) Result : STR若檢查的變數沒有儲存資料,則會傳回NIL第五课練習(Exercises)將四個座標分別存入四個變數中,並以LINE或PLINE指令,配合四個座標變數,畫出正四邊形.COMMAND : (SETQ POINT1 (LIST 0 0) POINT2 (LIST 0 10) POINT3 (LIST 10 10) POINT4 (LIST 10 0)) COMMAND : LINE ;直線段指令COMMAND : !POINT1 ;第一點(左下角起點)COMMAND : !POINT2 ;第二點(左上角)COMMAND : !POINT3 ;第三點(右上角)COMMAND : !POINT4 ;第四點(右下角)COMMAND : C ;自動連線至起點以關閉四邊形畫圓: 將圓心座標及半徑長度分別存入兩個變數中(變數名稱及資料型態自訂)COMMAND : (SETQ CEN (LIST 0 0) RAD 20) ;將圓心點設為座標0,0;半徑為20 COMMAND : CIRCLE ;執行劃圓指令Specify center.... : !CEN ;在提示後以變數CEN回應輸入Specify radius.... : !RAD ;在提示後以變數RAD回應輸入將不同型態的資料,分多次存入相同的變數內;每次均以PRINC及TYPE函數顯示變數內容及其資料型態COMMAND : (SETQ TEMP 1.2) ;將實數1.2存入變數TEMPCOMMAND : !TEMP Result : 1.2COMMAND : (TYPE TEMP) Result : REALCOMMAND : (SETQ TEMP "AutoLISP") ;將字串存入變數TEMPCOMMAND : !TEMP Result : "AutoLISP"COMMAND : (TYPE TEMP) Result : STR第六课基本運算加函數(+ [數值參數1 數值參數2 ....] )e.g. (+ 2.5 4 6) Result : 12.5函數的結果為各參數之總和若僅提供一個參數,則以0加上此參數的結果為返回值若沒有提供任何參數則傳回0;各參數須為整數或實數型態若所有參數均為整數,結果亦為整數;若其中一個參數為實數型態,結果會轉換為實數減函數(- [數值參數1 數值參數2 ....] )e.g. (- 10 2 3) Result : 5結果為第一個(最左邊)參數減去其右邊各參數的總和若只提供一個參數,返回值為0減去該參數的結果若沒有提供任何參數則傳回0;各參數須為整數或實數型態若所有參數均為整數,結果亦為整數;若其中一個參數為實數型態,結果會轉換為實數乘函數(* [數值參數1 數值參數2 ....] )e.g. (* 2 3 4) Result : 24結果為所有參數的乘積若只提供一個參數,則返回值為該參數乘以1的結果若沒有提供任何參數則傳回0;各參數須為整數或實數型態若所有參數均為整數,結果亦為整數;若其中一個參數為實數型態,結果會轉換為實數除函數(/ [數值參數1 數值參數2 ....] )e.g. (/ 24 2 3) Result : 4結果為第一個(最左邊)參數除以其右邊各參數的乘積若僅提供一個參數,則返回值為該參數除以1的結果若沒有提供任何參數則傳回0;各參數須為整數或實數型態若所有參數均為整數,結果亦為整數;若其中一個參數為實數型態,結果會轉換為實數注意: 在本篇教程中,各函數的數值參數,均可以變數(儲存值只可以是整數或實數,且不可以是空值nil)取代.第七课練習(Exercises)計算式(2+4)*3COMMAND : (* 3 (+ 2 4)) Result : 18計算式(50-8*5)/4COMMAND : (/ (- 50 (* 8 5)) 4) Result : 2注意: 上式的正確答案應是2.5,因為函數中的各參數均為整數,所以傳回的結果亦為整數遞增及遞減遞增(1+ 數值參數)e.g. (1+ 2) Result : 3遞減(1- 數值參數)e.g. (1- 4) Result : 3三角函數(Trinagular Function)正弦值(SIN 弧度參數)e.g. (SIN 1) Result : 0.841471餘弦值(COS 弧度參數)e.g. (COS 1) Result : 0.540302反正切值(ATAN 弧度參數)e.g. (A TAN 1) Result : 0.785398第八课其它數值處理次方值(EXPT 數值參數次方值)e.g. (EXPT 2 4) Result : 16若參數及次方值兩個均為整數,返回值亦是整數;若其中一個為實數,結果為實數開方根(SQRT 數值參數)e.g. (SQRT 30) Result : 5.47723絕對值(ABS 數值參數)e.g. (ABS -123) Result : 123餘數(REM [數值參數1 數值參數2 ....] )e.g. (REM 50 26 5) = (REM (REM 50 26) 5) Result : 4將參數1整除參數2的餘數若參數多於2個時,則會將餘數再整除下一個參數,再得出餘數;依此類推若其中一個參數為實數時,則結果為實數;否則為整數最大公約數(GCD 數值參數1 數值參數2 )e.g. (GCD 81 57) Result : 3兩個參數均必須為整數值型態自然對數(LOG 數值參數)e.g. (LOG 3.5) Result : 1.25276是EXP函數的反函數;傳回值為實數型態自然反對數(EXP 數值參數)e.g. (EXP 1.25276) Result : 3.49999是LOG函數的反函數;傳回值為實數型態第九课數值資料轉型實數轉整數(FIX 數值參數)e.g. (FIX 12.56) Result : 12只會截去小數部份(小數位不會4捨5入)整數轉實數(FLOAT 數值參數)e.g. (FLOAT 12) Result : 12.0整數轉字串(ITOA 數值參數)e.g. (ITOA -17) Result : "-17"數值轉字串(RTOS 數值參數[模式[小數位] ] )e.g. (RTOS 17.23333 2 3) Result : 12.266若不設定模式,則依係統變數LUNITS 的設定值轉換數值為字串若不設定小數位,則依係統變數LUPREC 的設定值轉換模式設定值可以是下列數值之一:1 = 科學記號2 = 十進位3 = 英呎及十進位英吋4 = 英呎及分數位英吋5 = 分數當選用的模式為3,4或5,則傳回的字串受係統變數UNITMODE影響弳度轉字串(ANGTOS 角度參數[模式[小數位] ] )e.g. (ANGTOS 0.785398 0) Result : "45"e.g. (ANGTOS 0.785398 4) Result : "N 45d E"若不設定模式,則依係統變數AUNITS的設定值轉換數值為字串若不設定小數位,則依係統變數AUPREC的設定值轉換模式設定值可以是下列數值之一:0 = 度1 = 度/分/秒2 = 分度量3 = 弳度4 = 土地測量單位當選用的模式為4,則傳回的字串受係統變數UNITMODE影響反函數為ANGTOF;參閱第5篇教程第十课數值資料檢查數值(NUMBERP 數值參數)e.g. (NUMBERP -3.45) Result : Te.g. (NUMBERP "AutoLISP") Result : nil注意: 在範例的傳回值中,T表示函數的結果為真(成立),nil表示結果為假(不成立) 負數值(MINUSP 數值參數)e.g. (MINUSP -3.45) Result : Te.g. (MINUSP 0) Result : nile.g. (MINUSP 3.45) Result : nil零值(ZEROP 數值參數)e.g. (ZEROP 0) Result : Te.g. (ZEROP 3.45) Result : nil其它應用最大值(MAX [數值參數1 數值參數2 ....] )e.g. (MAX -88 5 2) Result : 5若沒有提供任何參數,則傳回值為0最小值(MIN [數值參數1 數值參數2 ....] )e.g. (MIN -88 5 2) Result : -88若沒有提供任何參數,則傳回值為0第十一课練習(Exercises)計算下列算式:(+ 1234567890 1234567890) Result : -1825831516上式中兩個數值參數均為整數,而結果值大於整數型態所能容許之範圍;固導致發生溢位問題,產生無效的結果.修正算式如下: 只要將其中一個參數改為實數型態即可.(+ 1234567890.0 1234567890) Result : 2.46914e+009計算下列算式:(+ 9876543210 1234567890) Result : 1.11111e+010上式中兩個數值參數均為整數,但其中一個(第一個)參數巳大於整數型態所能容許之範圍;系統會自動將此參數先行轉為實數型態才計算.計算下列算式:(FIX (SQRT (+ 1 (MAX 20 10 40 30)))) Result : 6---- 最先執行的是最內層的算式(MAX 20 10 40 30) ,求出最大值為40---- 其次執行加函數,將MAX函數所得的最大值加1,結果為41---- 再利函數SQRT,將41開方根,結果為6.4031---- 最後使用FIX函數,截去其小數位,得到最後的結果為6第十二课使用者定義函數是將一群表示式組合成一個函數或指令可應用於繪圖模式的指令行提示,Visual LISP主控台,或供其它自定義函數內的表示式呼叫使用AutoLISP原始程式碼均以純文字格式存檔,副檔名為LSP(2000版可編譯成副檔名為FAS 的檔案可以一般文字編輯器進行開發,如DOS的EDIT,WINDOWS的WORD或WORDPAD等一個自定函數內最少要有一個表達式在原程式檔(LSP)裡,自定義函數以DEFUN函數開始;其語法如下:(DEFUN [C:] 函數名稱( [引數串列...] [/ 局部變數串列...] ) 表達式...)在呼叫帶有引數的自定函數時,必須同時提供與定義函數時,同等數量的參數,使各參數傳入自定函數的各引數中引數被視為一種特殊類型的局部變數,無法用於該自定函數以外的其它函數若自定函數中無須設定任何引數,亦必須以空串列( )加在函數名稱之後若有提供局部變數,必須以斜線/ 加在局部變數的開頭(即使前面沒有引數串列)各引數,斜線,局部變數之間要以空格分隔;但與左右小括號之間則不須以空格分開若引數串列中有相同名稱的引數出現,則會忽略第一個以後的相同引數;變數亦是一樣若在函數名稱前加上C:,表示該函數可以在繪圖模式的指令行提示下,其執行方式與內建函數相同;亦可以在任何內建命令(執行中)的提示後,以通透方式執行(但須將函數名稱包在一對小括號中)若在函數名稱前沒有加上C:,在指令行提示下,必須將函數名稱包在一對小括號中才可執行不可以在執行一自定函數時,以通透方式執行另一自定函數第十三课載入程式自定函數在使用前,都要將其所在的程式檔(副檔名為LSP)載入才可執行ACAD.LSP程式檔(預設在SUPPORT子目錄內)會在啟動AutoCAD時自動載入(LOAD "程式檔名稱" [載入失敗] )e.g. (LOAD "TEST")若程式檔之檔名為LSP,則在程式檔名稱之後,可以不加上副檔名若有需要,系統會順序嚐試其它的副檔名: VLX FAS LSP若程式檔不在系統的支援目錄下,則需在檔名前加上目錄路徑注意: 必須以正斜線/ 或兩個反斜線\\ 作為目錄的分隔符號可以在載入失敗的參數中提供字串,以供載入失敗時顯示;亦可提供有效的自定函數,該函數在載入程式檔失敗時會被執行e.g. (LOAD "TEST" "Load Fail") 或(LOAD "TEST" (DOERROR))注意:在程式檔載入後,在提示行顯示的返回值,一般是該程式檔中,最後被定義的函數名稱或是在程式檔內沒有包含在自定函數中,最後一個表達式的執行結果第十四课練習(Exercises)啟動文字編輯器,編寫一AutoLISP程式作兩個同心圓(第1個圓半徑為50,第2個圓半徑為80),程式碼如下所示:(DEFUN C: 2CIRCLE () (SETQ CEN (LIST 0 0) RAD 50)(COMMAND CIRCLE CEN RAD)(COMMAND CIRCLE CEN (+ RAD 30)))---- 輸入後以純文字格式存檔(C:\TEST.LSP)---- 在AutoCAD繪圖模式的指令行提示後,用LOAD函數將程式檔載入COMMAND : (LOAD "C:/TEST")---- 在指令行提示後,輸入程式(函數)名稱執行COMMAND : 2CIRCLE程式說明1 使用DEFUN建立自定函數的名稱,並用SETQ函數將中心點(LIST 0 0)存入變數CEN,半徑(50)存入變數RAD中2 使用COMMAND函數執行AutoCAD內建指令CIRCLE,並以變數CEN(圓的中心點)及變數RAD(圓的半徑)回應3 與第2行大致相同,但在指定其半徑時,先將儲存半徑的變數加30,使劃出半徑為80的圓;注意最右邊的關括號,與第1行DEFUN左邊的開括號是一對的啟動文字編輯器,開啟TEST.LSP程式檔,複製2CIRCLE至新程式2C,並改為傳入引數方式執行;程式碼如下:(DEFUN 2C (CEN RAD) (COMMAND CIRCLE CEN RAD)(COMMAND CIRCLE CEN (+ RAD 30)))---- 輸入後以純文字格式存檔---- 在AutoCAD繪圖模式的指令行提示後,用LOAD函數將程式檔重新載入---- 在指令行提示後,輸入程式(函數)名稱執行COMMAND : (2C (LIST 0 0) 50)第十五课註解單行註解分號;表示在分號右邊(同一行)的字元均為註解,程式執行時會將其忽略多行註解;| |;表示在兩個註解符號中間所有字元皆為註解,即使字元跨越多行關係運算在各個關係運算中,都會傳回一邏輯值;若關係成立,傳回T,否則會傳回nil各參數可以是字串,整數或實數型態;若以字串進行比較,則會以字串的ASCII碼為準若函數中只有一個參數,傳回值恆為T等於函數(= 參數1 [參數2 ....] )會將參數1與其後各個參數比較,若全部相等則傳回T,否則傳回nil e.g. (= 22.0) Result : Te.g. (= "A" CHR(65)) Result : T不等於函數(/= 參數1 [參數2 ....] )若參數1不等於其後任何一個參數,即傳回T e.g. (/= 1 2.0) Result : Te.g. (/= "a" CHR(65)) Result : Te.g. (/= 10 30 40 10 20) Result : T小於函數(< 參數1 [參數2 ....] )各參數順序以2個為一組比較,若各組左邊的參數均小於右邊的參數,即傳回Te.g. (< 1 2) Result : Te.g. (< "a" CHR(65)) Result : T大於函數(> 參數1 [參數2 ....] )各參數順序以2個為一組比較,若各組左邊的參數均大於右邊的參數,即傳回Te.g. (> 1 2) Result : nile.g. (> "a" CHR(65)) Result : nil小於或等於函數(<= 參數1 [參數2 ....] )各參數順序以2個為一組比較,若各組左邊的參數均小於或等於右邊的參數,即傳回Te.g. (<= 1 2) Result : Te.g. (<= 2 2) Result : Te.g. (<= "a" CHR(65)) Result : T大於或等於函數(>= 參數1 [參數2 ....] )各參數順序以2個為一組比較,若各組左邊的參數均大於或等於右邊的參數,即傳回Te.g. (>= 1 2) Result : nile.g. (>= 2 2) Result : Te.g. (>= "a" CHR(65)) Result : nil邏輯運算且運算(AND [表達式....] )若各表達式的傳回值均為T,函數即返回T 值;若其中一個傳回值為nil,函數傳回nile.g. (AND (< 1 2) (> 8 5)) Result : T或運算(OR [表達式....] )若各表達式的傳回值均為nil,函數即返回nil 值;若其中一個傳回值為T,函數傳回Te.g. (OR (> 1 2) (> 8 5)) Result : T否定運算(NOT 表達式)若表達式的傳回值為T,函數即返回nil 值;相反若表達式傳回值為nil,函數傳回T可用於檢查傳回值是否為nil另有一NULL函數與NOT函數功能相似e.g. (NOT (< 1 2)) Result : nil練習(Exercises)試求出50減25,與625的開方根值是否相等COMMAND : (= (- 50 25) (SQRT 625)) Result : T設計一簡單程式(名稱為AIR),在呼叫程式時,檢查傳入的數值引數(為空氣污染指數)是否大於200(即嚴重空氣污染)---- 啟動文字編輯器,開啟TEST.LSP程式檔,輸入下列程式碼:(DEFUN AIR (NUM) (> NUM 200))---- 輸入後存檔(純文字格式)---- 在AutoCAD繪圖模式的指令行提示符號後,使用LOAD函數重新載入程式檔COMMAND : (LOAD "C:/TEST")---- 在AutoCAD繪圖模式的指令行提示符號後,輸入自定函數名稱及參數執行COMMAND : (AIR 175) Result : nilCOMMAND : (AIR 215) Result : T第十七课且運算(AND [表達式....] )若各表達式的傳回值均為T,函數即返回T 值;若其中一個傳回值為nil,函數傳回nile.g. (AND (< 1 2) (> 8 5)) Result : T或運算(OR [表達式....] )若各表達式的傳回值均為nil,函數即返回nil 值;若其中一個傳回值為T,函數傳回Te.g. (OR (> 1 2) (> 8 5)) Result : T否定運算(NOT 表達式)若表達式的傳回值為T,函數即返回nil 值;相反若表達式傳回值為nil,函數傳回T可用於檢查傳回值是否為nil另有一NULL函數與NOT函數功能相似e.g. (NOT (< 1 2)) Result : nil練習(Exercises)試求出50減25,與625的開方根值是否相等COMMAND : (= (- 50 25) (SQRT 625)) Result : T設計一簡單程式(名稱為AIR),在呼叫程式時,檢查傳入的數值引數(為空氣污染指數)是否大於200(即嚴重空氣污染)---- 啟動文字編輯器,開啟TEST.LSP程式檔,輸入下列程式碼:(DEFUN AIR (NUM) (> NUM 200))---- 輸入後存檔(純文字格式)---- 在AutoCAD繪圖模式的指令行提示符號後,使用LOAD函數重新載入程式檔COMMAND : (LOAD "C:/TEST")---- 在AutoCAD繪圖模式的指令行提示符號後,輸入自定函數名稱及參數執行COMMAND : (AIR 175) Result : nilCOMMAND : (AIR 215) Result : T第十八课續上一課....IF函數的巢狀練習: 修改上一課的程式練習,將多個IF函數合併成巢狀嵌套---- 啟動文字編輯器,開啟C:/TEST.LSP程式檔---- 新增程式AIR-2,其程式碼如下:(DEFUN AIR-2 (NUM) (IF (> NUM 50) (PRINC (IF (> NUM 100) "Very high" "High")) (PRINC (IF (> NUM 25) "Medium" "Low")))(PRINC))程式說明1 設定函數名稱,並將資料存入引數NUM內;用IF函數判斷變數NUM是否大於50;若條件成立(變數NUM大於50)時,再用另一個IF函數判斷變數是否大於100;若條件成立(變數NUM大於100)時,使用PRINC函數顯示字串Very High,否則顯示High2 若在第1個IF函數判斷中,條件不成立(變數NUM不大於50)時;再用另一個IF函數判斷變數是否大於25;若條件成立(NUM大於25)時,顯示字串Medium,否則顯示字串Low3 是一個沒有提供任何引數的PRINC函數;用以抑制顯示答案時尾部符加的nil 或重複的傳回值;而最右一個關括號,是用以對應第1行最左邊的開括號注意:第1行最後一個關括號是對應前面的PRINC函數,尾2的關括號則是對應IF函數(判斷NUM是否大於100)第2行最後一個關括號是對應第1行的IF函數(判斷NUM是否大於50),尾2的關括號則是對應PRINC函數,尾3的關括號則是對應IF函數(判斷NUM是否大於25)最右邊的關括號是對應第1行最左邊的開括號PROGN 函數在以上各範例中,執行的表達式均為單一的函數運算;若要在表達式中順序執行一連串的函數,便要將各函數包含在一個PROGN函數內;函數的傳回值會是該PROGN函數中,最後一個表達式的運算結果---- 修改TEST.LSP程式檔的AIR-1程式,第1個IF函數如下,其餘的IF函數請自行修改e.g. (IF (> NUM 100) (PROGN (SETQ DISP "Very High") (PRINC DISP)))注意: 最後一個關括號是對應前面的IF函數(判斷變數NUM是否大於100)尾2的關括號是對應PROGN函數(用以包含SETQ及PRINC函數)尾3的關括號是對應PRINC函數的第十九课條件判斷多重條件(COND [ (條件表達式是表達式) ....] )函數會順序檢查各條件表達式;直到其中一個條件成立(傳回T),即執行該條件式所對應的是表達式每個條件表達式只對應一個是表達式,而沒有否表達式若條件式成立且執行對應的是表達式後,則不會再對餘下的其它條件表達式進行檢查若只有條件表達式而沒有對應之是表達式,則只會傳回條件表達式的邏輯值若沒有提供任何條件表達式及是表達式,函數傳回值恆為nil練習(Exercises)新增程式AIR-3,以改善上一課AIR-1程式;用一個COND函數判斷多個條件表達式DEFUN AIR-3 (NUM) (COND((> NUM 200) (PRINC "Severe"))((> NUM 100) (PRINC "Very High"))((> NUM 50) (PRINC "High"))((> NUM 25) (PRINC "Medium"))((> NUM 0) (PRINC "Low"))(T (PRINC "Cannot Check")))(PRINC))程式說明1 設定函數名稱,並將資料存入引數NUM內;用COND函數進行多重判斷2 判斷變數NUM是否大於200,若條件成立,則顯示Severe 訊息;第3至6行依此類推7 注意條件式為一個T 字母,表示條件式恆為真(成立),顯示訊息Cannot Check作用是當以上各條件式均不成立時(變數小於或等於0),即執行此一表達式第二十课迴圈(Loop)配合條件判斷,關係及邏輯運算,令程式不斷重複一些動作,以提高效率及減少重複動作時的人為錯誤可以多個迴圈形成巢狀(嵌套式)迴圈,即在一個迴圈內嵌套另一個(或多個)迴圈指定的重複次數必須為正整數,亦可以是儲存正整數的變數名稱重複指定次數(REPEAT 重複次數[表達式....] )e.g. (REPEAT 10 (PRINC "David")) ;重複顯示David字串10次重複(WHILE 條件表達式[是表達式....] )若條件表達式的傳回值為T,即會順序執行函數內各表達式各表達式順序執行完後,程式會返回函數的開頭,重新檢查條件表達式的傳回值若條件表達式的傳回值為nil,函數內各表達式將不會被執行e.g. (SETQ COUNT 1) ;將1存入變數COUNT(WHILE (<= COUNT 10) ;WHILE函數並檢查變數COUNT是否<=10(PRINC "David") ;若條件成立則以PRINC函數顯示David字串(SETQ COUNT (1+ COUNT))) ;變數COUNT遞增1,並將新值重新存入變數COUNT 中取代原值注意: 第4行最右邊的關括號,是對應第2行WHILE函數的開括號無限迴圈又稱為死迴圈,即迴圈的條件判斷式傳回值恆為T,令迴圈不斷重複而無法結束;在上例中:---- 若WHILE函數的條件表達式設定為(T) ;即條件永遠成立---- 不作SETQ函數,或不將變數COUNT遞增;變數COUNT儲存值恆久不變,導致條件式永遠成立第二十一课練習(Exercises)編寫一程式SUM並將引數存在NUM變數內,計算1+2+3+4 ....至變數NUM的總和(DEFUN SUM (NUM) (SETQ COUNT 1 TOTAL 0)(WHILE (<= COUNT NUM)(SETQ TOTAL (+ TOTAL COUNT)COUNT (1+ COUNT)))(PRINC TOTAL) (PRINC))程式說明1 設定函數SUM並將引數存入變數NUM,設定變數COUNT以將數目由1開始遞增,變數TOTAL(儲存總和)初始值為02 WHILE迴圈函數,並設定進入迴圈的條件式(變數COUNT小於或等於變數NUM)3 若條件成立即進入迴圈內部,先將變數TOTAL加上變數COUNT,再用SETQ函數存回變數TOTAL中,覆蓋原值4 將變數COUNT遞增1,存回變數COUNT並覆蓋原值5 關括號與第2行的WHILE函數左邊的開括號對應6 迴圈結束後,用PRINC函數顯示變數TOTAL(總和)的內容程式流程假設執行程式時傳入變數NUM的數值為10---- 變數初始值COUNT = 1 TOTAL = 0---- 判斷變數COUNT是否<=變數NUM COUNT = 1 TOTAL = 0---- 變數COUNT(現值1)小於NUM,進入迴圈;將TOTAL(現值0)加上COUNT,存回變數TOTAL COUNT = 1 TOTAL = 1---- 變數COUNT(現值1)遞增1變為2,存回變數COUNT COUNT = 2 TOTAL = 1---- 返回WHILE函數的開頭,重新判斷條件式---- 變數COUNT(現值2)小於NUM,進入迴圈;將TOTAL(現值1)加上COUNT,存回變數TOTAL COUNT = 2 TOTAL = 3---- 變數COUNT(現值2)遞增1變為3,存回變數COUNT COUNT = 3 TOTAL = 3---- 返回WHILE函數的開頭,重新判斷條件式---- 變數COUNT(現值3)小於NUM,進入迴圈;將TOTAL(現值3)加上COUNT,存回變數TOTAL COUNT = 3 TOTAL = 6部份過程省略---- 返回WHILE函數的開頭,重新判斷條件式---- 變數COUNT(現值10)仍等於NUM,進入迴圈;將TOTAL(現值45)加上COUNT,存回變數TOTAL COUNT = 10 TOTAL = 55---- 變數COUNT(現值10)遞增1變為11,存回變數COUNT COUNT = 11 TOTAL = 55 ---- 返回WHILE函數的開頭,重新判斷條件式---- 變數COUNT(現值11)巳大於NUM(本範例假設為10),條件判斷不成立,迴圈結束COUNT = 11 TOTAL = 55---- 顯示變數TOTAL的現存值,程式結束嚐試用IF函數檢查輸入的引數是否小於或等於0;若條件成立則不執行餘下的程式(DEFUN SUM (NUM) (IF (<= NIM 0) (PRINC "Input Error")(PROGN略過WHILE 及PRINC 函數))。
c++中auto的用法
c++中auto的用法
一,auto关键字的介绍
auto关键字是C++11标准中新增加的,它提供了一种方便简洁的写法,将用于声明变量的类型有编译器推断而来,让程序员不再需要自行指定变量的类型。
二,auto关键字与普通变量声明的区别
auto关键字和普通变量声明,主要区别大致有三点:一是减少了一次人交互,节省程序员的时间;二是可以表达更加精确的概念,而不是受到人的偏见而指定的类型;三是可以将必要的类型细节封装起来,使得代码更加简洁,相关联的模块之间可以保持一定的独立。
1、基本形式:
auto变量名 = 初始值;
这就完成了变量的声明与定义,初始值可以是一个字面常量,也可以是一个表达式,它的类型都可以由auto来推断,例如:
2、普通变量声明中也可以采用auto:
int num = 10;
auto var1 = num; // var1类型也是int
auto类型的局限性
1、auto不能用于一个型别未定义的实体。
例如,下面的代码是不正确的:
auto num; // error
2、auto不能用于对函数返回值的声明:
3、auto不能用于匿名类别(它不能与当前类外的作用域中的类型关联):
class Test {
private:
auto var1; //error, var1未定义类型
public:
void setVar1(const auto & var) {} // error };。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汽油标号只要合适就好—走出汽车用油误区
1.汽油标号不是越高越好 汽油标号只是标定汽油抗爆能力的参数, 它与汽油是否清洁和是否省油没有必然的 联系,并不是汽油标号越高越好。加什么 油要遵循说明书上的用油标准,使汽车发 动机压缩比系数与汽油抗爆系数要相适应 。
汽油标号只要合适就好—走出汽车用油误区 2.超标用油可能加速无力
有些使用97号汽油的车主认为,选择高标号的汽 油可以增加发动机的动力。 这种说法并不科学。简单来说,汽油标号选择的主要 依据是发动机的压缩比。压缩比、点火提前角等参数 已经在发动机电脑中设置好了,车主只要严格按照使 用说明的要求选择汽油标号就绝对没有问题。 对于电喷发动机,盲目选用高标号的汽油,会使发动 机改变点火时间,会在行驶中产生加速无力的现象, 比如,用93号油的发动机硬要用97号油就会出现“滞 燃”现象,即压到了头它还不到自燃点,一样会出现 燃烧不完全现象。此外,超标用油还可能会使气缸内 积炭增加,长期使用不正确标号的汽油会缩短发动机 的寿命。
汽车小常识
世界汽车之最(之一)
最早的汽车世界汽车史上公认的汽车发明人是卡 尔.奔驰和戈特利布· 戴姆勒。 1886年1月29日,卡 尔· 奔驰以一辆汽油发动机三轮汽车获得汽车制造 专利权。这一天被公认为世界首辆汽车诞生日。 最早的电动汽车, 1880年,法国的卡米.福尔最先 制造出利用蓄电池作动力的、实用的电动汽车。 最早的电车是1879年,工程师维尔纳.西门子 (Werner Siemens)在柏林博览会上表演的借助电 动机在专门铺设的轨道上运行的客车。1882年, 在柏林诞生了世界上第一辆无轨电车。
铃木公司成立于1920年,1952年开始生产摩托 车,1955年开始生产汽车。 铃木株式会社包括7个工厂,汽车生产集团在 湖西工厂和磬田工厂,主要生产微型及小型轿 车、面包车、吉普车和货车;相良工厂为汽车 发动机厂;丰川工厂负责摩托车的生产;总社 工厂负责摩托车发动机的制造。 铃木轿车标志图案中的“S”是铃木Suzuki的第 一个字母,这种设计给人以有力量的感觉,象 征着发展中的“铃木 ”。
汽油标号只要合适就好—走出汽车用油误区 3.降标用油存有后患 燃油的标号还涉及到发动机点火正时的问题。 低标号汽油燃烧速度快,点火角度要滞后;高 标号燃油燃烧速度慢,点火角度要提前。 例如一台发动机按照说明书要求应添加93号汽 油,现在加入了90号汽油,需要使用正时灯, 调整点火提前角滞后一度到两度。如果不听从 主机厂的建议,使用低标号燃油,又不进行点 火时间的调整,可能会造成发动机启动困难; 加速时,发动机内有清脆的金属碰撞声音;长 途行车后,关闭点火开关时发动机抖动或不停 止运转。
世界汽车之最(之一)
功率最大的汽车由美国弗拉德斐的怀特先生 资助建造、经过两年时间完工的“怀特三倍 号”,是历史上最大的汽车。该车重4500公 斤,由3台自由牌V12飞机发动机作动力,总 排量达81.188升,功率为1125千瓦(1500马力)。 最节油的汽车1994年,日本本田汽车公司的 一个汽车科研小组,创造了世界节油新纪录: 仅耗1升汽油而行驶了3000公里的路程。该车 装用排量为0.043升的单缸发动机,车身由超 轻型碳纤维增强复合材料制成,整个汽车自 重仅28公斤。
卡尔· 拉普和马克斯佛里茨在慕尼黑创建了巴依 尔飞机公司;1917年,该公司改为巴依尔发动 机有限公司,这就是巴依尔公司简称(BMW) 的来历;1918年公司改为现在的名称――宝马 汽车公司。 “宝马”曾译为巴依尔。由于宝马 公司是以生产航空发动机开始创业的,所以商 标中的蓝色为天空,白色为螺旋桨,这是“宝 马”商标的第一大特点;第二大特点就是“宝 马”汽车的散热器(车鼻)中间那两个金属方 框进气格栅。 BMW(宝马)是公司全称 “Bayerische Motoren Werhe AG ”的缩写。 “宝马”采用了内外双圆圈的图形,并在双圈 圆环的上方,标有BMW字样的商标。整个商标 就像蓝天、白云和运转不停的螺旋桨,喻示宝 马公司渊源悠久的历史。
第一节 概
述
第二节 机体组
气缸体:水冷式发动机的气缸体和曲轴箱常铸成一 体,可称为气缸体—曲轴箱,简称气缸体。是各机 构和系统的装配基体。
气缸的排列形式
烧并 气 室与 缸 。活 盖 塞: 顶主 部要 和功 气用 缸是 壁封 一闭 起气 形缸 成上 燃 部
气 缸 盖
气
缸
垫
汽 油 机 燃 烧 室 的 形 状
第四节 曲轴飞轮组
2.飞轮是一个转动惯量很大的圆盘。 功能是将曲轴做功行程中的一部分能 贮存起来,用于在其它行程中克服阻 力,保证曲轴的旋转角速度和输出转 矩尽可能均匀,并使发动机有可能克 服短时间的超载荷,在结构上飞轮往 往是传动系中摩擦离合器的驱动件。
曲轴的结构组成
直立四缸发动机曲轴形式
90年代,丰田汽车公司推出的"凌志"牌高 级轿车,就像一匹"黑马",以与众不同的 风格跃入人们的眼帘,以不同凡响的商标 "L"标新立异。 "凌志"商标由图形商标和 文字商标两部分组成。它的图形商标不是 采用常见的三个椭圆相互嵌套形式,而是 在一个椭圆中镶嵌英文"Lexus"的第一个大 写字母"L",并被镶在散热器正中间;车 尾标有文字商标"Lexus",喻示该车驰骋在 世界各地的道路上。
曲柄连杆机构的作用:把燃气作用在活塞顶 上的力转变为曲轴的转矩,向工作机械输出机 械能。 曲柄连杆机构的主要零部件可分成三组:机 体组、活塞连杆组,曲轴飞轮组。 曲柄连杆机构的工作条件的特点:高温、高 压、高速和化学腐蚀。 温度可达2500K,最高压力可达5~9MPa,转 速3000~6000rpm,即活塞每秒要完成100~ 200个行程。
汽车小常识
世界汽车之最(之一)
功率最大的汽车由美国弗拉德斐的怀特先生资助 制造,经过两年时间完工的“怀特三号”,是历 史上最大功率的汽车。该车重4500公斤,由3台 自由牌V12飞机发动机作动力,总排量达81.188 升,功率为1125千瓦(1500马力)。 最节油的汽车1994年,日本本田汽车公司的一个 汽车科研小组,创造了世界节油新纪录:仅耗1 升汽油而行驶了3000公里的路程。该车装用排量 为0.043升的单缸发动机,车身由超轻型碳纤维 增强复合材料制成,整个汽车自重仅28公斤。
油 底 壳
第三节 活塞连杆组
活塞连杆组:由活
塞、活塞环、活塞销、 连杆组成 。
活塞的主要作用:
承受气缸中气体所造 成的作用力,并将此 力通过活塞销传给连 杆,以推动曲轴旋转。
活塞环的作用
气活 环塞 和环 油 : 环 两 种
。
气环的作用是保证活塞与气缸壁间的密封,防止气缸中的 高温 、高压燃气大量漏入曲轴箱,同时还将活塞顶部的 大部分热量传导气缸壁,再由冷却水或空气带走。 油环的作用是刮除气缸壁上多余的润滑油,并在壁上铺涂 一层均匀的润滑油膜,防止润滑油窜入气缸燃烧,减少活 塞 、活塞环与气缸壁的磨损和摩擦阻力。
世界汽车之最(之一)
最早的汽车世界汽车史上公认的汽车发明人是卡尔. 奔驰和戈特利布· 戴姆勒。 1886年1月29日 最早的警车1903年夏天,美国波斯顿警察局购买的 一辆斯坦雷蒸汽汽车,是最早的警用车。 最早的消防车有记载的世界上最早的消防车,是 1518年受德国奥格斯堡市的委托,由装饰工安东尼. 布拉特纳制造的。 最早的电动汽车, 1880年,法国的卡米.福尔最先 制造出利用蓄电池作动力的、实用的电动汽车。 最早的电车是1879年,工程师维尔纳.西门子 (Werner Siemens)在柏林博览会上表演的借助电动 机在专门铺设的轨道上运行的客车。1882年,在柏 林诞生了世界上第一辆无轨电车。
本节课程的主要内容和重点
1.什么是汽油的抗暴性能? 2.掌握汽油标号与压缩比的关系; 3.掌握曲柄连杆的作用; 4.了解活塞连杆组的组成; 5.活塞环有几种类型,各自在发动机上起什么 作用? 6.发动机为什么必须装有飞轮? 7.了解红旗轿车的历史。
汽车小常识
汽油是怎样炼成的?
汽车小常识
V型发动机曲轴连杆形式
只用了1个月零3天, 1958年5月12日
红旗车原型,当时中国仅有的一辆1955年
美国克莱斯勒汽车厂生产的“帝国”牌高级轿 车
红旗CA770型高级轿车
红旗 CA772T 防弹车
红旗 CA7220H
红旗 CA7245L
红旗 CA7226L
红旗 CA7246L
汽油的选用
压缩比就是活塞在汽缸运动时达到点火时的容 积与整个汽缸容积之比。 压缩比是车主选用汽油的唯一标准。如果选用 的油与压缩比不相符,就会产生一系列严重后 果。比如,如果发动机是按93号油设计的,而 车主用了90号汽油,发动机就会发生提前燃烧 现象,进而产生瞬间的超高温和超高压,既烧 坏火花塞、汽缸等,又会产生无用功,导致汽 车加速、爬坡无力,还会使汽油中的烯烃产生 胶质,使汽油中的硫在不完全燃烧时产生一种 很强的腐蚀物,造成排气管等锈蚀。
汽油的选用
压缩比在8.0-9.0的车,用93号油; 压缩比在9.0-9.5的车,用95号油; 压缩比在9.5以上的车,用97号油。 所谓90号、93号、97号无铅汽油,是指它们分 别含有90%、93%、97%的抗爆震能力强的 “异辛烷”,也就是说分别含有10%、7%成分
石蜡系(脂肪族50~60%)—抗爆震性最小。 环烷系(30~50%)—抗爆震性一般。 (链)烯(烃)系(0.5~2.0%)—抗爆震性相当大。 芳香族(2~4%)—抗爆震性最大。 其中石蜡族含有两种碳氢化合物:一种是正庚烷(最无抗 爆震性的碳氢化合物);另一种是异辛烷(抗爆震性强的 碳氢化合物)。 汽油的抗暴性能是指汽油在发动机气缸中燃烧时,避 免产生爆燃的能力,也就是抗自燃的能力。它是汽油 的一项主要使用性能指标,汽油的抗暴性能用‘辛烷 值’和抗暴指数表示, ‘辛烷值’越高,汽油的抗暴 性能越好。应该用97号汽油的发动机,如果用90号汽 油,将使发动机容易产生爆震。 ‘辛烷值’表示正庚烷和异辛烷的混合比。