CAD LISP 程序备课讲稿Word格式.docx
- 文档编号:18143329
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:7
- 大小:15.89KB
CAD LISP 程序备课讲稿Word格式.docx
《CAD LISP 程序备课讲稿Word格式.docx》由会员分享,可在线阅读,更多相关《CAD LISP 程序备课讲稿Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
"
)
(setqdd(getvar"
perimeter"
))
(setqll(+ddll))
(setqi(1+i))
(princ"
所选线条总长为:
)(princll)(princ)
2.标注所有线段(加载后只需框选所有线段便可得标注这些线段)
LLL()
(COMMAND"
UCS"
"
(SETVAR"
OSMODE"
0)
(setq
AcadObject
(vlax-get-acad-object)
AcadDocument(vla-get-ActiveDocumentAcadobject)
mSpace
(vla-get-ModelSpaceAcaddocument)
;
选取需要测量的样条曲线、圆弧、直线、椭圆
获取系统参数textsize
(setqshh(getvar"
textsize"
(setqstr_hh(strcat"
\n文字高度<
(rtosshh2)"
>
:
(setqhh(getdiststr_hh))
(whilehh
hh)
(setqhhnil))
输入标注文字高度
循环开始
(princ(strcat"
\n长度="
(rtosdd2)))
;
寻找代表图层的字符串
(setqaa(assoc0endata))
获取图层名称
(setqaa1(cdraa))
判断线条种类
(cond
((=aa1"
SPLINE"
如果是spline
(progn
(setqarcObj(VLAX-ENAME->
VLA-OBJECTss))
(setqstartPnt1(vla-get-ControlPointsarcObj))
(setqp1
(vlax-safearray->
list(vlax-variant-valuestartPnt1))
)
(setqx1(carp1))
(setqy1(cadrp1))
(setqz1(caddrp1))
(setqpp1(listx1y1z1))
(repeat(-(/(lengthp1)3)1)
循环,寻找最后一个控制点
(setqp1(cdddrp1))
(setqx2(carp1))
(setqy2(cadrp1))
(setqz2(caddrp1))
(setqpp2(listx2y2z2))
LWPOLYLINE"
如果是LWPOLYLINE
(setqstartPnt1(vla-get-CoordinatesarcObj))
(vlax-safearray->
(t
如果是其他种类线条
(setqstartPnt1(vla-get-StartPointarcObj))
获取起点
(setqendPnt1(vla-get-EndPointarcObj))
获取终点
(setqpp1
(setq
pp2(vlax-safearray->
list(vlax-variant-valueendPnt1))
(setqx1(carpp1))
(setqy1(cadrpp1))
(setqz1(caddrpp1))
(setqx2(carpp2))
(setqy2(cadrpp2))
(setqz2(caddrpp2))
(setqx(/(+x1x2)2))
(setqy(/(+y1y2)2))
(setqz(/(+z1z2)2))
(setqpt(listxyz))
取得线段两端的中点
(setqang(anglepp1pp2))
获取角度
(if
(>
(*(/angpi)180)180)
(setqang(+angpi))
text"
j"
bc"
pt
(*(/angpi)180)
(strcat"
(rtosdd2))
(prin1)
(prompt"
\n<
在图中直接写出长度"
3.连续打断程序
br1()
break"
pause"
f"
@"
4.将CAD文字导入Excel表格
Q2()
(setqffn(getfiled"
写出文件"
xls"
1))
(princ"
\n选取文字..."
(setqss(ssget))
(setqff(openffn"
w"
(repeat(sslengthss)
(setqssn(ssnamessi))
(setqssdata(entgetssn))
(setqsstyp(cdr(assoc0ssdata)))
(if(or(=sstyp"
TEXT"
)(=sstyp"
MTEXT"
(progn
(setqtxt(cdr(assoc1ssdata)))
(princtxtff)
\n"
ff)
(setqi(1+i))
(closeff)
(princ(strcat"
\n写出文件:
ffn))
)
5删除带颜色图元
以下程序在别人的贴子里贴过.为了说明问题,今天再贴一次.
改颜色的LISP程序
c1()(ssget)(command"
chprop"
p"
c"
1"
)(princ))
c2()(ssget)(command"
2"
c3()(ssget)(command"
3"
c4()(ssget)(command"
4"
c5()(ssget)(command"
5"
c6()(ssget)(command"
6"
c7()(ssget)(command"
7"
c8()(ssget)(command"
8"
你用C1命令就可以将图元改为红色了.其余类似.
删除红色图元
(defunC:
D1(/mAM)
(setqm:
err*error**error**merr*)
(setvar"
UNDO"
G"
(prompt"
选择图形"
(setqA(ssget'
((62.1))))
(if(/=Anil)(progn
(setqM(sslengthA))
erase"
A"
\n共删除红色图元<
)(princM)(princ"
个"
))
E"
(princ)
这样,键入D1命令,就可以删除红色的图元了.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAD LISP 程序备课讲稿 程序 备课 讲稿