第三章

LISP

语言在

CAD

道路设计中的各种应用

3.1

绘制平面任意函数曲线的

AutoLISP

程序设计

在各个工程设计领域中,

经常要绘制一些曲线,

特别是平面曲线,

如水工结构的溢流曲

线、机械设计的齿轮渐开曲线等。在

AutoCAD

绘图软件中,可以将曲线上的点先计算好,

再用线、多义线、样条曲线等方法绘制,这种方法需要进行大量计算,工作量较大,如果用

EXCEL

软件来辅助计算,可以减轻工作量;另外,可以针对具体的曲线类型,用

AutoCAD

内嵌的

AutoLISP

语言,实现边计算边绘制的功能。用这种方法绘制虽然快捷,但对于不同

的曲线,则需编写同的

AutoLISP

程序,检查无误后才能运行,仍显繁琐。能否用统一的程

序,来实现各种平面函数曲线的绘制,我们尝试利用

AutoCAD

中强大的表达式计算功能来

实现这一目的。

3.1.1

平面函数曲线的类型和绘制方法

平面函数曲线即是有简单函数表达式的曲线类型,可考虑经常遇到的

4

类:

(

1

)直角坐标下形如

y=f(x)

的曲线;

(

2

)直角坐标下的参数方程曲线;

(

3

)极坐标下形如

r=f(θ)

的曲线;

(

4

)极坐标下的参数方程曲线。

其中,只需增加一个平凡方程

x=x,

参数方程(

2

)就可以包括相应的直接表达形式(

1

)

,同

样(

4

)可以包括(

3

)

。同时,极坐标形式可以通过:

x=rcosθ

y=rsinθ

转换为直角坐标表达。因此从本质上说,

4

种类型都可以互相转换,把它们分类的目的是尽

量采用函数的通常表达形式,以便于使用。绘制时,

参照曲线的手工绘制方法,需要给出曲

线上的多个点,

然后将它们连接起来。

若给出的点间隔很小,

直接用折线段相连就可很好模

拟该曲线,

如果间隔较大,可以用样条曲线连接,

使之比较光滑。

假设我们计算出足够多的

点,简单用折线连接即可,为使该曲线成为一个整体,可用多义线的方式连接。

关键的问题是,

如何计算出曲线上点的坐标。

由于曲线的函数表达式各种各样,

不可能

用统一的式子来表示。

可以考虑从外部输入表达式,

然后针对该表达式进行计算,

给出相应

结果,就能够解决点坐标的计算问题。但这个功能的实现比较困难,幸好

AutoCAD

为我们

提供了

CAL

命令,可以对任意的表达式进行计算。该命令由函数库文件

geomcal.arx

提供,

支持科学

/

工程计算器上的大多数标准函数,如三角函数、指数、对数等。若表达式中有变

量,而该变量在程序中已设定了值,则按该值进行计算。由于该函数不是

LISP

内部函数,

为使之可用,需要用

ARXLOAD

命令载入文件

geomcal.arx

,或者在命令行先输入

CAL

令,由系统自动载入,这样,程序中就可以使用该函数了。总的程序定义为

c:curve()

,以便

AutoCAD

命令行中与通常的命令一样使用。程序的总调用部分为:

(arxload "geomcal.arx")

;载入提供表达式计算功能的

ARX

文件

