图形参数化

2024-06-18

图形参数化(精选8篇)

图形参数化 篇1

摘要:基于AutoCAD2008平台, 在Visual Basic 6.0环境下, 采用面向对象的编程方法, 对油田常用井下工具进行参数化设计。在人机交流界面中, 设计人员只需要输入零件的参数, 即可得到该零件的二维图形, 满足设计需求。

关键词:井下工具,AutoCAD,VisualBasic,参数化设计

1 引言

在激烈的市场竞争条件下, 为了获得更多的经济利益, 企业必须具备创新产品的开发和快速响应市场的能力。而新的产品只有快速地设计和制造出来, 才能迅速占领市场, 为企业创造经济效益。过去, 对油田常用井下工具的大量零件, 尤其是形状类似的一系列零件, 都需要进行反复的设计和绘图, 工作量比较大, 响应市场要求的速度慢。

针对油田常用井下工具种类繁多, 在管理、绘制的过程中重复性工作量大的现状, 本文基于Auto CAD2008平台, 在Visual Basic 6.0环境下, 采用面向对象的编程方法实现了井下工具二维图形设计的参数化。利用参数化设计的思想, 可以对形状相近或系列零件进行快速设计[1]。在参数化设计的过程中, 采用Visual Basic6.0编写程序, 将井下工具零部件所需的关键参数设置为变量, 通过对变量进行赋值, 系统检索出此尺寸参数, 自动计算出绘制图形所需要的各点坐标, 调用绘图程序进行图形绘制。

笔者为设计人员提供一个方便、快捷的平台。设计人员只需在图库的零件检索界面中检索需要的零件, 并输入零件的参数, 即可得到该零件的二维图形, 满足设计需求, 大大地节约了设计的时间、精力。参数化设计较大程度地改善了图形的修改手段, 提高了设计柔性, 并能减少重复劳动, 提高了设计数据的再利用率, 保证产品设计的详细资料能有序地存取, 从而提高了产品的生产效率。因此, 研究零件参数化设计具有很重要的意义[2]。

2 应用VB完成井下工具的参数化设计

为了实现对油田常用井下工具的参数化设计, 选择了Visual Basic6.0作为二次开发语言。该开发平台具有简单易用、通用和开发效率高的优点, 而且VB还可以迅速有效地开发程序界面。

2.1 启动Visual Basic6.0新建工程标准EXE

用VB语言编程对Auto CAD进行二次开发, 首先需要将VB与Auto CAD连接起来, 需要以下两个步骤:

(1) 在编写VB代码前, 在VB编写环境中引入Auto CAD对象库。首先打开VB6.0, 新建工程标准EXE;然后添加插件Auto CAD2008。

(2) Visual Basic6.0与Auto CAD2008的连接, 可以通过以下程序实现[3]。

如果Auto CAD运行, Getobject函数返回Application对象;若没有启动则返回一个错误信息, 用Err.Clear命令清除错误信息, 再用Create Object函数打开Auto CAD。

2.2 在代码窗体中编写绘制图形的代码

下面以油田常用井下工具中射孔枪的中间接头为例, 说明参数化图形绘制过程。

首先, 进行基本图形的绘制, 并且对所用到的线型、线宽等进行设置。因为要“清晰”、“准确”、“高效”地表达图形, 离不开图层、线形、字体、标注等等设置。只有各项设置合理才能为我们接下来的绘图工作打下良好的基础。

其次, 进行相关的尺寸标注。图纸上除了画出图形的各部分形状外, 还必须准确、详尽和清晰地标注尺寸, 以确定其大小, 作为加工时的重要依据。通常使用Aligned命令来实现直线型的尺寸标注, 在这个函数中前两个参数表示尺寸线的位置, 第三个坐标表示尺寸数字的位置。

最后, 就是找出图形中的可变尺寸, 对其进行参数化。参数化是绘图过程中很重要的一步, 把结构相似的零件参数化, 不仅可以节省人力、物力, 而且可以减少大量简单而麻烦的重复性工作;还可以节约存储空间, 释放电脑内存;此外, 还可以减少错误率和减少新产品的开发时间, 缩短新产品的开发周期, 节省了大量时间和精力。

2.3 人机交互界面的设计

界面设计是VB编程的重要组成部分。用户化界面是指在通用化CAD系统中嵌入部分二次开发工作的接口和界面, 这种二次开发界面将便于系统的操作和维护, 对于系统的实用性和应用效果具有重要的作用。用户界面的好坏是评价一个软件性能的重要标志之一。从对射孔枪结构进行分析总结的基础上可以看出, 射孔枪中间接头有五个可变尺寸, 分别为:D1、D2、D3、D4、D5, 所以在界面设计中, 只需设计出五个按钮, 并且对它们进行标识。如图1所示, 就是一个简单的用户界面, 用户只需要输入不同的参数就可以得到不同结构的图形。

2.4 图形的输出

在人机交互界面中, 输入相应的参数, 点击二维绘图按钮, 就可以得到用户需要的二维图形, 既简单又方便。输出结果如图2所示。

3 结论

本文针对油田井下工具种类繁多、重复性劳动大的问题, 在Visual Basic 6.0环境下, 基于Auto CAD2008平台, 采用面向对象的编程方法, 实现了油田常用井下工具射孔枪中间接头的参数化设计过程。为现场人员提供了一个油田井下工具非标准件调用的数字化平台, 大大节约了设计时间。设计人员只需在图库的零件检索界面中检索需要的零件, 并输入零件的参数, 即可得到该零件的二维图形, 使其从繁琐的绘图工作中解脱出来, 从而大大提高新产品设计和绘图的效率。

参考文献

[1]张峰, 李兆前, 黄传真.参数化设计的研究现状与发展趋势[J].机械工程师, 2002 (1) :13-15.[1]张峰, 李兆前, 黄传真.参数化设计的研究现状与发展趋势[J].机械工程师, 2002 (1) :13-15.

[2]邹伟, 廖宏谊.零件参数化图库研究现状及发展趋势[J].机械制造, 2009 (3) :51-53.[2]邹伟, 廖宏谊.零件参数化图库研究现状及发展趋势[J].机械制造, 2009 (3) :51-53.

[3]张晋西.Visual Basic与AutoCAD二次开发[M].北京:清华大学出版社, 2002.[3]张晋西.Visual Basic与AutoCAD二次开发[M].北京:清华大学出版社, 2002.

图形参数化 篇2

表格数据的图形化 教案

