- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* Project 4D主界面 * 建筑施工4D管理系统主界面 * 6.5.4.3 命令语言 设计原则 1. 遵循用户模型,符合用户语言习惯 2. 语言简洁、完整 3. 及时反馈信息 4. 完善的容错处理手段 e.g. 显示出错信息,提示改错办法,提供取消操作 5. 统一的语义、语法、显示方式 e.g. Return-执行命令 Esc-退出 黄色-反馈信息 红色-警告 * 6.5.4.4 菜单组织 设计原则 1. 采用树结构 叶结点:可执行的菜单项,对应一个程序段 中间节点:提示信息项 2. 菜单结构的层次不宜过深 3. 回显所选中的菜单项 * * 6.5.4.5 信息反馈 包括:对用户输入内容的回显 显示对用户输入内容的处理结果 设计原则 1. 易读性和易理解性 2. 信息反馈与画面整体协调 3. 信息反馈的形式:图、数、文 4. 反馈时间尽可能短 * 本章学习重点 1. 交互设备的逻辑分类 2. 交互输入技术 3. 交互控制技术 4. 图形拾取技术 5. 下拉菜单的实现 6. 交互式图形用户界面设计原则 * 本章参考文献 1. 任爱珠等. 土木工程CAD技术. 清华大学出版 社,2006. 第5章 2. AutoCAD 2006 帮助文档(联机帮助) * 课堂测试 请用10分钟的时间,写出你学过本章后 印象最深的 收获最大的 意见和建议 至少3点。 * (Px, Py) 1 2 3 a b AcDbObjectId drawRectangle(AcGePoint pt, int a, int b){ … } void positioning(int id){ ads_point pt; int a, b; acedGetPoint(NULL, “\n Base point:”, pt); switch (id){ case 1: acedGetDist(pt, “\n Width” , a); acedGetDist(pt, “\n Height” , b); drawRectangle(asPnt3d(pt), a, b); case 2: … } } * 6.3.3 强制法 使用部分预先规定的坐标值来替换所输入的坐标,使图形满足某种精度要求的方法 在AutoCAD中 捕捉:Snap 正交方式:Ortho 对象捕捉:Osnap 1 2 3 45 o P1 P2 P3 P4 P2’ P4’ · · * 1 2 3 45 o P1 P2 P3 P4 P2’ P4’ · · AcDbObjectId drawLine(AcGePoint pt1, AcGePoint pt2){ … } void constraint(int id){ ads_point pt1, pt2; acedGetPoint(NULL, “\n Start point:”, pt1); acedGetPoint(NULL, “\n End point:”, pt2); switch(id){ case 1: pt2[Y] = pt1[Y]; case 2: … } drawLine(asPnt3d(pt1), asPnt3d(pt2)); } * 6.3.4 网格法 当用户在网格上作图时,使所拾取的点均为网格交叉点的方法 在AutoCAD中 网格:Grid 捕捉:Snap (Xmin, Ymin) (Xmin, Ymin) Ny Nx · P(x, y) * (Xmin, Ymin) (Xmax, Ymax) Ny Nx void grid(int Px, int Py){ int Ax[100][100]; int Ay[100][100]; int Nx, Ny, Xmin, Ymin; int Xmax, Ymax, X1, Y1; … for ( i = 0; i<=Ny; i++ ){ X1 = Xmin; Y1 = Ymin + i * (Ymax- Ymin) / Ny; for ( j = 0; j<=Nx; j++){ Ax[i][j] = X1 + j * (Xmax-Xmin) / Nx; Ay[i][j
文档评论(0)