AutoLisp 程序求助,用mfc编写的画图软件一个AutoLisp程序用来画图

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
基于autolisp的路灯桩号自动标注程序设计
下载积分:1500
内容提示:基于autolisp的路灯桩号自动标注程序设计
文档格式:PDF|
浏览次数:45|
上传日期: 19:40:01|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1500 积分
下载此文档
该用户还上传了这些文档
基于autolisp的路灯桩号自动标注程序设计
关注微信公众号欧普下载是国内较新、较齐、较安全的软件下载基地!
当前位置:
LispLink 2015是一款基于CAD的autolisp程序编写软件,具有匹配括号、自动缩进、优化程序格式、语法高亮等功能,不仅可以独立于CAD运行,还可与lsp文件相关联,方便用户进行程序的编辑,需要的朋友赶快下载吧!
LispLink特点
1、AutoLISP语言是在普通的LISP语言基础上,又扩充了许多适用于CAD应用的功能而形成的一种程序设计语言。它是一种解释性求值语言,速度较慢,难以保密,可用任何文字编辑软件编辑,用纯文本的格式保存。例如:
(setq i 1);就是代码i值是1
(command "CIRCLE" '(0 0) 100);命令在坐标原点绘制半径100的圆。
2、AutoLISP语言中的一切成分都是以函数形式给出的,它没有语句概念或其他语法结构。执行AutoLISP程序就是执行一些函数,再调用其它函数。例如:
(setq pt1 (getpoint "\n请选择圆心插入点"))
(command "CIRCLE" pt1 100);命令这个插入点绘制圆,半径为100
3、AutoLISP把数据和程序统一表达为表结构,故可把程序当作数据来处理,也可把数据当作程序来执行。
例如:一条直线,起点坐标'(0 0),端点坐标'(1000 0),图层为0层,颜色为1【红色】这个是一条直线的一些数据,怎么执行变为程序代码如下:
(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 1) '(10 0 0) '(11 1000 0)))
以上可以直观的看数据,也可以粘贴到AutoCAD的命令行,就绘制出以上要求的直线。
4、AutoLISP语言中程序运行过程就是对函数求值的过程,是在对函数求值的过程中实现函数的功能。在AutoCAD里面,所有的对象可以看成是由无数的点构成,每个点都有自己的坐标,函数的运行就是计算出这些点的数值,根据得到的数值进行判断。
5、AutoLISP语言的主要控制结构是采用递归方式。递归方式的使用,使得程序设计简单易懂。例如:
(setq &k1 (entsel));选择对象
(setq &k1 (car &k1));提取图元
(setq #g1 (entget &k1));取得属性列表
(setq c0 (cdr (assoc 0 #g1)));取得图元名称
以上是一个个的写下来,可以写成以下:
(setq c0 (cdr (assoc 0 (entget (car (entsel))))));简单易懂
6、由于autolisp简单,容易,所以上手很快。编写程序后,可以大大的提高绘图效率,有名的【天正】插件,就是绘图的好帮手。
7、autolisp程序也有不足的地方,如提取坐标,这个只能在图元属性里面提取,这样的话会有局限性,法向坐标1与-1的坐标值相同,但是图形的位置不同,造成计算坐标的困难,所以提取坐标值,最好使用VLAX函数来提取。
LispLink数字介绍
格式(1+ number)
此函数(l+)使数字与1(整数)相加,返回一个增加1的数。在下面的第二个例子中,1与-10.5相加返回-9.5。
(1+ 20)返回 21
(1+ -10.5)返回-9.5
格式(1- number)
此函数(1-)从数字中减去1(整数),并返回一个减去1的数。在下面的第二个例子中-10.5减去1返回-11.5。
(1- 10)返回9
(1- -10.5)返回-11.5
格式(abs num)
abs函数返回一个数的绝对值。该数可以是整数或者实数。在下面的第二个例子中,由于-20的绝对值为20,故函数返回20。
(abs 20)返回 20
(abs -20)返回20
(abs -20.5)返回20.5
LispLink三角函数介绍
格式( sin angle)
sin函数计算一个角(以弧度表示)的正弦值。在下面的第二个例子中,sin函数计算Pi(180度)的正弦值并返回0。
Command:(sin 0)返回0.0
Command:(sin Pi)返回0.0
Command:(sin 1.0472)返回0.866027
格式(cos angle)
cos函数计算一个角(以弧度表示)的余弦值。在下面的第三个例子中,cos函数计算Pi(180度)的余弦值并返回-1.0。
Command:(cos 0)返回l.0
Command:(cos 0.0)返回1.0
Command:(cos Pi)返回-1.0
Command:(cos 1.0)返回0.540302
格式( atan num1)
atan函数计算数的反正切值,返回角度以弧度表示。下面的第二个atan函数计算1.0的反正切值并返回0.785398(弧度)。
Command:(atan 0.5)返回0.463648
Command:(atan 1.0)返回0.785398
Command:(atan -1.0)返回-0.785398
两个参数的atan函数
格式( atan num1 num2)
还可以在atan函数中再指定一个数。若指定了第二个数,函数将以弧度形式返回(num1/num2)的反正切值。在下面的第一个例子中,第一个数(0.5)除以第二个数(1.0),atan函数计算商(0.5/1=0.5)的反正切值。
Command:(atan 0.5 1.0)返回0.463648弧度
Command:(atan 20 3.0)返回0.588003弧度
Command:(atan 2.0 -3.0)返回2.55359弧度
Command:(atan -2.0 3.00)返回-0.5880033弧度
Command:(atan -2.0 -3.0)返回-2.55359弧度
Command:(atan 1.0 0.0)返回1.5708弧度
Command:(atan -0.5 0.0)返回-1.5708弧度
angtos函数
格式(angtos angle[made[precision]])
angtos函数以字符串格式返回以弧度表示的角度值。字符串格式由made和 precision的设置决定。
Command:(angtos 0. 4)返回&33.6901"
Command:(angtos 2.)返回&145.3099"
Command:(angtos 1.)返回&90.0000"
Command:(angtos -1.)返回&270.00"
注意 在(angtos angle[mode[precision]])中:
angle是以弧度表示的角度值。
mode是与AutoCAD系统变量AUNITS相对应的angtos模式。
AutoCAD中可用模式如下:
ANGTOS模式 编辑格式
0 十进制角度
1 度/分/秒
4 测量单位
precision是一个整数,用于控制小数的位数,与AutoCAD系统变量AUPREC相对应。 其最小值为0,最大值为4。
在上面的第一个例子中,angle为0.588003弧度,mode为0(十进制角度),precision为4(小数点后有四位)。函数返回33.6901。
其他下载地址:
版权声明:本站提的序列号、注册码、注册机、破解补丁等均来自互联网,仅供学习交流之用,请在下载后24小时内删除。
8.7 MB13.5 MB7.9 MB35 MB1.2 GB15.2 MB82.3 MB23.1 MB11 MB5.8 MB27.68 MB3.1 MB174.37 MB2.1 MB9.68 MB
26.2 MB11.7 MB2.85 GB3.1 GB100.46 MB4.1 MB145.8 MB1.54 GB314 MB184 KB611.3 MB24.95 MB5.79 MB44 MB13 GB求一个简单的AutoLISP程序实例_百度知道
求一个简单的AutoLISP程序实例
比如将CAD中画直线的快捷键“L”改为“XX”
我有更好的答案
工具,自定义,程序参数autocad.pgp文件打开后,把*L
*LINE,把前面的L改为XX就行了,很简单。
为您推荐:
其他类似问题
autolisp的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。朱老师,我在使用您给我编写面积autolisp程序,出现 不能计算的BUG,而使用原来的程序可以计算出总面积_百度知道
朱老师,我在使用您给我编写面积autolisp程序,出现 不能计算的BUG,而使用原来的程序可以计算出总面积
朱老师,这次 我在使用 您给我 重新写了面积autolisp程序,出现 了一个 BUG,如果 使用我原来的autolisp程序可以计算出总面积,但是 使用您给我编写的,出现了一个BUG,13个面积,只计算出一个,另外12个没有显示,而我原先的程序 又可以计算。请帮忙看看,非常...
我有更好的答案
第二个程序,对象必须是封闭的对象。检查多段线是否封闭。
朱老师,您好!我检查了是封闭的状态,用LIST 可以 查询面积,用mo特性也可以看得到,用LI 显示如图:
那就要用图纸测试程序了。在评论里面留下联系方式。
好的,我的通信方式 ,抠抠
来自:求助得到的回答
为您推荐:
其他类似问题
autolisp的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 微信小程序canvas画图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信