【知识目标】掌握图表的制作方法,认识图表的作用与适用特点,并能根据图表分析数据。【技能目标】培养学生处理信息的能力,学会多角度去分析和思考问题,养成良好的思维习  惯和行为方式。 【情感目标】培养学生养成严谨的学习态度和团结协作的精神。 【教学重点】图表的制作和分析 【教学难点】图表类型的选择;图表数据的分析 【教学方法】自主探究、协作学习与教师指导相结合。 【教学过程】 一、导入新课 对于上网大家都不陌生,我们在座的各位都可以算得上是我们国家的网民。请问你知道我们国家现在有多少网民吗?请个同学说说看。学生答。(设计意图:活跃课堂气氛。) 我们国家有2.51亿网民,占我国总人口的百分之多少?也就是普及率大概20%。我们来看 “全球部分国家互联网普及率”这张表,这是中国互联网络信息中心发布的中国互联网络发展状况统计报告中的数据。请问,哪个国家互联网普及率是最高的?   生:冰岛。 师:再请同学们往下看,是一张图表。请问,这八个国家中,普及率最低的是哪个国家? 生:印度。 让学生比较表和图,哪个能更直观、更美观地反映问题? 学生观察表格数据和图表,比较得出普及率最高和最低的国家。 【结论1】图表能够更直观、更形象地表达问题。 我们看出,截至2008年6月底,中国互联网普及率达到19.1%,目前仍只有不到1/5的中国居民是网民。这一普及率略低于全球21.1%的平均互联网普及率。一方面,中国互联网与互联网发达国家还存在较大的发展差距,中国整体经济水平、居民文化水平再上一个台阶,才能够更快地促进中国互联网的发展;另一方面,这种互联网普及状况说明,中国的互联网处在发展的上升阶段,发展潜力较大。 师:如何制作这些图表呢?通过图表我们能否发现其隐含的信息呢? 二、新课讲授 1、制作图表 先请同学们利用已有知识,根据使用菜单的经验,观察选择制作图表命令。 提示:图表是外部引入的,类似于图片。所以我们可以尝试着用哪个菜单? 生:可以用两种方法制作图表:一是“插入/图表”;二是“工具栏中的图表命令”。 练习一:我们先请一学生上台尝试给大家看,完成“全球部分国家互联网普及率”的柱形图图表制作。请大家注意观察,图表向导有几个步骤?请操作的同学边操作边讲解。 【结论2】 创建图表主要分成四个步骤:1)确定图表的类型2)确定图表数据源3)设置图表选项4)设置图表位置。 练习二:学生打开Excel文件“中国互联网发展状况表”中表一,创建图表。将学生分成3组完成:第一组制作柱形图;第二组制作折线图;第三组制作饼图。 熟练的.同学可以有拓展。在这个过程中,学生能够帮助修改图表的很多方面,例如加上X轴Y轴标志,图表的大小和位置不能遮住表格数据,还有的加上数据标志等,更会有些同学提出将图表区加上图案或设置字体等,教师要对学生的探索精神加以肯定。 这种学生发现问题,师生共同解决问题的方法,使学生全部投入学习讨论中,发挥了集体的智慧,并在这个过程中使学生掌握了图表的制作方法及修改方法。 学生通过自学探索完成任务,完成后分析自己制作的图形的特点。 分别演示三个同学做的图表,并请说出你制作的图标有什么意义?也就是说,可以得到哪些信息? 组一:看出2008年6月中国网民人数最多。 组二:看出我国网民人数呈不断增长的趋势,而且发展速度还很快。 组三:做出了一个饼图,意义不大。 对于中国网民人数的工作表,我们更适用于折线图,能够看出中国网民规模继续呈现持续快速发展的趋势。随着上网设备成本的下降和居民收入水平的提高,互联网正逐步走进千家万户。 【结论3】 针对不同的信息需求,应该使用不同类型的图表。 学生总结图表规律,完成:习题一:连线题: 柱形图表 表示各部分在总体中所占的百分比,适用于描述数据之间的比例分配关系。 折线图表 反映事物随时间变化的趋势,从而帮助我们作出预测或者推论。 饼形图表 擅长比较数据间的多少与大小关系。 练习三:请更改图表类型,要求体现发展趋势。看看应怎样操作?是删除重做还是有更简单的方法? 提示:鼠标右键命令对应制作图表的四个步骤,可选择相应命令修改图表。 2、分析图表 练习四:完成“表二”、“表三”基本任务:根据图表的特点,自选图表类型,创建两张图表。完成的快的同学可以继续完成拓展任务。  用广播系统教学,可将某个学生具有典型问题的图表展现给所有学生,让其他同学进行评价,学生提出图表中存在的不足之处和修改意见,采集学生集体智慧,完成图表的制作。 演示不同学生作品,引导学生分析数据,阐述所选图表类型的理由,通过你的图表可以进一步得到什么信息?归纳总结。 网民各年龄段人数:中国网民的主体仍旧是30岁及以下的年轻群体,这一网民群体占到中国网民的68.6%,超过网民总数的2/3。网民这一较为年轻的年龄结构对中国互联网深层应用影响较大,中国互联网应用呈现出与年轻网民特征较为相符、仍以娱乐为主的特点。 上半年各年龄段网民增长量:与2007年12月相比,半年内,30岁及以下的三个年龄段的网民增长量均超过900万人。       这是高中老师讲这个课的教案,我觉得不错,不过针对初中学生难度稍大了点。

 

图形参数化 篇3

随着信息技术的不断发展, 计算机辅助设计CAD应用越来越广泛, 设计人员已经彻底从逐笔性的手工绘图中解放出来, 而是希望借助工具包和行业软件通过参数的调整和板式的设计自动化地生成产品的图形。

基于这一思想, 参数化图形的设计方法产生。参数化图形设计的思路是图形创建和修改上的一次革新。它将几何模型的形状特性表示为约束, 通过参数的定义来控制设计结果, 实现基于参数调整的图形设计。参数化的设计方法虽然从某种程度上提高了绘图设计的可定制性, 但仍然需要一定量的人工配置和参数校验过程, 这也制约其进一步发展。

针对这一问题, 本文将语义技术应用到参数化的图形设计过程中, 通过构图需求的元数据封装和语义化推理, 有效提高了构图过程的自动化和可配置性, 减少了人工耗费。

二、传统参数化构图方法

要使用基于参数的构图方法, 前提条件是所使用的组件必须高度模块化和参数化, 这样针对不同的需求只需要调整相应的参数即可, 而不需要经过重新计算, 传统的参数化构图模型有两个主要的步骤, 具体如图1所示:

(1) 采集步骤, 构图软件的设计者需要将一些预先定义的图元和模板进行精确的参数采集和尺寸测量, 并按照一定的结构进行存储到数据库中; (2) 设计阶段, 图形设计者首先理解相应的设计需求, 然后在模版库中选择合适的模板, 并按照需求进行修改, 输出样品, 再经过反复修改最终定稿。

一般来说, 在图形和构图模式的参数化存储过程中, 需要考虑 (1) 图属性; (2) 表属性; (3) 块信息等较为丰富的图元信息存储结构。

