精华内容
下载资源
问答
  • 2021-01-13 03:20:46

    CAD二次开发求LISP高手写个程序

    改为如下即可:

    (defun c:sdd ( dwg )

    (setq dwg (getfiled "路径+文件名" "" "Dwg" 1))

    (if (wcmatch dwg "* ####-##-## ##:##.dwg")

    (setq dwg (substr dwg 1 (vl-string-search " " dwg)))

    (setq dwg (substr dwg 1 (- (strlen dwg) 4)))

    )

    (setq dwg (strcat dwg " " (menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD HH:MM)") ".dwg"))

    (command "_.saveas" "" dwg)

    (princ)

    )

    cad加开图层lisp语句谢谢?

    (DEFUN SUB_CHK_LAYER1 (layername COLOR / );;;;;;;;;;检测图层是否存在,若不存在,新建一个图层.(提供图层名 图层color)

    (SETVAR "CMDECHO" 0)

    (SETQ CHKLAY (TBLSEARCH "LAYER" layername))

    (IF (= CHKLAY NIL)

    (vl-cmdf "LAYER" "N" layername "C" (itoa COLOR) layername "");;;不能用COMMAND

    )

    )

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    (DEFUN C:TE ();;;;;;;;;;;;;;;;;;;;;

    (SUB_CHK_LAYER1 "1" 1 );

    (SUB_CHK_LAYER1 "2" 2);

    (SUB_CHK_LAYER1 "3" 3);

    (SUB_CHK_LAYER1 "4" 3);

    (SUB_CHK_LAYER1 "5" 5);

    )

    (PROMPT "***C:TE***生成图层* ****")

    (PRIN1)

    CAD lisp语言编程!

    你这个问题主要的难点还是在如何读入excel文件吧,其他生成图像不是什么难点,这里就不加概述,重点说下怎么读入文件吧。其实挺好解决的,只要将excel表格转换成任何能用记事本打开且不出现乱码的形式,再用open函数加以调用读取即可,刚好excel另存的csv格式正好可以用记事本打开不出现乱码。

    首先,你将excel另存成csv格式。然后:(defun c:GETCSV (/ @file @ascii @char @fullChar @charLength)

    (setq @file (open (getfiled "数据读取" "" "csv" 2) "r"));选择并打开csv文件

    (setq@char ""

    @fullChar ""

    @ascii 0

    )

    (while @ascii

    (setq @ascii (read-char @file))

    (if @ascii

    (setq @char (chr @ascii))

    )

    (if(= @char ",")

    (setq @char " ")

    )

    (if(= @char "

    ")

    (setq @char ")(")

    )

    (setq @fullChar (strcat @fullChar @char))

    );读入csv文件的内容,并根据内容转换成特定表样式的字符串,储存到@fullChar中

    (setq @charLength (strlen @fullChar))

    (while (or (= (substr @fullChar @charLength 1) ")")

    (= (substr @fullChar @charLength 1) "(")

    )

    (setq @fullChar (substr @fullChar 1 (- @charLength 1)))

    (setq @charLength (strlen @fullChar))

    )处理@fullChar特定表样式的字符串尾部多余的括号

    (setq @fullChar (strcat "((" @fullChar "))"));将@fullChar前后各加两个括号和反括号

    (setq @pointList (read @fullChar));把字符串转换成表,储存到@pointList中

    (setq outside @pointList);将@pointList中的内容赋予全局变量ouside

    (close @file);CAD中停止调用之前打开的csv文件

    (princ)

    )

    之后,整个excel表的内容都在变量outside中,搭配car和cdr系列函数以及foreach函数去处理outside变量,并利用entmake创建出相应的CAD图元即可。

    更多相关内容
  • cad lisp 初级教程

    2013-06-13 17:38:44
    AutoLisp语言建基于普通的LISP语言上,并扩充了许多适用于CAD的特殊功能而形成。是一种能以直译方式(不须先行编译)亦可于AutoCAD内部执行的直译性程序语言。程序容易学习及撰写,程序即使出错亦不会对操作系统(如DOS...
  • cad二次开发之lisp语言

    2016-06-17 21:48:20
    LISP是最早和最重要的符号处理编程语言之一,它于1958年由美国的J. McCarthy提出,并于1960年发表了他的第一篇关于LISP的论文。之后,LISP很快受到人工智能工作者的欢迎,获得广泛应用。LISP是LISt Processing(表...
  • cad lisp学习过程记录

    2021-11-20 21:51:24
    入职设计院四个月,参与了部分画图工作,发现画图过程中存在不少重复性劳动,决定自学一下lisp语言,结合自己平日画图工作中的痛点,针对性地写一些简单小插件,提升工作效率。 现已接触lisp两周,一边自学一边自编...

    入职设计院四个月,参与了部分画图工作,发现画图过程中存在不少重复性劳动,决定自学一下lisp语言,结合自己平日画图工作中的痛点,针对性地写一些简单小插件,提升工作效率。

    现已接触lisp两周,一边自学一边自编了部分小插件,这里把小插件演示动图放上来记录一下自己学习过程。

    1.计算多个数字之和

     

    2.计算多条线段长度之和

     

    3.插入墙高标注

     

    4.查询多段线顶点坐标并绘制(自己平时会填写抗滑桩桩心或角点坐标表)

     5.自动生成页码

    6.自动插入页码(针对自己常用图框而编)

    7.绘制示坡线(示坡线方向还只能固定一个方向,以后继续优化)

    8.插入排水箭头

    lisp小工具-fx.zip-交通文档类资源-CSDN下载

    展开全文
  • AutoLiSP入门教程

    2018-12-06 16:57:23
    AutoLISP 是强化AutoCAD 最好、最直接的『程序语言』! AutoLISP 易学、易用,即使不会程序设计的AutoCAD 使用者,都能在最 短的时间内,写出令人惊讶、赞叹的功能! 学习AutoLISP 是非常容易的,对初学者而言,即使没有...
  • Lisp:AutoLisp入门、操作编程实例详细攻略

    万次阅读 多人点赞 2018-06-02 11:32:53
    Lisp:AutoLisp入门、操作编程实例详细攻略 目录 AutoLisp入门 1、图文教程 ... AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。...AutoLISP语言作为嵌入在Auto...

    Lisp:AutoLisp入门、操作编程实例详细攻略

     

     

    目录

    AutoLisp入门

    1、图文教程

    AutoLisp操作


     

     

     

    AutoLisp入门

            AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。通过autolisp编程,可以节省工程师很多时间。AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。

    1、图文教程

     

     

     

    AutoLisp操作

    Autolisp:利用AuoCAD之Lisp编程案例之自动智能获取所选对象的面积并标注在指定位置
    Autolisp:利用AuoCAD之Lisp编程案例之自动智能绘制枫叶玫瑰
    AutoLisp:AutoLisp实现对AutoCAD进行输入命令,选择对象,实现不同方向进行缩放
    Autolisp:利用AuoCAD之Lisp编程案例之智能加工齿轮的演示程序

     

     

     

     

     

    展开全文
  • 今天的这个例子是lisp计算机语言编程,说到这门计算机语言还是大学的时候接触的,不过那时候都是停留在了解的层面上,后面编写AutoCAD二次开发程序几乎是用的是C#。所以对lisp不熟,就别提关于lisp在AutoCAD方面的...

    今天的这个例子是lisp计算机语言编程,说到这门计算机语言还是大学的时候接触的,不过那时候都是停留在了解的层面上,后面编写AutoCAD二次开发程序几乎是用的是C#。所以对lisp不熟,就别提关于lisp在AutoCAD方面的接口。而今天所以又捡起这么计算机语言,是出于两方面原因,首先在AutoCAD明经测绘GIS板块中有相当一部分代码是lisp编写的,这部分代码非常实用于测绘GIS日常生产。另外一个方面是,在AutoCAD论坛中,autoLisp版块非常活跃,这里常常汇聚着一些业界的大牛,在这里开源了相当一部分代码。可以说,是一部分相当不错的资料。

    使用lisp开发AutoCAD程序开发环境为AutoCAD自带的编辑器。具体界面如下图所示。

    代码只要写在空白处,保存为.lsp后缀文件即可。下面来说一下,常用的调试键,F8为单步调试,为嵌套的方式,会层层的深入。而如果想一个一个表达式调试,只要shift+F8即可。而下面截图中按钮是对代码的执行,代码的检查,由于lisp以非常繁琐的链表方式,即括号的方式编写,所以使用这几个功能对代码的检查是十分有必要的。

    类似于C#,JAVA计算机语言,我们在调试的时候需要对我们的变量值进行查看,在AutoCAD中可以使用如下图的监视窗口。在窗口中输入变量的值,可以查看程序运行中,变量值的变化。

    而我们在开发中,往往需要对代码进行类似C#一样,将AutoCAD添加到进程中调试,在AutoCAD自带的编辑器中,我们只要使用激活AutoCAD即可。具体如下图所示。

    好了,关于编写AutoCAD开发的lisp程序方面的环境,以及常用的快捷键就说明完,当然了,更多的相关的知识,大家可以查看网络的相关资料,这里就不做详细的说明。

    今天的这个例子是利用AutoCAD对象,利用反射调用函数打开文件窗口,读取文件。然后读文件该目录下的dwg后缀的文件。再由AutoCAD里面创建表格,将文件名填写到表格里面,整个程序就作完工作。在这里例子,我们将会学到AutoCAD对象的链接,模型空间中添加表格,表格单元格的填写。就lisp语法而言,有对象的反射调用,循环的使用。可以说是学习AutoCAD在lisp开发不错的例子。具体的实现代码如下图所示。

    (defun c:GET_FILES ( / sh folder folderobject result)
    (vl-load-com)
    (command "cmdecho" 0)
    (setq sh (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application" ))
    (setq folder (vlax-invoke-method sh 'BrowseForFolder 0 "" 0 ))
    (vlax-release-object sh)
    (setq folderobject (vlax-get-property folder 'Self))
    (setq result (vlax-get-property FolderObject 'Path))
    (setq Files_Folder (vl-directory-files result "*.dwg"))
    
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq pt (vlax-3d-point 0 0 0))
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq MyTable (vla-Addtable modelSpace pt (+ (length Files_Folder) 2) 2 10 100))
    (vla-ZoomExtents acadObj)
    (vla-setText MyTable 0 0 "图形文件列表")
    (vla-setText MyTable 1 0 "序号")
    (vla-setText MyTable 1 1 "文件名")
    
    (if (/= (length Files_Folder) 0)
    (repeat (setq N (length Files_Folder))
     (setq e (nth (setq N (- N 1)) Files_Folder))
     (setq fsl (strlen e))
     (Setq Fsl (- fsl 4))
     (setq Fname (substr e 1 fsl))
     (vla-setText MyTable (+ N 2) 0 (+ N 1))
     (vla-setText MyTable (+ N 2) 1 Fname)
    )
    (princ "\n无 *.DWG 后缀的文件")
    ) 
    
    (command "cmdecho" 1)
    (princ)
    )

    下面来看一下录制的gif效果。

     


                                                                                    更多内容,请关注公众号

                                                                             

    展开全文
  • cad_lisp基础教程.pdf

    2021-01-27 06:29:42
    cad_lisp基础教程Lisp 基础知识一.基本知识1二、数值资料5三、程序设计 11四、流程控制 16五、输入输出23六、字符串资料31七、串行资料36八、图元资料42九、选集资料52十、常用函数 1 58十一常、用函数2 67十二、...
  • CAD 二次开发教案 LISP

    2016-01-24 20:28:22
    这就是Autodesk公司早在1985年的2.1版本就引用了LISP语言的宏操作,在1986年的2.5版本就推出了比较完整的AutoLISP语言的原因。 LISP在它几十年的发展过程中产生了多种版本,如MacLISP、InterLISP、ZetaLISP、和...
  • 前段时候中望公司发布了新一代拥有全新内核的产品:中望CAD+,作为一个国产CAD软件的支持者,我进行了下载测试,使用过后确实有了耳目一新的感觉,新功能方面有很多朋友已经做了深入的评测,我就不凑热闹了,这里我...
  • autolisp教程pdf

    2021-01-27 06:29:28
    AutoCAD高级培训教程之二 AutoCAD应用开发第三部分 AutoLISP基本函数 3 AutoLISP基本函数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.1 赋值函数 3.2 数据类型......搜试试 2 悬赏文档 全部 DOC PPT TXT PDF XLS 百度文库 ...
  • AutoLISP入门教程.pdf

    2014-10-15 10:14:05
    非​常​简​明​而​实​用​的​A​u​t​o​L​I​S​P​教​程!...AutoLisp是强化AutoCad最好、最直接的程序语言。 AutoLisp易学、易用,即使没有学习任何的程序语言,都能很快上手,写出精彩漂亮的AutoLisp程序。
  • 教程用于示范 AutoCAD® 的 AutoLISP® 编程环境的一些强大功能,并介绍 AutoLISP 语言的新功能。 本教程的目标是用自动绘图工具绘制花园小路。这些工具可以最大限度地节省绘图时间,显示出参数化编程的能力。 将...
  • AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。通过autolisp编程,可以节省工程师...AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。
  • AutoLisp入门教程

    2013-01-19 09:45:45
    一个不错的CAD 语言编程教程。深入浅出
  • 对于autocad 使用者是一个非常有用的语言,可以编辑和加载块,方便用户的操作,提高工作效率
  • CAD二次开发之LISP读取excel数据

    千次阅读 2020-04-02 01:15:33
    内容:将通过CAD访问Excel文件,并对下列表格的总价进行计算 步骤: 1、写程序首先利用(V-load-com)加载扩展的AutoLISP函数,不可缺。 (v-load-com) 具体程序如下: 2、运行程序 (1)加载 (2)运行 显示...
  • cad的二次开发,包含visual lisp\vb\.net多种语言开发的教程
  • AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。通过autolisp编程,可以节省工程师...AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。
  • AutoCAD软件的二次开发lisp语言详细介绍,lisp语法,及如何进行CAD对象调用,是初学者很好的参考资料。
  • **lisp** 学习笔记

    2021-01-13 06:43:54
    开发环境开发环境:SBCLEmacsSlime:在emacs里面帮助进行common lisp开发的扩展quicklisp:Common Lisp的包管理工具安装步骤:安装emacs这个不用多讲了。从GNU的网站能下载到不同平台的版本。安装SBCLbrew install ...
  • 学好一门编程语言有两个条件是必不可少的,一是理论与实践结合,在实际例程去验证书本上的理论能加深你对理论的理解;二是学会总结,把学习、运用中的心得体会记下来,当成一种经验或者教训加以提炼并在日后的应用中...
  • 2008年12月JournalofJilinArchitecturalandCivilEngineeringInstituteDec.2008基于AutoLISP的AutoCAD二次开发研究郭秀娟范晓鸥(吉林建筑工程学院计算机科学与工程学院,长春130021)摘要:介绍了AutoLISP语言的功能、...
  • VLISP对是autoLisp语言进行了扩展,可以通过Microsoft ActiveX Automation接口与对象交互。同时,通过实现反应器函数,还扩展了AutoLISP响应事件的能力。作为开发工具,VLISP提供了一个完整的集成开发环境(IDE),...
  • lisp语言, (DEFUN C:RECT ( ) (SETQ PT_START (GETPOINT "Select first point") PT_END (GETCORNER PT_START "Select second point") PT_TMP1 (LIST (CAR PT_START) (CADR PT_END)) PT_TMP2 ...
  • ControlLanguage)语言,作对话方框的开发及应用.本课程只适合对AutoLISP程序设计有相当认识之人仕.全课共分为12篇,每篇一个主题;而每篇再分为若干小节,每天顺序显示.内文若有错漏,敬祁见谅,欢迎来函赐教,多谢!!课程...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼打开CAD,依次点击菜单“工具→AutoLISP→Visual LISP编辑器”,新建文件,输入以下代码:(defun C:drawsin (/ LeftPoint LeftPointX LeftPointY N x step) (initget 1) ...
  • AutoLISP培训教程

    2009-02-23 14:05:26
    3、AutoLISP是强化AutoCAD最好、最直接的『程序语言』! 4、AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的 时间内,写出令人惊讶、赞叹的功能! 若说AutoLISP的出现,是替 AutoCAD 创造一片天的...
  • AUTOLISP@DCL基础篇(全)

    2020-12-21 04:42:33
    二位AutoCAD高手震撼年度精心巨作最震撼的AutoCAD专业工程师必修宝典一贯原则 篇篇精彩...循序渐进,熟悉Autolisp&DCL程序设计资深老手->充分掌握,自我希望成为真正的AutoCAD制图的创造者高手练功->如虎...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 209
精华内容 83
关键字:

cad lisp语言 教程