《CAD程序設计》课程设计指导书.doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《CAD程序設计》课程设计指导书

《CAD程序设计》课程设计 指 导 书 环境与建筑工程学院测绘教研室 《CAD程序设计》课程设计大纲 课程类别:比修 学 时:1周 课程性质:实践教学 开课学期:第7学期 开课专业:测绘工程 先修课程: AutoCAD,计算机高级语言 课程设计的基本目的与任务 本课程设计是测绘工程的专业技术实践课。本实践课的主要目的和任务是:(1)、掌握Visual Lisp程序设计的方法;(2)掌握Visual Lisp操纵AutoCAD的程序设计方法;(3)掌握在 Visual LISP 中使用AutoCAD ActiveX 对象的方法;(4)掌握在 Visual LISP 中使用可编程对话框制作用户界面的方法;(5)掌握自定义 AutoCAD 教学内容 学时 地点 1、集中学习 半天 教室 资料查阅与学习,讨论 1天 图书馆、实验室 设计程序算法、绘制流程图 2天 实验室 建立AutoCAD菜单、工具条、按钮 半天 实验室 设计程序的用户界面 1天 实验室 编写程序代码、调试程序 1天 实验室 编写课程设计报告 1天 教室 注:课程设计总结论文业余时间完成。 课程设计总结论文要求 综述; 设计程序算法、绘制流程图; 建立AutoCAD菜单、工具条、按钮的方法; 设计程序的用户界面; 设计总结。 (6) 附录:源程序 参考题目 判断一个点是否在闭合多边形的里面,该多边形的边界是由线段和园弧组成。 判断一个闭合多段线是否交叉,该多段线是由线段和园弧组成。 用多段线生成Hatch实体的边界线。 设计一个程序解决汉诺塔问题:有三根柱子,分别为A、B、C,A柱上有一叠按大小顺序叠好的盘子,要求每次只能移动一个盘子,盘子的大小顺序不能改变,且盘子不能离开这三根柱子,将A柱上的盘子全部移到C柱。 设计一个程序将指定区域外的图形剪断,并将区域内的图形保存到一个文件中。 主要参考资料 《AutoCAD 2004 命令参考AutoCAD 2004 自定义手册AutoLISP Developers Guide》 《AutoLISP Reference》 《DXF 参考ActiveX 和 VBA 开发人员指南ActiveX and VBA Reference》 《计算机图形学》 几个Visual Lisp程序设计实例 第一个实例:判断一指定点与某个三角形的关系(用autolisp实现) 判断一指定点与某个三角形的关系:1.在三角形三边上;2.在三角形内;3.在三角形外 算法: 一.输入的数据 假设三角形的三顶点为:p1 p2 p3 指定点为:p0 二.作辅助线 1.从p1 p2 p3中选择一点pt使之与p0不相同,三角形的其余点为pta,ptb 2.以pt和p0作一射线(p0端无限延长)RL,以pta和ptb作一构造线(两端无限延长)XL 3.求RL和XL的交点。 三.判断两辅助线是否平行 4.如果无交点,则p0在三角形外;如果有交点,则设交点为xp 四.判断p0是否在三角形的三边上 5.如果xp等于p0,则进一步判断: 如p0在线段(pta--ptb)外,则p0在三角形外;否则p0;在三角形的三边上 6.如果xp等于pta,则进一步判断: 如p0在线段(pt--pta)外,则p0在三角形外;否则p0;在三角形的三边上 7.如果xp等于ptb,则进一步判断: 如p0在线段(pt--ptb)外,则p0在三角形外;否则p0;在三角形的三边上 五.判断p0是否在三角形外 8.如果xp在线段(pta--ptb)外,则p0在三角形外 9.如果p0在线段(pt--xp)外,则p0在三角形外 10.以上条件都不满足,则p0在三角形内 实现方案 1.定义一函数GetTrianglePoints,获取三角形的三顶点表lst 2.获取指定点p0 3.调整顶点表lst使其第一点与p0不相等 4.以p0和lst中的第一点组成一构造线,再以lst中的第二,第三点组成另一构造线 并求得其交点xp.如无交点,则p0在三角形外out=1 5.定义一函数IsOutLine(p p1 p2),用以判断一个点p是否在另外两个点p1 p2组成得线段外 6.如果xp与p0相等,作进一步处理 调用IsOutLine判断p0是否在线段((cadr lst)--(caddr lst))外 如p0在该线段外,则p0在三角形外out=1;否则p0在三角形的三边上out=2 7.如果xp与lst中的第二点相等,作进一步处理 调用IsOutLine判断p0是否在线段((car lst)

文档评论(0)

fv45ffsjjI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档