当前位置:首页 » 培训机构 » autolisp培训教程

autolisp培训教程

发布时间: 2020-12-26 04:06:57

⑴ 求LISP语言教程

AutoCAD的帮助中有完整的教程。

可以通过从 AutoCAD“帮助”菜单选择“开发人员帮助”来访问内 AutoLISP、Visual LISP 和 DXF 文档。

《AutoLISP 参考》容。提供了关于 AutoLISP 的全面参考。AutoLISP 是一种功能全面的解释性编程语言,可用于调用 AutoCAD 命令、系统变量和对话框。
《AutoLISP Developer's Guide》。提供了有关使用 Visual LISP 交互式开发环境开发和测试 AutoLISP 程序的信息。同时还描述了如何使用 Visual LISP 提供的 AutoLISP 扩展来创建 ActiveX Automation。
《AutoLISP 教程》。详细地介绍如何使用 Visual LISP 开发 AutoLISP 应用程序。
《DXF 参考手册》。提供了关于 DXF 文件格式的全面参考。

⑵ 求CAD 二次开发Auto lisp 【视频】教程下载地址

我有几个lisp的PDF教程你需要么。说实话,现在懂lisp的人真不多

⑶ 如何使用AutoLISP语言例程

AutoLISP语言是AutoCAD的内置的编程语言。 它可以用来创建新的命令或重新定义现有的。AutoLISP语言是一个非常强大的定制工具。本文旨在说明如何加载AutoLISP语言。

你可以复制和粘贴,如下面的例子,或者你可以下载一个*.LSP的文件。开始你需要使用记事本, 因为AutoLISP *.LSP的文件只是普通的文本文件。看其他人的编写的AutoLISP语言代码是一个很好的学习方法,网上有很多提供.LSP的文件下载的。

基本过程是非常简单,如下。 有3个主要步骤(或如果有*.LSP的文件仅仅需要2步),创建lisp文件,加载lisp文件和日常运行lisp程序。

注:AutoLISP语言例程将只在完整版本的AutoCAD运行,他们不会在AutoCADLT版本运行。

创建lisp文件

复制程序代码并粘贴到Windows中的记事本。

(defunc:zone(/ss la rv i tv op en)

(while(notss)

(princ" Pick any object on the required layer: ")

(setqss(ssget)))

(initget"Length Area")

(setqrv(getkword" Would you like to measure Length/Area <Area>: "))

(and(notrv)

(setqrv"Area"))

(setqla(cdr(assoc8(entget(ssnamess0))))

ss(ssget"X"(list(cons0"*POLYLINE")

(cons8la)))

i(sslengthss)

tv0

op0)

(while(not(minusp(setqi(1-i))))

(setqen(ssnamess i))

(command"_.AREA""_E"en)

(cond((=rv"Length")

(setqtv(+tv(getvar"PERIMETER"))))

(T

(setqtv(+tv(getvar"AREA")))

(if(/=(logand(cdr(assoc70(entgeten)))1)1)

(setqop(1+op))))))

(princ(strcat" Total "rv

" for layer "la

" = "(rtostv22)

" in "(itoa(sslengthss))" polylines "

(if(/=rv"Length")

(strcat(itoaop)" with open polylines")"")))

(prin1))

现在保存文件为zone.lsp,给予它适当的文件名,并确保它有一个.LSP的文件扩展名。

加载lisp文件

打开AutoCAD选择菜单Tools——AutoLISP——Load Application….弹出对话框(如下图所示):

load unload apps

