寻仙驭剑加点学心法重要吗?高手赐教!

高手赐教!这个CAD LISP程序的循环语句该怎么改?
本人初学CAD LISP语言,依葫芦画瓢写了一个程序,读取D盘根目录下的文本文件里面的坐标来画圆,文本文件格式如下:((&X&8)(&Y&7))((&X&)(&Y&))((&X&)(&Y&1))((&X&)(&Y&))((&X&9)(&Y&4))我的程序如下:(defun c:hy(/)  (setvar&cmdecho&0)  (command&layer&&M&&图斑交叉空隙&&C&7&&&L&&&&&&LW&&&&&)  (setq f1(open&d:\\图斑错误.txt&&r&))  (setq list1(read(read-line f1)))  (setq x1(cadr(assoc&X&list1)))  (setq y1(cadr(assoc&Y&list1)))  (setq p1(list x1 y1))  (command&circle&p1 10)  (setq list2(read(read-line f1)))  (setq x2(cadr(assoc&X&list2)))  (setq y2(cadr(assoc&Y&list2)))  (setq p2(list x2 y2))  (command&circle&p2 10)  (setq list3(read(read-line f1)))  (setq x3(cadr(assoc&X&list3)))  (setq y3(cadr(assoc&Y&list3)))  (setq p3(list x3 y3))  (command&circle&p3 10)  (setq list4(read(read-line f1)))  (setq x4(cadr(assoc&X&list4)))  (setq y4(cadr(assoc&Y&list4)))  (setq p4(list x4 y4))  (command&circle&p4 10)  (setq list5(read(read-line f1)))  (setq x5(cadr(assoc&X&list5)))  (setq y5(cadr(assoc&Y&list5)))  (setq p5(list x5 y5))  (command&circle&p5 10)这个可以运行,但是我想用循环来实现,于是自己把程序改成了这样:(defun c:hy(/)  (setvar&cmdecho&0)  (command&layer&&M&&图斑交叉空隙&&C&7&&&L&&&&&&LW&&&&&)  (setq f(open&d:\\图斑错误.txt&&r&))  (setq i 1)  (while(read-line f)    (setq list[i](read(read-line f)))    (setq x[i](cadr(assoc&X&list[i])))    (setq y[i](cadr(assoc&Y&list[i])))    (setq p[i](list[i] x[i] y[i]))    (setq i(1+ i))  )  (close f)  (setq i(- i 1))  (setq j 1)  (while(&= j i)    (command&circle&p[j] 10)    (setq j(1+ j))  )  (princ))     但是这个却运行不了,哪位大侠可以指点一下,问题到底在哪里?是数组使用错误吗?该怎么修改?
10-01-06 &
AUTOCAD的二次开发主要涉及以下内容:(1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2)建立符合自己要求的菜单文件,一般可在AUTOCAD原菜单文件内添加自己的内容,然后经交互方式加入到系统中去。(3)在系统的ACAD.LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。(4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AUTOCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。  AUTOCAD具有开放的体系结构,它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。其二次开发语言及工具在不断地涌现 1 AUTOLISP AUTOLISP,是一种嵌入在AUTOCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AUTOCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。 2 ADS ADS是AUTOCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AUTOCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AUTOCAD环境下运行,这种可以在AUTOCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。 3 OBJECTARX OBJECTARX是一种崭新的开发AUTOCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,提供可与AUTOCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AUTO CAD应用程序。OBJECTARX并没有包含在AUTOCAD中,可在AUTODESK公司网站中去下载,它能够对AUTOCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。OBJECTARX从本质上讲,是一种特定的C++编程环境,她包括一组动态链接库(DLL),这些库与AUTOCAD在同一地址空间运行并能直接利用AUTOCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AUTOCAD的开放结构,直接访问AUTOCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AUTOCAD的功能,创建能全面享受AUTOCAD固有命令的新命令。OBJECTARX的核心是两组关键的API,即ACDB(AUTO CAD数据库)和ACED(AUTO CAD编译器),另外还有其它的一些重要库组件,如ACRX(AUTO CAD实时扩展)、ACGI(AUTO CAD图形接口)、ACGE(AUTO CAD几何库)、ADSRX(AUTO CAD开发系统实时扩展)。OBJECTARX 还可以按需要加载应用程序;使用OBJECTARX进行应用开发还可以在同一水平上与WINDOWS系统集成,并与其它WINDOWS应用程序实现交互操作。 4 VISUALLISP VISUALLISP已经被完整地集成到AUTOCAD中,一改过去在AUTOCAD中内嵌ATUOLISP运行引擎的机制,这样开发者可以直接使用AUTOCAD中的对象和反应器,进行更底层的开发。其特点为自身是AUTOCAD中默认的代码编辑工具;用它开发AUTOLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ACTIVEX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VISUALLISP中新增了一些函数:如基于AUTOLISP的ACTIVEX/COM自动化操作接口;用于执行基于AUTO CAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。 5 VBA VBA它被集成到AUTOCAD,VBA为开发者提供了一种新的选择,也为用户访问AUTOCAD中丰富的技术框架打开一条新的通道。通过VBA,我们可以操作AUTOCAD,控制ACTIVEX和其它一些应用程序,使之相互之间发生互易活动。
请登录后再发表评论!
LISP是List Processor(表处理程序)的缩写,主要用于人工智能(AI)领域。AutoLISP是人工智能语言CommonLISP的简化版本,作为通用LISP语言的一个小子集,AutoLISP严格遵循其语法和惯例,但又添加了许多针对AutoCAD的功能。Autodesk公司在AutoCAD 2.1版引入AutoCAD作为应用程序编程接口(API),用于扩展和自定义AutoCAD功能。借助AutoLISP,用户可以用适合编写图形应用程序的强大的高级语言来编写宏程序和函数,并开发各种软件包。AutoLISP易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。 从AutoCAD R14开始,Visual LISP被引入到AutoCAD中,它增强并扩展了AutoLISP语言,可以通过 Microsoft ActiveX Automation接口与对象交互,并扩展了AutoLISP响应事件的能力。作为开发工具,Visual LISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高自定义AutoCAD的效率。另外,Visual LISP提供了发布用AutoLISP编写的独立应用程序的工具。Visual LISP没有任何特殊的硬件需求,能运行AutoCAD系统即可运行Visual LISP。 36.1.2 Visual LISP与AutoCAD Visual LISP作为一个完整的集成开发环境(IDE),具有自己的窗口和菜单,但它并不能独立于AutoCAD运行。当用户从Visual LISP IDE中运行AutoLISP程序时,经常需要与AutoCAD图形交互或在命令窗口响应程序提示。 如果Visual LISP 把控制传给AutoCAD时AutoCAD已被最小化,用户必须手动恢复并激活AutoCAD才可继续,Visual LISP不会自动恢复AutoCAD 窗口。相反,Visual LISP窗口中会出现并保持一个 Visual LISP符号,直到激活AutoCAD并响应了在AutoCAD命令提示处的提示。 36.1.3 Visual LISP IDE简介 Visual LISP IDE的主要组成部分和功能为: (1) 语法检查器:可识别AutoLISP语法错误和调用内置函数时的参数错误。 (2) 文件编译器:改善了程序的执行速度,并提供了安全高效的程序发布平台。 (3) 源代码调试器:专为AutoLISP设计,利用它可以在窗口中单步调试AutoLISP源代码,同时还在AutoCAD图形窗口显示代码运行结果。 (4) 文字编辑器:可采用AutoLISP和DCL语法着色,并提供其他AutoLISP语法支持功能。 (5) AutoLISP格式编排程序:用于调整程序格式,改善其可读性。 (6) 全面的检验和监视功能:用户可以方便地访问变量和表达式的值,以便浏览和修改数据结构。这些功能还可用来浏览AutoLISP数据和AutoCAD图形的图元。
请登录后再发表评论!
大哥这个autolisp不能用数组
请登录后再发表评论!
CPU AMD 速龙II X2 245 单价:425.00 主 板 昂达 A785G 单价:480.00 显 卡 迪兰恒进 HD4830雷钻 单价:598.00 内 存 金士顿 DDR2 800 单价:279.00 显示器 三星 943NW 单价:949.00 硬 盘 日立 320GB 7200转 单价:318.00 机箱 酷冷大师 黑风侠 单价:134.00 电源 航嘉 冷静王钻石2.3版本 单价:187.00 光驱 台电 16X SATA DVD 单价:109.00 鼠键套 罗技 光电高手1000 单价:139.00 这个配置不错
请登录后再发表评论!我高中生物学得不好,请高手赐教!!! 谢谢!!!_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
我高中生物学得不好,请高手赐教!!! 谢谢!!!
我们经常做的训练题中,会有一些生活的例子,你就试着去解释他们,你能够解释得通这些现象,说明这些东西你都掌握好了,那样学得也没有意思,你要想办法把散的东西联系起来,我不提倡死记硬背。看怎么样用这些知识解释这些东西解释的通,生物知识比较散,微生物的例子,这些要多注意下,也是靠积累。 总的一句话,并且还能灵活运用。其次呢,就是高中生物中,会有一些典型的动物,植物。其实呢:你要把细胞的结构,组成的物质,细胞中的生命活动的原理,这些理论性的知识积累好。当这一部分东西 积累的差不多了,你就要尝试着用这些知识去解释生活中的一些现象,比如必修一首先先把最基础的知识积累好,这一步最重要
采纳率:58%
来自团队:
我现在是高三的学生
生物需要很多东西记得
第一:你要把它当文科来学
如果你理解不了里面的内容
那你就把那些知识要点拼命记下来来吧
找个同学像听写那样默吧 我们现在用的是《高效备考》这本书
里面蛮多那些知识点
足够你念了
第二:每天最少做一张试卷吧
贵在坚持额
很高兴能帮你,你的问题在下面已经有了解答,如果还有疑问请留言。里面有我的回答,希望能帮你!
首先先把基础的知识积累好,这一步最重要,多看生物书,把书上基础知识理解并弄懂,多去做一些相关练习题。其次呢,就是高中生物中,会有一些典型的动物,植物,微生物的例子,这些要多注意并理解,多多积累。 总的一句话,生物知识比较散,你要想办法把散的东西联系起来,高中生物不提倡死记硬背,理解加记忆,相信你会学好生物的。
背~~多思考,题之间的联系和变形
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
高中生物的相关知识
换一换
回答问题,赢新手礼包

我要回帖

更多关于 剑驭九天 的文章

 

随机推荐