此外, 需要使用XML的方式存储构图模式, 并采用可视化的方式对设计的中间过程和最终结果进行展现。

这一方法虽然在某种程度上奏效, 但是其参数较为简单, 不能满足越来越复杂的构图要求, 同时也需要设计者对整个构图过程较为熟悉, 才能保证构图过程的正确性和完备性, 代价相对较高, 需要耗费大量的人力。

三、实际范例

以空调通风机为例, 传统的通风机往往只能以固定的转速工作, 而为了节店和降低噪声的需要, 目前的通风机往往采用了智能化的控制装置, 该装置通过温控探头和控制转轴的引入来调节空调通风机的转动频率, 需要在传统设计的基础上新增若干组件。基于参数的构图设计方法需要修改模板, 并进行重新设计和构图, 工作量较大, 而基于语义的参数构图法只需要更新本体库, 加入如下图所示的语义分支。

在具体设计的时候首先获取自然语言描述的需求, 例如“设计适合功率为1000w的壁挂式智能速控空调通风机”, 语义解析模块会首先抽取结构化的特征词汇组 (功率=1000, 壁挂式, 智能速控, 空调通风机)

语义匹配模块首先搜索到智能速控空调通风机, 选择相应的模块, 然后根据功率约束进行推理, 选择相关的图元信息和构造方式, 并且按照可视化的方式自动化呈现给用户, 用户的修改请求也将会被传化为可修改的步骤进行图元的修正, 随着软件的使用, 本体库会不断扩展和丰富, 其推理能力也会不断增强。

四、结论

本文提出了一种基于语义的自动化构图方法, 通过这种方法, 设计人员不需要为随时随地考虑模式选择和样例修正的问题, 而将这些工作都交给智能化的语义引擎来处理, 使得设计目标各部分的位置调整和修改更为便捷, 有效提高了图形输入的效率, 改善了图件编绘系统的灵活性和适应性, 在将来的研究中将会进一步扩充本体库和描述属性, 以达到更加智能的设计流程。

摘要:随着计算机辅助设计技术的不断进步, 参数化的图形设计方法给广大设计人员带来极大的便利, 但仍然存在精度不高和人工耗费过多等缺点。针对这一问题, 本文将语义计算技术应用到图形设计领域, 提出了一种基于语义的参数化图形设计方法, 提高了图形设计过程的自动化水平, 在不影响设计质量的前提下, 降低了人工耗费。

关键词:参数化设计,语义计算,图形设计

参考文献

[1]肖刚and李学志, 机械CAD原理与实践.1999, 北京:清华大学出版社.

[2]"XML Media Types, RFC 3023"2001.p.9-11.

[3]Bergamaschi, C.S., and M.SVincini.Semantic Integration of Semistructured and Structured Data Sources[C].in SIGMOD Record.2003.New York.

[4]Cruz, I., et al., Ontology-Driven Automatic Entity Disambiguation in Unstructured Text, in The Semantic Web-ISWC 2006.2006, Springer Berlin/Heidelberg.p.44-57.

图形参数化 篇4

动态块实现了参数化设计图形, 即在块中图形增加可变参数, 比如线性参数、旋转参数、点参数等, 再对这些参数增加相应动作, 如旋转动作、移动动作等, 这样就可以改变块的位置、反转方向、宽度尺寸、高度尺寸等[1,2];还可以利用块属性功能, 改变动态块的文字内容;另外利用块输出命令来单独保存动态块, 通过工具选项板方便地管理和调用, 在插入块后只要简单拖动几个参数夹点就能满足设计者的需要, 极大地方便了设计者使用, 提高了绘图效率[3,4]。

绘制工程图纸时, 粗糙度符号、基准代号、装配编号、标题栏和图框的使用比较频繁, 每次使用需单独绘制, 再利用带有属性的块完成, 但这些图形在实际绘图中变化很多, 这种方法仍需其他命令来辅助完成, 而参数化设计的这些图形块将给绘图工作带来更多的方便。

1 粗糙度图形参数化设计

1.1 创建带有属性粗糙度符号块

根据GB/T 131-93规定, 零件表面粗糙度的符号有多种画法, 基本符号画法, 见图1 (a) , H≈1.4h (h为字高, mm) , 国标规定字高有2.5、3.5、5、7、10mm等, 其它图形均以此为基础, 进行相应改变。在AutoCAD中, 将多种图形绘制于同一块中, 并将文字定义成块属性, 见图1 (b) 。

1.2 参数定义与添加动作

零件图中表面粗糙度需要实现如下任务:⑴多种图形符号切换;⑵字高变化图形尺寸改变;⑶参数值与符号相对方向不固定, 有同向与反向;⑷符号必须由零件外部指向表面, 且与其垂直。根据任务要求, 需要依次添加可见性参数、线性参数、旋转参数+点参数+翻转参数、对齐参数。依次为参数添加旋转动作、移动动作、缩放动作等, 见图2。

2 图框、标题栏和明细栏参数化设计

2.1 创建带有属性图框、标题栏和明细栏块

分别根据GB/T14689-93、GB10609.1-89和GB10609.1-89规定, 选一种图幅, 如A4, 标题栏和明细栏等图形绘制于同一图形并将可变文字定义成块属性, 为了扩大应用范围, 将简化标题栏与明细栏也加入其中, 并加入块属性, 见图3。

2.2 参数定义与添加动作

国标中规定有多种图幅及图框, 需添加线性参数和拉伸动作, 按照规定为每个参数建立值集, 并加入查询集, 见图3 (a) , 通过列表选择方式来改变图幅及图框尺寸;明细栏的多行表格, 需添加线性参数和阵列动作, 根据要求设置阵列间距;标题栏、明细栏或简化标题栏等的切换, 需可见性性参数, 创建五种状态, 见图3 (b) 。

3装配编号参数化设计

3.1 创建带有属性装配编号块

根据GB/T4458.2-2003规定, 单个部件和部件组零件编号的表示方法, 见图4 (a) , 将图中所有图形在模型空间绘制于同一图形, 见图4 (b) , 将文字定义成块属性。

3.2参数定义与添加动作

装配编号的多种符号图形切换, 添加可见性参数, 创建7种装配编号状态;根据零件图中编号位实际情况, 分别为其添加参数和相应动作, 见图5。

4 基准代号参数化设计

4.1 创建带有属性基准代号块

基准代号只有一种画法, 见图6 (a) , h为字高, 图形大小随字高变化而变化, 国标规定字高有2.5、3.5、5、7、10mm等, 在AutoCAD中, 按照一种字高绘制基准代号图形, 并将文字定义成块属性, 见图6 (b) 。

4.2 参数定义和添加动作

零件图中基准代号方向不定, 而基准字母都应水平书写;字高不同图形尺寸也发生变化;文字位置也要稍微调整, 根据这些要求, 图形参数及动作设计, 见图6 (c) , 模型空间动态块及部分应用情况, 见图6 (d) 。

