- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机辅助设计及图形学第7讲 二维CAD系统技术及小型CAD系统开发简介 华中科技大学机械学院CAD中心 吴义忠cad.wyz@hust.edu.cn 主要内容 功能分析 体系结构 关键技术 交互技术 VCAD介绍 OpenGL的交互功能 7.1 功能需求 7.3 部分关键技术 菜单技术 Menu 3)界面设计原则 6)界面质量评价 7.6 小型CAD系统VCAD介绍 基本图元创建功能 图元选择功能 图元编辑功能 视窗Zoom功能 橡皮筋功能 文件功能 Undo/Redo功能 创建图元 全局图元链表:保存模型的全部实体图元 CVCadDoc::m_EntityList 实体创建过程——对象调用 用户输入(CCommand) + 创建对象(CEntity) CCommand/CEntity对象及其派生对象 图元选择 图元选择实体集 DOC::m_selectArray 记录选中的实体图元指针 实体包容盒:鼠标左键单击时,处在实体包容盒内的实体才能被选中 图元的各种显示模式:选中、拖动、正常 图元编辑 编辑(Modify)命令也从CCommand派生 编辑过程:关键点变换(如旋转),删除原实体(作删除记号),创建新实体 视窗功能 各种常用的Zoom: All/Extent, out/In, Window, pan 座标系:用户坐标系与屏幕座标系 坐标系原点、放缩比例 不改变模型的内容,只改变显示,即改变的是坐标系的原点或放缩比例 橡皮筋及拖动 鼠标事件(按下,移动,释放) “异或”模式(R2_NOT)——恢复屏幕背景颜色 鼠标移动事件:擦除源实体,画新实体 文件保存与打开 文档序列化与反序列化 cad文件的DXF转换 Undo/Redo 显示实体的原则:每个实体,显示不超过当前操作数的最大一个未作删除标记的版本。 当前操作数 实体操作数 实体集存储数据结构 Undo过程:当前操作数减1 Redo过程:当前操作数加1 OpenGL的交互函数 VCAD对象设计适合OpenGL!只是在显示时用OpenGL函数代替GDI函数 鼠标操作 (x,y为屏幕坐标) void glutMouseFunc(void (*func)(int button, int state, int x, int y)); void glutMotionFunc(void (*func)(int x, int y)); 键盘操作 void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); 注意在绘图系统中需要进行坐标系的转换,即获取的是屏幕坐标,需转换成世界坐标,由世界坐标的值绘制图元实体 OpenGL实体选择 1. Specify the array to be used for the returned hit records with glSelectBuffer(). 2. Enter selection mode by specifying GL_SELECT with glRenderMode(). 3. Initialize the name stack using glInitNames() and glPushName(). 4. void gluPickMatrix (GLdouble x, GLdouble y, GLdouble width, GLdouble height, GLint viewport[4]); 获得拾取的实体集合,填充pickBuffer 5. hits = glRenderMode(GL_RENDER); 得到选中的实体个数 6. 处理选择集… * * 集设计、计算与绘图于一体,实用化程度高;符合国家有关机械设计的标准;全汉化界面、多级弹出式菜单、图标菜单及对话框等接口形式;提示醒目,操作简单,容错能力强,适合从事机械设计的人员使用。 辅助工程绘图 零件计算与分析 汉字标注 装配图自动消隐和明细表自动生成 基于尺寸驱动的参数化设计 交互式参数化零件建库工具 智能尺寸标注与符号标注 参数化标准件、常用件、夹具零件库 简图符号库 多种信息查询 图号编码与管理 …… Windows、TCP/IP协议、DBMS 基本图形定义 基础算法库 交互界面工具 图形库管理 图形编辑管理 图形显示管理 文件输入输出 内存数据管理 二次开发接口 数据库 专业应用开发工具 尺寸 标注 工具 设计 计算 工具 标准件库 工具 专业 符号 工具 查询管理 工具 协同管理 工具 工艺设计 工具 7.2 体系结构 参数化管理 通用层 专用层 数据层 1)基本
文档评论(0)