AutoLisp从入门到放弃(十)

  • 一、角度计算(angle)
  • 二、距离计算(distance)
  • 三、点坐标偏移计算(polar)
  • 四、计算两直线交点(inters)
  • 五、获取捕捉点(osnap)

本章主要介绍一些常用的几何运算功能函数的使用。

一、角度计算(angle)

  • 函数
函数名 函数功能
angle 以弧度为单位返回两点之间连线与当前用户坐标系下 X 轴之间的夹角。
  • 参数
参数 说明
point 端点(起点)
point 端点(终点)
  • 返回值
返回值 说明
angle 实型数据,当前坐标系下参数两点间连线与X轴之间的夹角(弧度值)。
  • 用法
(angle (getpoint) (getpoint))

二、距离计算(distance)

  • 函数
函数名 函数功能
distance 计算当前坐标系下两点间的直线距离。
  • 参数
参数 说明
point 端点(起点)
point 端点(终点)
  • 返回值
返回值 说明
distance 实型数据,当前坐标系下参数两点间距离。
  • 用法
(distance (getpoint) (getpoint))

三、点坐标偏移计算(polar)

  • 函数
函数名 函数功能
polar 在当前用户坐标系下,求某点的指定角度和指定距离处的点,并返回该点。
  • 参数
参数 说明
point 基点(起点)
angle 偏移角度(弧度制)
distance 与基点point之间的距离
  • 返回值
返回值 说明
point 根据参数point指定点的类型,返回二维或三维点。
  • 用法