5 建立图库管理结构

为了便于管理与调用动态块, 可以利用块输出命令, 将动态块输出成独立文件, 进行保存。利用“工具选项板”, 新建一个选项板, 将保存的文件, 粘贴到选项板后, 只要点击相应选项, 动态块则被插入到当前图形。

6 结论

本文利用AutoCAD的动态块功能, 对机械零件图中常用图形进行参数化设计, 这些动态块图形, 符合我国制图标准, 在工程绘图或机械绘图中具有一定的参考与应用价值, 而且利用了工具选项板方式进行管理, 能为设计人员绘图提供便利, 大大提高绘图速度。

参考文献

[1]巴彤.用动态块标注表面粗糙度[J].电力学报, 2006.

[2]沈培玉等.AutoCAD动态块在包装纸盒参数化设计中的应用.包装工程, 2007.

[3]马春生等.AutoCAD中工程图样动态标注的开发.现代机械, 2010.

图形参数化 篇5

旋转机械在工业领域中的使用十分广泛, 振动故障是旋转机械各类故障中出现频次较高, 后果较为严重的类型之一。在旋转机械振动信号的各类参数图形中, 存在着大量反映设备运行状态的信息, 如二维幅频或相频特性曲线、小波图、趋势图、三维谱图、三维阶比图等。通过分析图形信息实现对旋转机械的状态监测是目前该领域的研究热点[1,2,3,4]。

在旋转机械故障诊断中, 振动信号参数图形的有用信息没有得到很好的利用, 这主要是由于施工环境较为复杂, 噪声干扰严重, 参数图形的边缘特征提取困难所致。数学形态学的主要研究对象是图像的形态特征, 此类特征可通过某种结构元素的形态与图像相应形态的对比方式来确定, 以此完成对图像的分析、滤波、识别、边缘检测、分割和重建等处理过程[5]。使用数学形态学相关方法分析处理旋转机械振动信号参数图形时, 可通过调节结构元素尺度来剔除环境噪声等干扰信息, 有效提取参数图形的边缘特征, 为进一步的故障诊断扫清障碍。

为此, 本文在文献[1]实验的基础上, 根据数学形态学Top-Hat变换和Bottom-Hat变换理论, 对旋转机械振动信号参数图形进行多尺度滤波增强处理;通过多结构元边缘检测方法对滤波处理后的旋转机械参数图形进行边缘检测。

1 数学形态学的基本原理

数学形态学的基本原理是通过一整套的变换来描述图像的基本特征和结构。数学形态学最基本的2种变换是腐蚀和膨胀, 其他变换都是由这2种变换的组合来定义的[6]。

1.1 形态学腐蚀运算、膨胀运算

设A为待处理的灰度图像, B为结构元素, 则结构元素B关于图像A的腐蚀与膨胀运算定义为

其中, DA和DB分别是A和B的定义域, 位移参数则必须包含在灰度图像A的定义域内。

腐蚀运算可以消除图形中的小成分, 可从内部对图形进行滤波;膨胀运算可以填充图形边缘处小的凹陷部分以及图形中比结构元素小的孔洞, 可从外部对图形进行滤波[7]。

1.2 形态学开运算、闭运算

形态学开运算、闭运算分别定义为

开运算在纤细处分离物体和平滑较大物体边界, 具有消除散点、毛刺和小桥等细小物体的作用;闭运算连接两个邻近的区域和平滑边界, 具有填充物体内细小孔洞的作用[8]。

1.3 形态学变换

形态学Top-Hat变换是对灰度图像做减去其开运算结果处理, 该变换可以提取亮度较高的背景中的较暗区域;形态学Bottom-Hat变换是对灰度图像的闭运算结果做减去原始图像处理, 该变换可提取亮度较低的背景中的较亮区域。形态学变换可用来提取目标图像中尺度小于结构元素的峰值和谷值[9]。

Top-Hat变换定义为

Bottom-Hat变换定义为

2 多尺度滤波增强处理

形态学腐蚀、膨胀、开、闭4种运算中的1种或2种串联或并联的组合就是形态学滤波运算。多尺度形态学滤波增强处理是通过不同尺寸的结构元素多次对图像进行滤波的, 其中多尺度开闭滤波在消除噪声、保持图像细节和提高信噪比等方面优于多尺度腐蚀膨胀滤波, 从而在一定程度上优化了灰度图像的有用信息, 令后续边缘检测结果更加真实可靠, 因此在形态学滤波中应用较多。

多尺度结构元素定义为

其中, B为十字形3×3结构元素, n为滤波尺度, 式 (7) 含义即为大尺度结构元素由小尺度结构元素多次膨胀得到。

为了得到足够平滑的图像, 本文采用最大尺度的结构元素Bn对图像进行多尺度开闭滤波增强处理, 其表达式为

其中, 权值ω对最后的滤波增强结果有较大影响, 一般取为0.5, 本文根据滤波增强处理结果的优劣, 取0.3。

图像经过多尺度开闭滤波增强处理后得到足够平滑的低频图像, 为获得更全面的有用信息, 还需提取图像的高频细节信息。在多尺度滤波增强处理方法中, 由于噪声在经小尺度结构元素处理的图像中出现几率较大, 并且随着尺度的增加其影响逐渐消失[10], 故本文选用带有修正系数的Top-Hat变换 (FT (i) ) 和Bottom-Hat变换 (FB (i) ) 来提取图像的高频细节信息。为减小噪声对图像的影响, 修正系数设定为公比为0.5的等比数列, 此过程完成了不同尺度间小尺度图像特征的平滑处理, 具体的表达式如下:

由多尺度开闭滤波增强处理的图像最终由三部分组成:第一部分是图像经最大尺度结构元素开闭滤波增强以后生成的低频平滑图像, 该部分包含图像中的大尺度图像信息;第二部分是提取比该滤波增强尺度还小的亮点图像高频特征;第三部分是提取比该滤波增强尺度还小的暗点图像高频特征。至此, 一幅灰度图像经多尺度滤波增强处理后生成的图像为[11]

3 多结构元边缘检测算子

在图像边缘检测处理中存在着多种梯度, 若在某一像素点处梯度值大, 则表示在该像素点处图像的灰度值变化迅速, 从而认定该点可能是图像的边缘点。数学形态学边缘检测方法主要是利用形态学梯度来完成图像的边缘检测。若将数学形态学的腐蚀、膨胀、开、闭等基本运算用于图像处理, 可构造出合适的形态学梯度算子 (经典边缘检测算子) 用于图像的边缘检测[12]。

腐蚀型边缘检测算子:

膨胀型边缘检测算子:

膨胀腐蚀型边缘检测算子:

