AUTOLISP上机作业.docx

上传人:b****8 文档编号:27733311 上传时间:2023-07-04 格式:DOCX 页数:11 大小:268.68KB
下载 相关 举报
AUTOLISP上机作业.docx_第1页
第1页 / 共11页
AUTOLISP上机作业.docx_第2页
第2页 / 共11页
AUTOLISP上机作业.docx_第3页
第3页 / 共11页
AUTOLISP上机作业.docx_第4页
第4页 / 共11页
AUTOLISP上机作业.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

AUTOLISP上机作业.docx

《AUTOLISP上机作业.docx》由会员分享,可在线阅读,更多相关《AUTOLISP上机作业.docx(11页珍藏版)》请在冰豆网上搜索。

AUTOLISP上机作业.docx

AUTOLISP上机作业

过程装备与控制工程专业

 

过程装备CAD技术

上机作业

 

班级:

姓名:

学号:

年月

第三题

(1)

;;;变量说明

;;;p0是圆脸中心,p1、p2是眼睛中心,p3是鼻子中心,p4、p5是嘴的两端点

;;;R---圆脸半径,r1---眼睛半径,r2---鼻子半径

(initget1)

(setqp0(getpoint"输入圆脸中心点:

"))

(initget(+124))

(setqR(getreal"输入圆脸半径值:

"))

(command"circle"p0R)

(setqr1(/R))

(setqr2(/R))

(setqp1(polarp0(/pi(/R)))

(command"circle"p1r1)

(setqp2(polarp0(/(*pi(/R)))

(command"circle"p2r1)

(setqp3(polarp0(-(/pi)(/R))

(command"circle"p3r2)

(setqa(/(*R)

(setqp4(polarp0(-(/(*pi)a))

(setqp5(polarp0(-(/pi)a))

(command"arc""c"p0p4p5)

(setqp6(polarp0(/pi(/R)))

(setqp7(polarp0(/(*pi(/R)))

(command"hatch""solid"p6"")

(command"hatch""solid"p7"")

第三题

(2)

;;;变量说明

;;;plw---线宽

(initget1)

(setqp0(getpoint"输入左下角点:

"))

(setqplw

(setqa100)

(setqb150)

(setqc(/pi)

(setqd(-(/pi))

(setqp1(polarpoca))

(setqp2(polarp10b))

(setqp3(polarp2ca))

(setqp4(polarp30b))

(setqp5(polarp4da))

(setqp6(polarp50b))

(setqp7(polarp6da))

(command"pline"p0"w"plew""p1p2p3"w"0""p4p5p6p7"c")

第三题(3)

(initget1)

(setqp0(getpoint"输入起点位置:

"))

(initget1)

(setqbb(getreal"输入圆心连线与水平线夹角="))

(setqaa(/(*bbpi))

(initget(+124))

(setqn(getint"圆的个数="))

(initget(+124))

(setqr(getreal"圆的半径="))

(setqd(*r)

(repeatn

(command

"circle"p0r

);;endofcommand

(setqp0(polarp0aad))

);;endofrepeat

第五题

(setqp0'(100100))

(setqr200)

(setqp1'(400100))

(command"circle"p0r)

(setqe1(ssget"L"))

(command"offset"30e1p1"")

第六题

;;;变量说明:

p0为图形中心,R为正五边形外接圆半径,R1为中心圆半径,a为正五边形边长。

(initget1)

(setqp0(getpoint"指定p0点:

"))

(initget(+124))

(setqR(getreal"输入正五边形外接圆半径:

"))

(setqR1(/R)

(command"circle"p0R1)

(setqs1(entlast))

(setqd(-(*pi(/180))))

(setqp1(polarp0dR))

(setqb(*pi(/180)))

(setqa(*R(sinb)))

(setqp2(polarp10a))

(setqp5(polarp1(*(/180)pi)a))

(setqp3(polarp2(*(/180)pi)a))

(setqp4(polarp0(/piR))

(command"pline"p1p2p3p4p5"c")

(setqs2(entlast))

(setqp6(list(carp1)(-(cadrp1)))

(setqp7(list(carp2)(-(cadrp2)))

(command"mirror"s1s2""p6p7"")

第七、九题

(1)DCL文件:

lx1:

dialog{

label="练习";

spacer;

children_fixed_width=true;

:

popup_list{/*popup_list*/

label="弹出式列表";

key="plist1";

width=18;

}/*endofpopup_list*/

spacer_1;

:

edit_box{/*edbox_1*/

label="编辑框";

key="edbox";

width=18;

}/*endofedbox_1*/

spacer_1;

ok_cancel;

}/*endofdialog*/

(2)驱动程序:

(defunmainprogram();;主程序

(setqplist_1(list"200""300""400"));;弹出式列边框中的内容

(setqplist_2(list200300400));;编辑框中的内容

(setqshuzhi"200")

(liebiao);;调用列表函数

);;endofdefunmainprogram

(defunliebiao()

(if(>(setqdlg_id1(load_dialog"c:

\\users\\Administrator\\desktop\\"))0);;加载对话框文件

(progn;;progn1

(if(new_dialog"lx1"dlg_id1);;显示对话框

(progn;;progn2以下初始化对话框和描述控件活动

(start_list"plist1");;初始化弹出式列表框

(mapcar'add_listplist_1)

(end_list)

(set_tile"edbox""200");;初始化编辑框

(action_tile"plist1""(plistaction)");;列表框有动作时调用函数plistaction

(start_dialog);;激活对话框

);;endofprogn2

(alert"Unabletodisplaydialogbox")

);;endofnew_dialog

(unload_dialogdlg_id1);;卸载对话框

);;endofprogn1

(alert"Unabletoloaddialogbox")

);;endofload_dialog

);;endofdefunliebiao

(defunplistaction(/a)

(setqa(get_tile"plist1"));;得到列表的索引值

(setqa(atoia))

(setqshuzhi(nthaplist_2))

(setqshuzhi(rtosshuzhi20));;将相应的数值转换成字符串

(set_tile"edbox"shuzhi);;在编辑框中显示数值

);;endofdefunplistaction

第十题

(1)DCL文件:

id0:

dialog{

label="算属相";

spacer;

children_fixed_width=true;

:

edit_box{

label="出生年份:

";

key="edbox1";

width=28;

}

:

text{

label="(如1956)";

}

:

row{

.]^c^c(load"C:

/Users/Administrator/Desktop/")(mainprogram)

[第十题...]^c^c(load"C:

/Users/Administrator/Desktop/第10题驱动程序.lsp")(id0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1