(polar (getpoint) (angle (getpoint) (getpoint)) (distance (getpoint) (getpoint)))                ;; 这行代码可能过于敷衍,但是你没有看错,这是一条没有任何问题的AutoLisp代码
;; OK,为了看起来方便,还是将他分解一下吧。(setq #ptBase (getpoint "\n请指定偏移基点:"))
(prompt "\n请指定偏移角度:")
(setq #dAngle (angle  (getpoint) (getpoint)))
(prompt "\n请指定偏移距离:")
(setq #dDistance (distance (getpoint) (getpoint)))
(setq #ptRes (polar #ptBase #dAngle #dDistance))
;; 这样一来就清晰的多了

四、计算两直线交点(inters)

  • 函数
函数名 函数功能
inters 求两条直线的交点。
  • 参数
参数 说明
point 直线1起点。
point 直线1终点。
point 直线2起点。
point 直线2终点。
onseg 如果指定为 nil,则由四个 pt 参数定义的两条线被认为是无限长的。如果省略 onseg 参数或其值不为 nil,则交点必须同时位于两条线上,否则 inters 返回 nil。
  • 返回值
返回值 说明
point 如果 onseg 参数存在且为 nil,则 inters 返回交点坐标,即使这个交点不在其中的一条线(或者两条线)的端点范围之内。如果忽略 onseg 参数或其值不为 nil,则交点必须同时位于两条线上,否则 inters 返回 nil。如果两条直线不相交,inters 函数返回 nil。
  • 用法
(inters (getpoint) (getpoint) (getpoint) (getpoint) nil)   ;; 用法简单,不做过多解释,示例依旧敷衍,因为我觉得都能看得懂

五、获取捕捉点(osnap)

  • 函数
函数名 函数功能
osnap 将某种对象捕捉模式作用于指定点而获得一个点,并返回该点。
  • 参数
参数 说明
point
osmode 字符串,其中包含了一个或多个有效的对象捕捉模式标志符(如 mid、cen 等),各标志符之间用逗号隔开。
  • 返回值
返回值 说明
point 点。如果拾取没有返回对象(如在拾取框内没有几何对象,或几何对象不能用于选定的对象捕捉模式),则返回 nil。osnap 函数返回的点取决于当前三维视图和系统变量 APERTURE 的设置。
  • 用法
(setq #ptRes (osnap (getpoint) "_end,_int"))   ;; 捕捉到端点和交点,虽然AutoLisp提供了这种方法,但是个人建议还是在代码中将捕捉模式关闭,之后通过几何计算得到精确定坐标更靠谱。当然,有些特殊情况需要处理的时候,这个东西也是真的好用的。

AutoLisp从入门到放弃(十)相关推荐

  1. AutoLisp从入门到放弃(十二)

    AutoLisp从入门到放弃(十二) 一.文件操作 1.打开文件(open) 2.读文件(read-line.read-char) 3.写文件(write-line.write-char) 4.关闭文 ...

  2. AutoLisp从入门到放弃(十四)

    AutoLisp从入门到放弃(十四) AutoLisp选择集操作 AutoLisp从入门到放弃(十四) 一.ssget 1.函数说明 2.参数说明 3.代码示例 二.ssadd.ssdel 1.函数说 ...

  3. System Generator从入门到放弃(十)-ADC应用之音频信号采集与输出

    System Generator从入门到放弃(十)-ADC应用之音频信号采集与输出 文章目录 System Generator从入门到放弃(十)-ADC应用之音频信号采集与输出 一.ADC应用之音频信 ...

  4. AutoLisp从入门到放弃(五)

    AutoLisp从入门到放弃(五) 一.列表(LIST) 1.列表的创建 2.操作列表常用函数 二.DXF组码 1.DXF组码文件基本结构 2.DXF组码值类型 本章将介绍通过AutoLisp代码来查 ...

  5. AutoLisp从入门到放弃(十一)

    AutoLisp从入门到放弃(十一) 一.常用字符串处理函数 1.ascii和chr函数 2.read函数 3.strcase函数 4.strcat和strlen函数 5.substr函数 6.wcm ...

  6. AutoLisp从入门到放弃(九)

    AutoLisp从入门到放弃(九) 一.等待输入相关函数 1.getangle函数 2.getcorner函数 3.getdist函数 4.getenv函数 5.getint函数 6.getorien ...

  7. AutoLisp从入门到放弃(六)

    AutoLisp从入门到放弃(六) 一.获取图元属性信息 二.修改图元属性信息 本章主要讲解如何通过AutoLisp代码查看.修改实体的所有属性信息,即图元信息. 一.获取图元属性信息 如果你是一个C ...

  8. AutoLisp从入门到放弃(七)

    AutoLisp从入门到放弃(七) 一.创建图元 二.删除图元 1.command命令 2.entdel函数 本章将介绍如何在AutoLisp代码中通过直接操作实体数据库的方式来新增和删除图元. 一. ...

  9. AutoLisp从入门到放弃(八)

    AutoLisp从入门到放弃(八) 一.修改图元图层 1.新建图层 2.删除图层 3.更改实体图层 二.修改图元颜色 本章将介绍如何使用AutoLisp操作图元的图层.颜色. 一.修改图元图层 使用l ...

最新文章

  1. pix2pixHD笔记
  2. 《移动项目实践》实验报告——Android中级控件
  3. css hot loader,解决安装react-hot-loader后修改css/less文件不会热更新问题
  4. 泽西岛的RESTful Web服务
  5. WPF 用Main函数方式启动程序
  6. 安装SQL Server2008,要重启机器,解决办法
  7. Win11高效日历推荐
  8. 斯坦福大学stanford
  9. Struts2的Action
  10. 使用电脑端360安全卫士时,不小心在加速球点击自动清理残留进程,每次打开相关进程都会自动清理 - 解决方案
  11. Vivado 使用方法
  12. python 拼音输入法_ubuntu上安装 ibus Google拼音输入法(修改一点错误)
  13. iOS开发调用苹果自带的地图应用
  14. 6个UI面试技巧让你轻松入职大公司
  15. 【历史上的今天】9 月 20 日:中国正式接触互联网;抖音上线;中科大成立
  16. 13.es slop参数实现近似匹配以及原理剖析和相关实验
  17. python获取大小写字母、数字,各种字符
  18. 苹果公司最新系统内嵌致黑客的打油诗
  19. 弹性与智能—下一代移动网络系统(RINGS)
  20. 细粒度控制Grails程序的日志输出

热门文章

  1. 新编大学计算机基础教程txt,新编大学计算机基础教程新大学计算机基础教程.doc...
  2. 无处 不在的无线智能——6g 的关键驱动与研究挑战_更低通信延时 6G是5G的十分之一...
  3. C++计算三角形面积
  4. python驼峰命名法_蛇形命名,驼峰命名,你的选择?
  5. 微信小程序 IOS中new Date()时间格式不兼容问题
  6. 知识融合:一文看懂LIMES理论基础
  7. 惠普品牌机P6000微型计算机,11年买的Hp pavilion p6000系列电脑,如何使内容扩容到4GB?...
  8. 酷睿i510400f和9400f哪个好 i510400f和9400f打游戏有区别吗
  9. 基于SPRINGBOOT驾校综合管理系统
  10. Yii2权威指南中文版及众包翻译平台