上述3种形态学边缘检测算子是一种非线性的差分算子, 这些算子容易实现, 在实际中有一定的应用。但是, 这些算子对噪声都很敏感, 不能在保持较高检测精度的同时又不损失抗噪性能。由于旋转机械振动信号中普遍存在噪声, 虽然已经过多尺度滤波增强处理, 但仍有少量残留, 而且噪声信号和参数图形的边缘又均为频域中的高频分量, 因此, 为了更好地提取旋转机械振动信号参数图形的边缘特征, 应选择抗噪性能优于经典边缘检测算子的方法对参数图形进行边缘检测。根据腐蚀、膨胀、开、闭4种运算抑制噪声的相关特性, 本文对式 (12) ~式 (14) 做如下改进。

抗噪腐蚀型边缘检测算子:

抗噪膨胀型边缘检测算子:

抗噪膨胀腐蚀型边缘检测算子:

数学形态学边缘检测方法不仅与所使用的边缘检测算子有关, 还与结构元素自身特点密切相关, 如大小、方向、形状等。在边缘检测过程中, 不同结构元素对图像不同边缘细节信息的敏感性各不相同, 一种结构元素只能提取图像的一种边缘信息, 这不利于保持图像边缘的有用信息。因此, 应尽量选用具有不同特征的结构元素对图像进行边缘检测, 让每个结构元素都发挥作用, 提取出具有其自身特征的边缘信息, 这样可以充分保持图像的各种边缘信息, 达到既能检测出图像的各种边缘纹理, 又能抑制噪声的目的[13]。本文利用抗噪膨胀腐蚀型边缘检测算子 (式 (17) ) 构造多结构元边缘检测算子, 其表达式如下:

其中, B1、B2、B3为结构元素, 尺寸固定不变 (3×3正方形) , B1, B2可取为同一种结构元素, 也可取为不同的结构元素。

4 多尺度多结构元边缘检测仿真

为验证多尺度多结构元边缘检测方法的正确性与有效性, 本文选取结构元素B1=[1 2 1;2 62;1 2 1], B2=[0 1 0;1 1 1;0 1 0], B3=[1 0 1;0 1 0;1 0 1], 对含有5%椒盐噪声的Lenna灰度图像进行多尺度多结构元边缘检测, 其中多尺度滤波增强处理使用结构元素B1作为初始结构元素, 滤波尺度n取4, 多结构元边缘检测算子使用结构元素B1、B2、B3进行检测。图1a为原始灰度图像, 图1b为边缘检测结果。从图中可以看出:多尺度多结构元边缘检测方法滤除了Lenna图像中的椒盐噪声, 检测出的图像边缘轮廓清晰、纹理明确, 信噪比有所提高。该方法边缘检测效果优于经典边缘检测算子边缘检测效果, 更适用于含有噪声污染图像的边缘检测。

5 旋转机械参数图形边缘检测实例

5.1 实验

旋转机械故障模拟实验在600MW超临界汽轮发电机组轴系试验台上完成, 分别进行了转子正常、转子不对中和轴承松动故障的实验。试验台主要包括5个部分, 即发电机组轴系、润滑系统、动力系统、供气系统和信号采集分析系统。其中发电机组轴系由9个轴承5跨组成;润滑系统用独立的油路系统对各个轴承供油, 每个轴承座均安装BENTLY3000 XL8 mm电涡流传感器, 输出为7.87V/mm;动力装置采用55k W变频电机经过FRENIC变频器输出转速和功率, 并采用HG0G-C2型变速箱, 试验台详细结构布置如图2所示。在实验过程中, 采样时间为0.64s, 采样频率为转速的32倍, 实验时转子最高工作转速为3200r/min, 采集的信号经A/D卡传送到计算机, 为后续的数据分析做准备[7]。

实验中对转子正常、转子不对中及轴承松动故障, 每种采集40个启停机样本, 共计120个。首先将每个原始振动信号的采集样本进行处理, 生成各自的振动三维谱图, 如图3所示。

5.2 多尺度多结构元边缘检测

根据三维谱图倍频特征明显的特点, 将频率作为横轴, 转速作为纵轴, 像素点灰度值作为该转速下、该频率下幅值的大小, 将其转化为二维灰度图形, 结果如图4所示。灰度图中明显的竖线为倍频线, 与三维谱图中的倍频线相对应。

为了有效地提取旋转机械振动信号参数图形的边缘特征, 本文对图4各种状态下的参数图形进行量化、直方图均衡化等预处理, 选取结构元素B4=[1 3 1;3 5 3;1 3 1], B5=[0 1 0;1 1 1;0 10], B6=[1 0 1;0 1 0;1 0 1], 应用上述多尺度多结构元边缘检测方法对其进行边缘检测。其中多尺度滤波增强处理使用结构元素B4作为初始结构元素, 滤波尺度n取4;多结构元边缘检测算子使用结构元素B4、B5、B6进行检测, 最终的多尺度多结构元边缘检测结果如图5所示。从图5可以看出:旋转机械振动信号参数图形经多尺度多结构元边缘检测处理后, 噪点大幅降低, 环境污染噪声基本被滤除干净, 有用信息得到保持的同时信噪比大幅提高, 边缘鲜明, 轮廓清晰, 充分保持了图形的细节特征。至此已说明多尺度多结构元边缘检测方法能够有效地提取旋转机械振动信号参数图形的边缘特征, 具有较强的抗噪声干扰能力, 适合在环境比较复杂、噪声污染较为严重的情况下对旋转机械实施状态监测。

6 结论

(1) 依据数学形态学多尺度图形处理方法, 结合Top-Hat变换和Bottom-Hat变换处理方法, 选取合适的结构元素, 在对旋转机械振动信号参数图形进行有效滤波的同时, 可以保持图形的高频细节特征, 增强参数图形的有用信息, 提高参数图形的信噪比。

(2) 运用多结构元边缘检测算子检测旋转机械振动信号参数图形的边缘, 能够有效剔除多尺度滤波增强处理过程残留的噪点信息, 提取的参数图形边缘特征质量较高。

(3) 在实际应用中, 结合旋转机械振动信号参数图形及其噪声的特点, 多尺度多结构元边缘检测方法可以较好地解决边缘检测精度与抗噪声性能的协调问题, 为基于振动三维图形的旋转机械故障诊断奠定基础。

论汉字图形化设计 篇6

一、汉字与图形的关系

(一) 汉字与图形之间渊源颇深。

从汉字的起源及汉字的发展轨迹可以寻见二者之间的渊源。关于汉字的起源, 先后就有“结绳说”、“八卦说”、“河图洛书说”、“仓颉造字说”和“图画说”等五种说法, 其中, “图画说”为现代学者所推崇, 他们认为汉字真正的起源是远古时期的图画, 一些半坡时期的陶器和商末的青铜器上的图形被认为是最为原始的文字。汉字构字有六法“象形、指事、会意、形声、转注、假借”, 其中“象形”指的就是一些汉字是依据事物的外形被创造出来的, 最为典型的就是“山”、“水”、“日”、“月”这些字。[1]