(vl- arx- import 'c:cal)

;让命令

c:cal

能够使用

(princ "(1)

直角坐标下曲线

y=f(x).\n")

(princ "(2)

直角坐标下参数曲线

x=f(i),y=g(i).\n")

(princ "(3)

极坐标下曲线

r=f(theta).\n")

(princ "(4)

极坐标下参数曲线

theta=f(i),r=g(i).\n")

(setq ichoice (getint "

选择绘制曲线类型:

"))

;选择曲线类型

(if (= ichoice 1) (curve1))

;调用曲线绘制类型

1

(if (= ichoice 2) (curve2))

;调用曲线绘制类型

2

lisp 暖通设计_LISP 语言在CAD 道路设计中的各种应用相关推荐

  1. lisp语言画地物符号_LISP语言在CAD工程制图中的应用_谢威

    科技信息 一 . 引言 LISP ( List Processor ) 程序语言是由 Autodesk 公司开发的一种程序 语言 . AutoCAD 软件包中包含大多数用于产生图形 . 处理图形的命令 ...

  2. lisp语言绘制路灯_LISP语言在AD道路设计方案中各种应用

    第三章 LISP 语言在 CAD 道路设计中地各种应用 3.1 绘制平面任意函数曲线地 AutoLISP 程序设计 在各个工程设计领域中 , 经常要绘制一些曲线 , 特别是平面曲线 , 如水工结构地溢 ...

  3. lisp用entmake生产圆柱体_使用lisp语言实现在平面图中自动画出桥梁的墩柱标识.doc...

    使用lisp语言实现在平面图中自动画出桥梁的墩柱标识.doc 还剩 5页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 使用 LISP 语言实现在平面图 ...

  4. lisp语言怎么获取简码_Lisp语言到底神奇在哪里?

    前言 在浏览各种技术文章的过程中,经常会看到Lisp这门程序语言. 不过,我一直都不是很在意. 我热爱编程,我的目标是"有能力完成一款游戏的所有程序开发工作". 在我追求这个目标而 ...

  5. kass中lisp文件_Lisp之文件操作

    Lisp之文件系统 学习一门语言,除了基本的控制操作外,文件系统API也是很重要的,最近学习了LISP的文件系统API ,和大家分享下心得. open open是很简单的接口,如下所示: (open ...

  6. 中望CAD调用lisp在哪_CAD应用技巧:中望CAD中加载LISP程序

    CAD的出现,给我们的绘图工作带来了很大的便利,而随着工作的不断细化,广大设计师对CAD的要求也在不断的增强,有些工作中需要的功能,在CAD软件中并没有提供,在这样的背景下,直接导致了LISP程序的产 ...

  7. lisp获取图名_如何用autolisp获取cad图形文件中直线和多义线的图层名

    如何用autolisp获取cad图形文件中直线和多义线的图层名? 用(cdr(assoc 8 (entget (car (entsel)))))就可以得到直线和其他实体的图层名. 想要的程序是:点取 ...

  8. lisp获取图名_amp;#65279;如何用autolisp获取cad图形文件中直线和多义线的图层名 - 易采站长站...

    如何用autolisp获取cad图形文件中直线和多义线的图层名? 用(cdr(assoc 8 (entget (car (entsel)))))就可以得到直线和其他实体的图层名. 想要的程序是:点取 ...

  9. cad高程如何提取到cass软件_从CAD平面图中提取坐标生成数据表

    功能:在CAD中提取点的三维坐标(提取当前坐标系中坐标)直接生成Excel表,并在CAD图中生成坐标数据表,加了标点号和输出的选项.   如何安装: 1,在CAD平面图中→工具→宏→加载工程→加载下载 ...

最新文章

  1. 4kyu Sums of Perfect Squares
  2. 你的 GitHub 代码已打包运往北极,传给 1000 年后人类
  3. Android 引用第三方开源库,出现冲突 Manifest merger failed : Attribute application@icon value=...
  4. srwebsocket 服务器过段时间会关闭_Minecraft 开启服务器后必须做的一些事情
  5. Most Unstable Array CodeForces - 1353A(数学+贪心+建设性算法)
  6. Grid game CodeForces - 1104C 放格子|思维|找规律
  7. CloudCC:2017年下半年企业移动CRM市场风向窥测
  8. springboot配置文件加载顺序_「SpringBoot系列」配置文件加载优先级解析
  9. VMware下安装ubuntu,桥接上网配置静态IP
  10. struts2自己定义拦截器
  11. UIActivityIndicatorView活动指示器(菊花)
  12. excel格宽度转html像素,使列表框的列宽自动适应内容的宽度?(已有思路但需解决转换成像素问题)...
  13. Influx Sql系列教程三:measurement 表
  14. 学生用计算机怎么调,电脑怎么设置学生模式
  15. keep-alive和activated的使用
  16. 主机序、网络序的理解
  17. oracle查看锁定任务
  18. 使用百度翻译api制作自己的字典
  19. 【Codecs系列】HEVC-SCC(七):调色板PM模式分析
  20. 2020数据架构师面试题库

热门文章

  1. try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,是在return前还是后
  2. 树莓派(七):调取IP摄像头
  3. java使用poi操作ppt(导入,导出,读取,添加,拼接,替换文本,页面排序)
  4. 制作Centos7模板机
  5. 基于JAVA的农产品销售管理系统【数据库设计、源码、开题报告】
  6. 深度学习与TensorFlow实战(十)卷积神经网络—VGG(16)神经网络
  7. 中央处理器——微程序
  8. OrCAD Capture CIS 17.2导入Altium Designer原理图
  9. RMM Level -- 对于REST的层级划分模型
  10. VRCHAT模型上传常见问题汇总