CAD接口技术规范及图形管理标准.pptx
计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准计算机辅助设计基础及应用河北科技大学机械电子工程学院授课教师 刘文学计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准第三章 CAD接口技术及图形标准n使用CAD系统需要解决的几个问题交互操作问题交互操作是指产品设计人员与计算机之间进行的各种信息和数据交换的操作。如:一个CAD系统必须允许用户选择某一功能(如:绘图功能、拾取图形对象、输入设计参数和几何形体的位置坐标等),同时要求CAD系统将执行结果以一定的形式通知用户。计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准2.与设备无关性问题与设备无关形问题是指同一个CAD系统所绘制出来的图形在不同的硬件设备(如:不同的显卡、不同的主板、不同的CPU)下显示的效果是一样的。3.数据交换问题 数据交换是指不同的CAD系统间的数据传递和信息交换(如:UG、Pro/E、AutoCAD)n上述问题涉及到CAD技术中的:n交互技术与用户接口(解决交互操作问题)n计算机图形接口与计算机图形元文件标准(解决与设备无关性问题)n计算机图形软件标准(解决数据交换问题)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3.1 交互技术与用户接口交互技术与用户接口(解决交互操作问题)交互技术:人与CAD系统间进行交互操作时所使用的一些技术。交互操作是通过用户接口来实现的。何谓接口所谓接口,是指两个功能部件之间的一种共享界面。(如人与计算机之间的接口是软件操作界面)何谓CAD技术中的用户接口用户接口是指用户与计算机如何进行信息交换。包括用户通过什么途径与CAD系统进行联系,通过什么手段来实现CAD系统所提供的功能。(即软件操作界面)对用户接口的要求:最重要的就是高效率和对用户的友好性计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3.1.1 交互任务与交互技术概述CAD系统中的交互操作是通过用户接口来实现的(CAD软件操作界面)。那么,CAD系统中,交互操作包含哪些主要的任务?为实现这些特定的任务,人们有采用了什么样的技术?这一节主要内容:与交互操作相关的交互任务和交互技术。计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准2CAD技术中的交互任务交互任务包括:交互任务通常包括选择任务、定位任务、定向任务、定路径任务、定量任务、文本任务等任务 交互任务的具体说明(以AutoCAD为例)选择任务选择任务是从一个选择集(如:一幅CAD图形)中挑选所需要的元素。常用的选择方式有:鼠标选择:鼠标点击命令选择:select 命令属性选择:工具菜单快速选择操作数选择:通过图形对象的ID号来选择,通常用于二次开发中。计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准定位任务定位任务用来指定位置坐标。常用方式有:命令行输入点的坐标鼠标拾取点定向任务定向任务是在指定的坐标系中确定形体的方向,以达到不同的显示效果。(即指定绘图的方向或从不同的角度来观察形体)常用方式有:指定绘图的方向(如:绘制直线)指定视角的方向:(如:视图菜单三维视图、三维动态观察等)定路径任务定路径任务是一系列定位和定向任务的结合。(如:用直线绘制一个矩形。第一点(定位)、第二点(鼠标拾取,既有定向也有定位).)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准定量任务定量任务是要在最大和最小数值之间确定一个值。(如:精度设置:工具选项显示卡显示精度)。文本任务文本任务指输入一个字符串。(如:标注文字:绘图文字单行文字或多行文字)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3CAD技术中的交互技术交互技术包括:交互技术通常包括选择技术、定位技术、定向技术、定路径技术、定量技术、文本技术、橡皮筋技术、徒手画技术、拖动技术等交互技术的具体说明选择技术、定位技术、定向技术、定路径技术、定量技术、文本技术就是选择任务中的实现方式(已讲)橡皮筋技术橡皮筋技术主要针对变形类的要求,指可以动态、连续地将图形的变形过程表示出来,直到出现用户满意的结果为止。(如:绘圆、绘直线等)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准徒手画技术(也称为草图勾画技术)徒手画技术主要用来实现用户任意画图的要求。徒手画技术就是采样取点,然后用折线或拟合曲线连接采集点,生成对应的图形。(如:徒手画命令sketch)拖动技术拖动技术是将图形在空间移动的过程连续、动态地表现出来,直至满足用户的位置要求为止。(如:移动命令:Move)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3.1.2 交互操作时的输入控制方式输入控制方式简介在利用CAD系统进行产品设计的过程中,设计人员需要通过输入设备(键盘、鼠标、触摸屏、光笔、数字化仪、操纵杆、语音输入器等)与应用程序进行交互操作。输入控制方式(又称输入模式)是指CAD系统管理和控制多种输入设备进行工作的模式。即CAD程序与输入设备之间是如何工作的。计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准2常用的输入控制方式(三种)n请求(request)n采样(sample)(取样)n事件(event)n例如:移动图形操作1.点击移动图形图标(或Move命令)后,提示选择对象和指定基点的输入操作过程为请求方式;(等待用户输入)2.拖动鼠标时,图形随着移动的操作过程为采样方式(不断取得鼠标当前的坐标值);3.单击鼠标以确定图形的终止位置的操作过程为事件方式。(鼠标的单击事件)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3.2 计算机图形接口标准计算机图形接口标准(解决与设备无关性问题)nCAD技术的标准化是一项非常重要的内容。目的是为了解决与设备无关性问题,其通过一系列标准的指定来得以实现。目前制定的一系列相关标准有:面向图形显示设备的标准(面向硬件)计算机图形接口(CGI)计算机图形元文件(CGM)面向图形应用软件的标准(面向软件)图形核心系统(GKS和GKS-3D)程序员层次交互式图形系统(PHIGS)图形程序库(OpenGL)面向图形应用系统中工程和产品数据模型及其文件格式的标准(面向数据交换)基本图形交换规范(IGES)产品模型数据转换标注(STEP)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3.3 产品数据交换标准产品数据交换标准(解决CAD系统间数据交换的问题)状况随着计算机技术的发展与不断完善,CAx技术在工程和产品设计行业得到了广泛的应用。然而在设计过程中,设计人员可能采用多种CAx系统(AutoCAD、UG、Pro/E、CATIA、SolidWorks、CAXA等)完成设计工作。每类系统存储设计数据的文件格式(.Dwg、.Prt)各不相同。为实现资源共享和协同作业,就必须实现不同CAD系统间的数据交换。计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准2.数据交换的实现方式实现数据交换的方式有两种形式:点对点数据交换指系统之间的数据通过专用数据处理程序直接进行交换;(通用性差)星式交换指各系统之间的数据借助于一个通用的标准数据交换标准进行交换(即中性文件)。(目前主流)3.常用的标准数据交换标准有:基本图形交换规范(IGES)产品模型数据转换标注(STEP)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准上机实验课一:SCR命令文件实验目的了解AutoCAD命令脚本文件SCR的作用;掌握用高级语言生成SCR脚本文件的方法;使用SCR脚本文件绘制图形。实验内容利用高级编程语言编写生成右螺旋线的SCR脚本文件,并在AutoCAD上实现螺旋线图形的绘制。计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3实验要求上机之前要明确算法,上机时编程实现。4实现方法方法一:以直线方式绘制右螺旋线,确定其算法。方法二:以曲线方式绘制右螺旋线,确定其算法。计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准SCR 脚本文件介绍 SCR 脚本文件简介SCR 脚本文件的特点SCR(Script)脚本文件,是AutoCAD特有的一种ASCII码的文本格式文件。SCR脚本文件是一个后缀名为.SCR的文本文件文件中的每一行就是一条完整的AutoCAD的命令。1.(注意:命令中的回车符用一个空格代替)计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准2SCR命令文件的运行菜单方式工具运行脚本选取SCR文件执行命令行方式命令行:SCRIPT计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准3用C语言编程,生成SCR命令文件 各功能模块的定义创建SCR命令文件的模块void begin(void)/*建立一个新的脚本文件*/char fname12;printf(“输入文件名:”);scanf(“%s”,fname);strcat(fname,”.scr”);if(fp=fopen(fname,”w”)=NULL)printf(“不能打开这个文件.”);return;计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准设定图幅大小的模块/*确定图幅大小范围,使用limits 命令*/void limits(float x1,float y1,float x2,float y2)fprintf(fp,”LIMITS%f,%f%f,%fn”,x1,y1,x2,y2);按图幅范围显示的模块void zooma(void)/*按作图范围显示*/fprintf(fp,”ZOOM An”);计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准绘图功能模块绘直线模块/*已知直线的起点、终点绘制直线*/void line(float x1,float y1,float x2,float y2)fprintf(fp,”LINE%f,%f%f,%f n”,x1,y1,x2,y2);绘圆模块/*已知圆心、半径绘制圆*/void circle(float xc,float yc,float r)fprintf(fp,”CIRCLE%f,%f%fn”,xc,yc,r);计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准/*已知圆心、直径绘制圆*/void circd(float xc,float yc,float d)fprintf(fp,”CIRCLE%f,%f D%fn”,xc,yc,d);/*已知3点绘制圆*/void circ3p(float x1,float y1,float x2,float y2,float x3,float y3)fprintf(fp,”CIRCLE 3P%f,%f%f,%f%f,%fn”,x1,y1,x2,y2,x3,y3);计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准III.绘圆弧模块/*已知3点绘制圆弧*/void arc(float x1,float y1,float x2,float y2,float x3,float y3)fprintf(fp,”ARC%f,%f%f,%f%f,%fn”,x1,y1,x2,y2,x3,y3);1.用户可以根据AutoCAD中的绘图命令定义很多这样的绘图功能模块计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准结束模块void gend(void)/*关闭这个脚本文件*/fclose(fp);计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准4应用举例绘制曲线y=2sinx(用绘直线的方法)#include /*头文件*/#include#include void begin(void);/*函数说明*/void gend(void);void limits(float,float,float,float);void zooma(void);void line(float,float,float,float);FILE*fp;/*定义文件指针*/计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准main()int nx,i;float xmin,xmax,dx;float x1,y1,x2,y2;printf(“n输入曲线起始点、终止点的x坐标,步长dx:”);scanf(“%f%f%f”,&xmin,&xmax,&dx);nx=(xmax-xmin)/dx;/*被分成多少断*/dx=(xmax-xmin)/nx;/*步距*/begin();计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准limits(-1.0,-3.0,10.0,3.0);zooma();x1=xmin;y1=2*sin(x1);for(i=0;inx;i+)x2=x1+dx;y2=2*sin(x2);line(x1,y1,x2,y2);x1=x2;y1=y2;gend();计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准2.绘制螺旋线(用绘直线的方法)#include#include#include/*函数说明*/void begin(void);void gend(void);void limits(float,float,float,float);void zooma(void);void line(float,float,float,float);FILE*fp;/*定义文件指针*/计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准void begin(void)/*建立一个新的脚本文件*/char fname12;printf(输入脚本文件名:);scanf(%s,fname);strcat(fname,.scr);if(fp=fopen(fname,w)=NULL)printf(不能打开这个文件.);return;计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准void gend(void)/*关闭这个脚本文件*/fclose(fp);/*确定作图范围*/void limits(float x1,float yb,float xr,float yt)fprintf(fp,LIMITS%f,%f%f,%fn,x1,yb,xr,yt);计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准void zooma(void)/*按作图范围显示*/fprintf(fp,ZOOM An);/*已知直线的起点、终点绘制直线*/void line(float x1,float y1,float x2,float y2)fprintf(fp,LINE%f,%f%f,%f n,x1,y1,x2,y2);计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准/*主函数 绘制螺旋线*/main()float xmin,xmax,ymin,ymax;float x1,y1,x2,y2,l,q;begin();printf(n输入图纸大小:);scanf(%f%f%f%f,&xmin,&ymin,&xmax,&ymax);/*0 0 1000 1000*/x1=(xmax-xmin)/2;y1=(ymax-ymin)/2;计算机辅助设计基础及应用第三章第三章 CAD CAD接口技术及图形标准接口技术及图形标准limits(xmin,ymin,xmax,ymax);zooma();for(l=0,q=0;q30;l=l+0.001,q=q+0.01)x2=x1+l*sin(q);y2=y1+l*cos(q);line(x1,y1,x2,y2);x1=x2;y1=y2;gend();