先秦时期出现的鸟虫书是汉字图形化的一种体现, 象形文字是将事物形状文字化, 而鸟虫书是将文字图形化, 将文字以类似鸟虫的形状进行变化装饰, 来满足当时人们的审美需求。后来的篆书在其长期的发展过程中, 形成了各种字体, 是变化最为丰富的字体之一。篆书之所以能演变为多种字体与人们的审美观不同有关。可以说, 篆书对汉字的笔画图形化进行了淋漓尽致的发挥。这些都说明汉字与图形之间存在着密切的联系。

(二) 平面设计中汉字与图形紧密相连。

汉字与图形的密切关系, 在现代平面设计中依然存在。汉字是中华民族最为伟大和成功的创造, 它凝结了中华民族先贤的智慧和审美。它不仅仅是表情达意的工具, 更是中华民族的一种艺术追求体现, 历朝历代对书法家的推崇展现了我们对于汉字的审美的重视。可以说, 汉字本身是平面设计的一种, 它运用最为简单的元素, 进行复杂的构架设计, 使之成为一个个艺术品。同样可以说, 汉字是经过设计的图形。古人信奉“书画同源”, 强调的同样是字体的艺术美感, 尽管现代汉字已经由繁入简, 可是它的架构依然符合图形审美的原则。有学者指出这是由于汉字具有深厚的文化积淀使得其对人的心理和视觉产生无以言表的亲切感。汉字图形化的平面设计为越来越多的人所青睐, 香港的靳棣强先生和日本的设计师白木樟先生就是这方面的代表。[2]

二、汉字图形化的表现方法

正是基于汉字与图形之间的的密切联系, 汉字图形化创意被越来越多地应用于平面设计中, 汉字的图形化创意指的就是在充分理解文字的涵义的基础上, 对其进行图形化再创造, 使其具有更深层次的图形表意功能, 更加利于视觉效果的传达。汉字图形化的关键在于其创意, 创意的好坏决定其成败, 因此, 必须运用合适的表现方法来对汉字进行图形化设计, 常用的表现方法有以下几种:

(一) 对汉字进行解构、同构和异构。

解构、同构和异构是基于汉字的结构性特点, 在汉字图形化设计中, 对汉字的解构作相应的处理, 使之更加富于视觉效果、更有利于表情达意。“解构”一词最早应用于哲学领域, 指的是将原有事物进行元素分解, 然后重新形成新的事物, “解”和“构”都无一定的规则, 都来源于作者的创意。具体到汉字图形化中, 是指将汉字的笔画和结构, 进行大胆的分解, 在分解的过程中着意发现新奇的、美丽的组合形式, 并在此基础上按照汉字的表意、会意的特性和艺术的法则将其重组, 使之产生新的形象。这样会使得汉字变得新奇而美观, 带给观众新的视觉感受。同构和异构较之于解构有更大的创新。在汉字图形化层面上理解, 同构是指将相同或相似的汉字结构元素组合在一起, 突破了原有的规则, 使汉字产生创造性的意义。异构是与同构相对的方法, 是指将不同性质、不同结构的汉字组合在一起, 形成强烈的视觉冲突。

(二) 在汉字和图形之间进行变换。

汉字图形化创意的另一种常用表现形式是汉字与图形之间进行变换, 概括来讲就是“以图组字”或者“以字组图”。前者是指将一些图形模拟成汉字的笔画, 然后将这些图形按照笔画的结构顺序进行组合使之成字, 应该说, 此种方法更类似于对文字进行装饰。后者指的是将一段话或一首诗等相关文字组合为一个图形, 这样做不仅能产生别致的美感, 也能够唤起观众的好奇心。

(三) 将汉字与书法艺术结合起来。

中华民族是注重审美的民族, 我国历史上对于书法艺术非常推崇。书法讲究用笔和布局, 是几千年来中国艺术的深厚积淀。汉字的图形化的表现形式可以借鉴书法的艺术特点, 将汉字的外在形态同内在意蕴结合起来, 经过大胆的抒发表现, 创造出个性独特的设计的形式。[3]

用书法艺术将汉字图形化, 要在事物典型特征的基础上, 将外在具体的字形同内在抽象的语义进行结合, 再通过不同的书写工具产生的不同艺术效果, 最终完成汉字图形的创作。用书法艺术将汉字图形化并不完全等同于书法的创作, 更侧重利用书法的书写特点对汉字图形化进行设计。[4]

三、汉字图形化的应用与展望

(一) 汉字图形化的应用现状。

很多设计师基于汉字本身所具有的美学构图特性, 将汉字的这种美学价值转化为商业价值, 汉字图形化设计被广泛地应用于商业宣传中, 如标志设计、海报宣传等领域。

1. 汉字图形化在标志设计中的应用。

汉字图形化形成的标志设计常被应用于企业标志中。标志代表着一个企业的形象和名誉, 是企业无形的财富。一个好的企业标志设计不仅需要在文字形态上进行创作, 体现美感, 更重要的是要求该标志能够深入人心, 为人所熟记, 能够准确传递出该企业所经营的产品与该企业的核心价值观。

2. 汉字图形化在海报宣传中的应用。

海报宣传与标志设计有着同样的目的, 都是为了准确传递信息。二者的不同之处在于, 海报要求更加强大的视觉冲击力, 能够在瞬间抓住观众的眼球, 然后使其过目不忘。因此, 汉字图形化在海报中的应用就要求海报中的汉字表现形式必须标新立异, 与众不同。

(二) 汉字图形化应用的局限。

从前面的分析可以看出, 汉字图形化作为平面设计的一种新的形式在平面设计中被广泛地应用, 在其他领域则很少涉及, 因此, 汉字图形化应用也存在一定的局限。这些局限表现在:第一, 对单一汉字图形化处理效果好于多汉字的图形化, 因为多汉字的情况下存在协调的问题;第二, 汉字图形化设计的承载信息量有限, 无法用来表达更多的信息。

(三) 汉字图形化应用的展望。

汉字以其在图形化方面的先天优势, 使得汉字图形化具有很好的发展前景, 如何将汉字的这些优势应用到图形化中, 使得汉字图形化兼具创意图形的美感和汉字的文化内涵, 是需要我们在发展图形化过程中需要解决的问题, 应该看到, 当前的汉字图形化还处在发展的阶段, 还有广阔的发展空间, 相信在不远的将来, 汉字图形化会更上一层楼, 汉字这一独具中华传统文化魅力的符号将会和图形更好地结合在一起, 使得中国的设计饱含民族性, 在世界设计领域展现新的生机。