使用下面的操作来加载已保存lisp文件:

  • 找到该lisp文件已保存的文件夹。

  • 从列表中选择所需的文件。

  • 单击 Load按钮。如果一切顺利,将出现一条消息说“*.lsp成功载入”。

  • 单击Close按钮关闭对话方块。

  • 运行AutoLISP程序

    一旦lisp文件被加载,它可以在命令行运行。在运行时只需输入命令的名称(而不是文件名)。在lisp文件中开始是(defunc:zone ,所以在命令行输入zone。

⑷ 《Autolisp 学习导引》 哪里有下载的

autolisp,visual lisp,这两来个都是cad自带的,其实差自不多。你买几本书就成了!我在网上找过没找到,还是买书吧!不过这样的书天津市不好买!你是什么专业的?机械设计专业有两本书《autolisp学习导引》还有一本我忘了叫什么名字!等我回去给你看看吧!你可以去天津图书馆去借,那里面有。

⑸ 谁有AUTOLISP语言全套视频教程,能否共享一下

AUTOLISP我没有看到有视频,我在一个月前学习这个,是网上下载的(autoLisp&DCL基础篇),这个程序内只要你掌握了基础,其它的容就靠你自己发挥了。
这个由于每个人的习惯不同,就有不同的编程方法,所以视频什么的不好说。不像AutoCAD有固定的命令,只要记住就可以。

⑹ autolisp教程 高分悬赏,请高手用AutoLISP改写一个坐标提取小程序

修改这一句
(princ (strcat "\n已输出的文字为'" s "'"))

⑺ AutoLISP&DCL基础篇(AutoCAD程序设计魔法书)

这本书我有,《AutoLISP&DCL基础篇》,紫蓝色封面,二手的,你要的话可以卖给你。我就是靠这个学会Lisp的。反正我现在用不到,能换点钱也恰好。

⑻ CAD考试:用autolisp编程

(defun c:xxx()
(setvar "cmdecho" 0)
(setq pt1 (getpoint " \n 第一点:"))
(setq pt2 (getpoint pt1 " \n 第二点:"))
(setq LL (distance pt1 pt2)) ;计算两点间距离
(setq ang (angle pt1 pt2)) ;计算两点间角度
(setq pt3 (polar pt2 (+ ang (/ (* 120 pi) 180)) LL)) ;计算三角形第三专点坐标
(command "polygon" 3 "e" pt1 pt2) ;绘制属三角形
(prin1)
)

⑼ 使用autolisp语言程序统计线的步骤

;-----------------------------------------------------------------------------------------------------
;LWPOLYLINE获得点列表子程序。
;-----------------------------------------------------------------------------------------------------
(defun lwpolyline_get_pt_list ( );/ sub_list ent_list)
(setq pt_list nil)
(setq ent_list (entget ent_name))
(while (setq ent_list (cdr ent_list))
(setq sub_list ent_list)
(setq sub_list (car sub_list))
(if (= (car sub_list) 10)
(progn
(setq pt (cdr sub_list))
(if (member pt pt_list) ;过滤掉重复点。
(setq pt_list pt_list)
(setq pt_list (cons pt pt_list))
)
)
)
)
(setq len (length pt_list))
)
;-----------------------------------------------------------------------------------------------------
;POLYLINE获得点列表子程序。
;-----------------------------------------------------------------------------------------------------
(defun polyline_get_pt_list ()
(setq pt_list nil)
(setq sub_ent_name ent_name)
(setq sub_ent_name (entnext sub_ent_name))
(while (and (/= sub_ent_name nil) (/= (cdr (assoc 0 (entget sub_ent_name))) "SEQEND"))
(setq pt (cdr (assoc 10 (entget sub_ent_name))))
(if (member pt pt_list) ;过滤掉重复点。
(setq pt_list pt_list)
(setq pt_list (cons pt pt_list))
)
(setq sub_ent_name (entnext sub_ent_name))
)
)
;-----------------------------------------------------------------------------------------------------
;应用点列表计算单条多段线长。
;-----------------------------------------------------------------------------------------------------
(defun dxc ();/ pt1 pt2)
(setvar "osmode" 0)
(setvar "cmdecho" 1)
(setq lenth_p 0)
(setq pt1 (car pt_list))
;(princ (strcat "\n" (rtos (car pt1) 2 4) "," (rtos (cadr pt1) 2 4)))
(write-line (strcat (rtos (car pt1) 2 4) "," (rtos (cadr pt1) 2 4)) x)
(setq pt_list (cdr pt_list))
(while (setq pt2 (car pt_list))
;(princ (strcat "\n" (rtos (car pt2) 2 4) "," (rtos (cadr pt2) 2 4)))
(write-line (strcat (rtos (car pt2) 2 4) "," (rtos (cadr pt2) 2 4)) x)
(setq pt_list (cdr Pt_list))
(setq xx (- (car pt2) (car pt1)))
(setq yy (- (cadr pt2) (cadr pt1)))
(setq lenth_p (+ lenth_p (sqrt (+ (* xx xx) (* yy yy)))))
(setq pt1 pt2)
)
;(princ (strcat "\n>>>>>『全长』 " (rtos lenth_p 2 6)))
(write-line (strcat ">>>>>『全长』 " (rtos lenth_p 2 6)) x)
(princ)
)
;-----------------------------------------------------------------------------------------------------
(defun c:tjd()
(prompt "\nPlease select objects need to count:")
(setq set_data nil)
(while (= (setq set_data (ssget '((-4 . "<OR") (0 . "LWPOLYLINE") (0 . "POLYLINE") (-4 . "OR>")))) nil)
(prompt"\nPlease select Polylines:")
)
(setq dc_file (getfiled "命名保存文件名" "" "txt" 1))
(princ "\n>>>>> Wait...")
(setq x (open dc_file "w"))
(setq long_total 0)
(setq set_length 0)
(while (setq ent_name (ssname set_data set_length))
(setq set_length (+ set_length 1))
(cond
((= (cdr (assoc 0 (entget ent_name))) "LWPOLYLINE") (lwpolyline_get_pt_list))
((= (cdr (assoc 0 (entget ent_name))) "POLYLINE" ) ( polyline_get_pt_list))
)
;(princ "\n-----------------------")
(write-line (strcat "NO." (itoa set_length) " 图层 " (cdr (assoc 8 (entget ent_name))) " ----------") x)
(dxc)
(setq long_total (+ long_total lenth_p))
)
;(princ "\n-----------------------")
(prompt "\n>>>>>...OK!")
(princ (strcat "\n\n>>>>>【共计】 " (itoa set_length) " Polylines"))
(princ (strcat "\n>>>>>【总长】 " (rtos long_total 2 4)))
(write-line "-----------------------" x)
(write-line (strcat "\n>>>>>【共计】 " (itoa set_length) " Polylines") x)
(write-line (strcat ">>>>>【总长】 " (rtos long_total 2 4)) x)
(fixc)
(close x)
(startapp "notepad" dc_file) ;用记事本打开保存的文件。
(princ)
)
;-----------------------------------------------------------------------------------------------------
(defun fixc()
(write-line "\n------------- Write By In_city ---------------" x) ;在打开文件里写入信息。
(write-line "在网络文库查找「in_city」,下载更多Autolisp程序。" x)
(prompt "\n\n------------- Write By In_city ---------------") ;在文本窗口写入信息。
(prompt "\n在网络文库查找「in_city」,下载更多Autolisp程序。")
)
;-----------------------------------------------------------------------------------------------------

热点内容
幼师专业怎么样 发布:2021-03-16 21:42:13 浏览:24
音乐小毛驴故事 发布:2021-03-16 21:40:57 浏览:196
昂立中学生教育闸北 发布:2021-03-16 21:40:47 浏览:568
建筑业一建报考条件 发布:2021-03-16 21:39:53 浏览:666
2017年教师资格注册结果 发布:2021-03-16 21:39:49 浏览:642
中国教师资格证查分 发布:2021-03-16 21:39:41 浏览:133
踵什么成语有哪些 发布:2021-03-16 21:38:20 浏览:962
东营幼师专业学校 发布:2021-03-16 21:35:26 浏览:467
机械电子研究生课程 发布:2021-03-16 21:33:36 浏览:875
杭州朝日教育培训中心怎么样 发布:2021-03-16 21:33:28 浏览:238