ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:15.89KB ,
资源ID:5172162      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5172162.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CAD LISP 程序备课讲稿.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CAD LISP 程序备课讲稿.docx

1、CAD LISP 程序备课讲稿CAD LISP 程序1.计算所有线段总长度(加载后只需框选所有线段便可得出这些线段的总长度) (defun c:LL ()(setvar cmdecho 1)(setq en (ssget (list (0 . spline,arc,line,ellipse,LWPOLYLINE)(setq i 0)(setq ll 0)(repeat (sslength en) (setq ss (ssname en i) (setq endata (entget ss) (command lengthen ss ) (setq dd (getvar perimeter)(s

2、etq ll (+ dd ll) (setq i (1+ i) (princ 所选线条总长为:)(princ ll)(princ)2.标注所有线段(加载后只需框选所有线段便可得标注这些线段) (defun c:LLL ()(COMMAND UCS )(setvar cmdecho 1)(SETVAR OSMODE 0)(setq AcadObject (vlax-get-acad-object) AcadDocument (vla-get-ActiveDocument Acadobject) mSpace (vla-get-ModelSpace Acaddocument);选取需要测量的样条曲

3、线、圆弧、直线、椭圆(setq en (ssget (list (0 . spline,arc,line,ellipse,LWPOLYLINE)(setq i 0);获取系统参数textsize(setq shh (getvar textsize)(setq str_hh (strcat n文字高度 : )(setq hh (getdist str_hh)(while hh(setvar textsize hh)(setq hh nil);输入标注文字高度;循环开始(repeat (sslength en) (setq ss (ssname en i) (setq endata (entget

4、 ss) (command lengthen ss ) (setq dd (getvar perimeter) (princ (strcat n长度= (rtos dd 2) ;寻找代表图层的字符串 (setq aa (assoc 0 endata) ;获取图层名称 (setq aa1 (cdr aa) ;判断线条种类 (cond (= aa1 SPLINE) ;如果是spline (progn (setq arcObj (VLAX-ENAME-VLA-OBJECT ss) (setq startPnt1 (vla-get-ControlPoints arcObj) (setq p1 (vla

5、x-safearray-list (vlax-variant-value startPnt1) ) (setq x1 (car p1) (setq y1 (cadr p1) (setq z1 (caddr p1) (setq pp1 (list x1 y1 z1) (repeat (- (/ (length p1) 3) 1) ;循环,寻找最后一个控制点 (setq p1 (cdddr p1) (setq x2 (car p1) (setq y2 (cadr p1) (setq z2 (caddr p1) ) (setq pp2 (list x2 y2 z2) ) ) (= aa1 LWPOL

6、YLINE) ;如果是LWPOLYLINE (progn (setq arcObj (VLAX-ENAME-VLA-OBJECT ss) (setq startPnt1 (vla-get-Coordinates arcObj) (setq p1 (vlax-safearray-list (vlax-variant-value startPnt1) ) (setq x1 (car p1) (setq y1 (cadr p1) (setq z1 (caddr p1) (setq pp1 (list x1 y1 z1) (repeat (- (/ (length p1) 3) 1) ;循环,寻找最后

7、一个控制点 (setq p1 (cdddr p1) (setq x2 (car p1) (setq y2 (cadr p1) (setq z2 (caddr p1) ) (setq pp2 (list x2 y2 z2) ) ) (t ;如果是其他种类线条 (progn (setq arcObj (VLAX-ENAME-VLA-OBJECT ss) (setq startPnt1 (vla-get-StartPoint arcObj) ;获取起点 (setq endPnt1 (vla-get-EndPoint arcObj) ;获取终点 (setq pp1 (vlax-safearray-li

8、st (vlax-variant-value startPnt1) ) (setq pp2 (vlax-safearray-list (vlax-variant-value endPnt1) ) ) ) ) (setq x1 (car pp1) (setq y1 (cadr pp1) (setq z1 (caddr pp1) (setq x2 (car pp2) (setq y2 (cadr pp2) (setq z2 (caddr pp2) (setq x (/ (+ x1 x2) 2) (setq y (/ (+ y1 y2) 2) (setq z (/ (+ z1 z2) 2) (set

9、q pt (list x y z) ;取得线段两端的中点 (setq ang (angle pp1 pp2) ;获取角度 (if ( (* (/ ang pi) 180) 180) (setq ang (+ ang pi) ) (command text j bc pt (* (/ ang pi) 180) (strcat (rtos dd 2) ) (setq i (1+ i)(prin1)(prompt n 在图中直接写出长度)(prin1)3.连续打断程序 (defun c:br1 () (command break pause f pause )4.将CAD文字导入Excel表格 (d

10、efun c:Q2()(setq ffn (getfiled 写出文件 xls 1)(princ n选取文字.)(setq ss (ssget)(setq ff (open ffn w)(setq i 0)(repeat (sslength ss)(setq ssn (ssname ss i)(setq ssdata (entget ssn)(setq sstyp (cdr (assoc 0 ssdata)(if (or (= sstyp TEXT) (= sstyp MTEXT)(progn(setq txt (cdr (assoc 1 ssdata)(princ txt ff)(princ

11、 n ff)(setq i (1+ i) )(close ff)(princ (strcat n写出文件: ffn)(prin1)5 删除带颜色图元以下程序在别人的贴子里贴过.为了说明问题,今天再贴一次.改颜色的LISP程序(defun c:c1()(ssget)(command chprop p c 1 ) (princ)(defun c:c2()(ssget)(command chprop p c 2 ) (princ)(defun c:c3()(ssget)(command chprop p c 3 ) (princ)(defun c:c4()(ssget)(command chprop

12、 p c 4 ) (princ)(defun c:c5()(ssget)(command chprop p c 5 ) (princ)(defun c:c6()(ssget)(command chprop p c 6 ) (princ)(defun c:c7()(ssget)(command chprop p c 7 ) (princ)(defun c:c8()(ssget)(command chprop p c 8 ) (princ)你用C1 命令就可以将图元改为红色了.其余类似.删除红色图元(defun C:D1 (/ m A M) (setq m:err *error* *error* *merr*) (setvar cmdecho 0) (command UNDO G) (prompt 选择图形) (setq A (ssget (62 . 1) ) (if (/= A nil)(progn (setq M (sslength A) (command erase A ) (princ n共删除红色图元个) ) (command UNDO E) (princ)这样,键入 D1 命令,就可以删除红色的图元了.

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

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