摘要:我国的汉字作为记载和传承文明的载体, 传递着中国传统文化的大量信息。汉字的符号化字型结构, 使汉字兼具图形化的表现形式, 为汉字图形化设计在平面设计中丰富发展奠定了基础。本文从汉字与图形的关系入手, 分析汉字图形化的表现方法, 并在此基础上对汉字图形化的应用发展进行展望。

关键词:汉字,图形化,表现方法

参考文献

[1].唐兰.中国文字学[M].上海:上海古籍出版社, 1979:56

[2].曹方.汉字艺术设计的图象化景观[M].济南:山东画报出版社, 2005:45

[3].陈炜湛.汉字的故事——古文字趣谈[M].北京:文化艺术出版社, 2010:23

图形参数化 篇7

本研究主要针对城市建筑群参数化建模, 提出一套完整的解决方案, 该方案包括“参-建分离”的系统架构, 以及参数管理、服务网站、自动建模三大模块。笔者在第一篇文章中介绍了系统架构和参数管理模块, 在第二篇文章中介绍了自动建模模块中的DXF-SHP格式自动转换技术的实现方法, 本文将重点针对自动建模模块中的参数化三维建模技术提出相应策略和方法, 并对整套方案作实验验证。

2、参数化三维建模技术

(1) CGA规则库的构建策略

CGA是City Engine[1-3]平台为三维城市建模设计的一种形状语法。用其编写的文法规则 (一种脚本程序) 可以驱动二维平面自动生成复杂三维形体。为使规则便于维护、利于共享, 我们采用“一物一规则”的思路, 建立了一个种类丰富、数量庞大的规则库。根据类型不同, 将规则库中的规则划分为“建筑”、“道路”、“地块”三大类, 并制定如下命名规则:建筑类文法规则以“B+唯一编号”的形式命名 (表示Building) , 道路类以“S”开头 (表示Street) , 地块类以“L”开头 (表示Lot) 。规则库的整体框架如图1所示。

由于“参-建分离”的系统架构中参数管理与自动建模是分开的, 这就存在规则文件如何调用的问题。本文提出了以“STYLEID”为核心的调用机制: (1) 先定义一个CGA文法规则, 以“STYLEID” (例如“B20120917”) 命名; (2) 在服务网站的风格库中为该规则新建风格, 该风格包含一个名为“STYLEID”、值为“B20120917”的参数; (3) 用户从风格库中获得该风格的参数列表, 将其作为属性与城市图元关联, 构成带属性的块参照, 这样城市图元就附带了一个名为“STYLEID”、值为“B20120917”的属性; (4) 另存为DXF文件, 并经服务网站上传到服务器, 服务端获取后启动自动建模脚本; (5) 脚本在处理到上述块参照时, 先读取“STYLEID”参数的值“B20120917”, 再从规则库中找到对应的规则文件——即“B20120917.cga”文件, 将该CGA文件设为该图元的规则文件 (Rule File) , 即可完成三维建模。

(2) 自动建模脚本的设计

City Engine平台提供了一个Python脚本编辑窗口和一个基于Python语言的“CE”模块, 借此可实现许多自定义功能, 大大扩展了City Engine的功能, 自动建模脚本正是基于此实现的。这里的“CE”模块类似于Python语言自带的“os”、“random”模块, 封装了大量读写、编辑City Engine内部数据的API函数, 是自动建模的核心。当然, 整个自动建模脚本还包括许多辅助功能 (见图2) , 其步骤如下: (1) 由于用户上传的项目文件组织难以预料, 因此必须对原始文件进行整理; (2) 在获取DXF文件后, 调用笔者开发的DXF-SHP程序进行文件格式自动转换; (3) 清理工程, 我们在模型生成前后, 都安排了该步骤, 这是为了保证每个项目的独立性, 避免项目之间相互影响和产生不发预见的错误, 这里的清理包括三维数字场景清理和文件系统清理两方面; (4) 工程清理完毕后, 即可开始导入SHP文件, 并开始生成三维 (建筑、道路和地块) 模型。

这里以建筑为例, 介绍一下三维模型生成的方法:首先需要获取一个初始shape图形, 设置起始规则名 (City Enging平台内称为Start Rule) 为“Lot”;然后根据“STYLEID”属性值从规则库中找到相应文法规则, 将其指派给该图元;接着系统自动完成shape自带属性与文法规则定义参数的匹配;最后自动生成建筑实体。其对应的Python代码如下:

3、实验

为验证本研究所提方法及系统的可行性和高效性, 这里以浙江省余姚市某镇的局部城市建筑群为例, 进行参数化建模实验。实验的已知数据为该镇的平面布局图, 包含道路中心线和建筑封闭轮廓线, 如图3-a所示。

实验首先利用第一篇文章中介绍的参数管理模块, 在Auto CAD平台上将参数与道路中心线、建筑轮廓线关联, 效果如图3-b所示。我们针对建筑设计的参数有:层数FLR_NBR、首层层高FST_HEIGHT、其他层高F_HEIGHT, 针对道路设计的参数有:左侧人行道宽度L_WIDHT、车行路面宽度M_WIDTH、右侧人行道宽度R_WIDTH。此外两者共有的参数有精细等级LOD (用于控制生成模型的精细程度) 、风格编码STYLEID。

最后, 将文件另存为DXF格式, 并通过服务网站模块上传到服务器。服务端后台随即启动自动建模脚本, 按照第二篇文章介绍方法将DXF转成SHP, 然后根据本文方法自动生成城市建筑群三维模型, 并提供下载, 最终模型效果如图3-c所示。图中我们可以看到, 由本系统生成的城市建筑群模型具有非常丰富的细节、逼真的纹理和三维空间形态。更重要的是, 如此详细的模型从参数管理到上传、再到获得最终结果, 总耗时仅20分钟左右。如果使用传统的3DMax、Sketchup等三维辅助设计软件进行手工制作, 要达到相同的效果可能需要花费数天时间。

当然, 本系统除了处理速度快, 更重要的优势还在于使模型方案的调整变得非常方便。例如当需要调整图4-a中局部建筑的层数和风格时, 只需将DXF文件中的对应建筑轮廓图元 (属性块) 的属性数值稍作调整, 重新上传到服务器, 数分钟后即可得到成果 (如图4-b所示) 。

4、总结与展望

本研究针对城市建筑群参数化建模, 创造性地提出了“参-建分离”的系统架构, 并重点针对参数管理和自动建模两个模块提出了详细的实现方法, 最后通过实际案例证明了本研究所提方法及系统的可行性和高效性。该研究成果大大降低了参数化平台的技术门槛、大幅提高了建模效率, 将有效推动参数化技术在建筑规划领域的应用普及。

摘要:本文详细介绍了参数化三维建模技术的相关策略和方法, 并通过实际城市建筑群参数化建模实验, 验证了本研究所提方法及系统的可行性和高效性。

关键词:城市建筑群,参数化建模,三维

参考文献

[1] Müller P, Vereenooghe T, Wonka P, et al. Procedural3D Reconstruction of Puuc Buildings in Xkipché[C]. EG, 2006.

[2] Müller P, Wonka P, Haegler S, et al. Procedural modeling of buildings[J]. ACM Trans. Graph. 2006, 25: 614-623.

机器人图形化编程系统 篇8

关键词:机器人图形化编程系统,教育机器人,基于流程图

RobotDev1.0机器人图形化编程系统具有基于流程图的编程环境, 并支持基于PICC语言的Robot C机器人控制语言。用户不仅可以用直观的流程图编写机器人控制程序, 也可以用Robot C语言编写更复杂的机器人控制程序, 充分发挥自身的想象力和创造力。

该系统操作简单, 有活泼明快的图案和简短的文字说明, 用户点击RobotDev1.0机器人专用的功能或控制模块中的功能图标搭建流程图。搭建流程图的同时, 动态生成无语法错误的Robot C程序。流程图搭建完毕后, 再进行图形化编译, 编译后产生相应的Robot C机器人控制程序, 再对Robot C机器人控制程序进行编译连接后, 就可通过上下位机通信将程序下载到机器人控制器中。用户也可以在Robot C代码编辑环境中对生成的Robot C程序进行进一步编辑和修改。

1 功能简述

该机器人图形化编程系统的主要功能由功能模块库和控制模块库提供。功能模块库提供机器人前进, 后退, 左转, 右转, 输出, 延时功能;控制模块库提供无限循环, 条件判断, 多次循环, 跳出循环功能。

通过图形化方法调用这两个模块库内的功能可动态生成流程图, 生成后的流程图通过图形编译可生成Robot C语言;也可使用Robot C语言通过函数调用的方式使用两个模块库所提供的功能。Robot C语言编译连接成功后, 生成可供机器人控制器执行的二进制代码。最后将二进制代码通过上下位机通信程序写入机器人体内的PIC单片机, 这样用户就可以通过自行编制的程序来控制机器人的运行了。

该系统界面如图1所示:

图1上的1区为模块区, 由功能模块和控制模块构成, 两者提供流程图编程所需的的基本功能和控制功能, 用户可以通过选择不同的图标来实现不同功能的选择。

图1上的2区为图形化编程区, 选择1区的图标后, 点击2区流程图上的红色感应点即可动态插入新的功能, 如此反复, 流程图被不断扩展。

图1上的3区为字符编程区, 高级用户可以直接在该区使用Robot C语言进行字符编程。除此之外, 2 区的流程图经图形化编译后产生的Robot C代码也会在该区显示, 用户也可以在此基础上对代码进行编辑和修改。

图1上的4区为出错提示区, 高级用户在3区编写完程序后进行编译连接, 如果在此过程有错误或警告, 那对应的错误或警告信息会在4区显示出来, 以供用户调试和排错。

2 开发概要

该系统采用Visual C++6.0作为主要开发工具, 整个开发计划主要分为如下四个阶段:

第一阶段:RobotDev1.0软件框架的建立。

该阶段通过使用MFC提供的SDI架构, 基本通用控件和菜单定制功能, 并加上自定义控件 (如选项卡控件) , 建立起RobotDev1.0的整个软件框架 (偏重于界面的构建) 。

该阶段又细分为如下五个子阶段:

a.MFC基本技术和若干高级技术强化理解;

b.SDI应用程序的创建;

c.可浮动工具条界面布局;

d.加载自定义选项卡和CEdit控件;

e.定制菜单。

第二阶段:使用PICC编译器编译Robot C程序。

该阶段通过调用PICC ME 16编译器来编译机器人可理解的Robot C程序, 编译成的二进制代码能在基于PIC16F877单片机的机器人控制器上运行。在编译器调用技术中, 主要通过创建一个中介程序RobotSpawn来将基于控制台的编译程序同基于GUI的RobotDev1.0进行连接, 通过RobotSpawn和RobotDev1.0创建的管道进行编译信息的传递。

该阶段又细分为如下三个子阶段:

a.了解PICC编译器的帮助文档和各种编译方式;

b.编写中介程序Robot Spawn;

c.使用管道通信调用PICC编译器。

第三阶段:构建流程图编程环境。

该阶段首先实现功能模块中提供的所有功能, 对流程图中所有图形对象采用面向对象的方法进行类设计。设计出一种便于流程图动态创建的数据结构后接着分析流程图的动态生成算法。最后还要允许用户使用串行化的方法对流程图进行保存。

该阶段又细分为如下三个子阶段:

a.流程图数据结构和图形对象的设计;

b.流程图的动态实现和Serialize;

c.功能模块的实现;

d.控制模块的实现。

第四阶段:与机器人进行上下位机通信。

该阶段首先确定上位机通讯协议, 包括上位机发送数据的格式, 校验方式, 数据处理, 波特率的确定等。最后使用Remon Spekreijse免费提供的串口类实现上下位机的通信。

该阶段又细分为如下两个子阶段:

a.确定上位机通讯协议;

b.实现串口通信。

3 软件架构设计

根据面向对象的程序设计方法, 整个机器人图形化编程系统被划分为不同的类, 主要的类以及其对应的功能如表1所示:

新元素产生后, 新元素的数据结构被插入到流程图的数据结构中, 根据新的数据结构CRobotDevView负责重新显示整张流程图, 用户立即可以看到扩展后的流程图。

当用户完成流程图编程后, 为了实现用该流程图来控制机器人的目的, 首先要对流程图进行图形化编译生成Robot C代码。通过选择RobotDev1.0软件的工具菜单下的图形编译功能, CFlowGraph类的CodeTraverse方法就会被调用, 该方法将负责把流程图翻译成Robot C代码并显示在3区中。

图形编译后进行Robot C代码的编译和连接, 产生出可供PIC单片机执行的二进制程序。最后选择工具菜单下的代码注入功能调用CSerialPort类的SendToPort () 方法把二进制程序传入到机器人体内的控制器中, 这样机器人就可以按照用户的编程意愿进行运转了。

4 结论

本文介绍了无锡职业技术学院教育机器人系列产品的RobotDev1.0软件开发系统的开发过程, 对该软件所具有的功能进行了扼要的描述, 根据功能分析, 分阶段介绍了RobotDev1.0的概要开发计划, 并根据面向对象的程序设计方法列举了在本软件架构设计中所设计的主要类及其相应功能, 最后描述了这些类是如何相互协作以达到用户从图形化编程到最终控制机器人运行的整个过程。

参考文献

[1]侯俊杰.深入浅出MFC[M].武汉:华中科技大学出版社, 2001, 1.

上一篇:理性特征论文下一篇:电极加工