Lisp使用说明

合集下载

HIS(LISPACSRISEMR)系统解决方案范文

HIS(LISPACSRISEMR)系统解决方案范文

HIS(LISPACSRISEMR)系统解决方案范文一、定义说明医院信息系统(HopitalInformationSytem,HIS),利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的功能需求。

实验室信息管理系统(LaboratoryInformationManagementSytem,LIS),是专为医院检验科设计的一套信息管理系统,能将实验仪器与计算机组成网络,使病人样品登录、实验数据存取、报告审核、打印分发,实验数据统计分析等繁杂的操作过程实现了智能化、自动化和规范化管理。

有助于提高实验室的整体管理水平,减少漏洞,提高检验质量。

放射信息管理系统(Radioiogyinformationytem,RIS),是优化医院放射科工作流程管理的软件系统,一个典型的流程包括登记预约、就诊、产生影像、出片、报告、审核、发片等环节。

电子病历(ElectronicMedicalRecord,EMR),是指将传统的纸病历完全电子化,并提供电子贮存、查询、统计、数据交换等管理模式,它是信息技术和网络技术在医疗领域应用的必然产物,是医院计算机网络化管理的必然趋势,目前改领域研究已成为一个新的研究应用热点。

二、概述医院信息系统(HIS)是一个庞大而复杂的现代化信息管理系统,它包含财务、人事、住院、门诊、挂号、医技、收费、分诊、药品管理等多个子系统,经过多年的发展,HIS系统被赋予更多的功能:随着医院内部业务流程的不断梳理和整合,HIS与LIS,PACS,RIS,EMR等外围模块不断融合;随着卫生信息化的内涵与外延不断扩展,HIS与社保,医保,甚至银行系统的业务及数据交互越来越频繁。

HIS系统已成为医疗行业业务驱动,流程整合与服务能力提升的核心引擎系统。

1.建设目标v以病人为中心,以电子病历为核心,以全面集成为手段,提高医院管理水平和经营效益为目标,打造先进的、全面的现代化的数字医院。

ZWCAD LISP 函数分类介绍

ZWCAD LISP 函数分类介绍
同一表达式的引用
忽略微小差异判断是否相等
• equal 函数
当比较两个实数(或由实数组成的表,如点表)时, 即使是恒等的两个数,如果采用不同的计算方法,结 果也有可能稍有差别,可以使用 equal 函数在设定的 误差范围内进行比较。该函数经常用于比较两实数是 否相等,例如:
表达式
返回 值
说明
(equal 3.1415 pi 0.001)
表达 表达 And 返 Or 返 式 1 式 2 回值 回值
T
T
T
T
T nil nil
T
nil T
nil
T
nil nil nil nil
表达 Not 返 式 回值nLeabharlann lTTnil
(and (< a 50) (setq a 50))
上例中 and 函数的两个参数分别为 (< a 50) 和 (setq a 50),在执行该表达式时,先计算表达式 (< a 50) 值, 若该表达式的返回值为假(0 或 nil),则无论表达式 2 的返回值是什么,and 函数的最终执行结果都是假,因 此将不再对表达式 (setq a 50) 进行求值,即该示例代 码的作用是检测变量 a 的值,保证其值不小于 50。
库函数分类介绍
ZWCAD 开发人员帮助
正如第一章所言,学习 AutoLISP 程序设计主要是学习 LISP 程序设计基础知识和 AutoLISP 库函数的用法,第一方面已经 在第二章中进行了介绍,本章对库函数的用法进行详细的讲解。 ZWCAD 提供了 230 多个 AutoLISP 库函数,本章将这些函数按 功能分类进行介绍,在各类函数中分别抽取使用比较频繁的函 数并辅以实例代码进行介绍,主要包括以下内容:

利用AutoLISP管理图形数据库

利用AutoLISP管理图形数据库

程序运行结果:
3. 图元句柄及其用法



由于在每次绘图时图元名都可能变化,这使得在某些场 合应用图元名不方便。而图元句柄在图形整个生命周期 中都是不变的,因此,如果应用程序在不同时刻必须引 用同一图形中的同一对象时,最好使用图元句柄。 调用格式:(handent [图元句柄])
功能:返回当前编辑期间使用的与图元句柄对应的图元名。 例:(handent “5A2”) 返回:<Entity name: 60004722>

5.1.3 选择集操作函数实例




例1:选择屏幕上要保留的图形,删除其它为被选种的 图形。 (defun c:remainder (/ s1 s2 s3 n ent) (setq s1 (ssget) s2 (ssget “x”)) (if (not s1) (command “erase” s2 “”) (progn (setq s3 (ssadd) n 0) (repeat (sslength s2) (setq ent (ssname s2 n)) (if (not (ssmemb ent s1)) (ssadd ent s3)) (setq n (1+ n)));repeat (command “erase” s3 “” “redraw”));progn );if );end
2.按图元位置获取图元名称


(entsel [提示串]) ---返回:([图元名][坐标点表]) (entsel) ---提示串缺省将出现:Select objects:
例:编程在屏幕上画一条线和一个圆,并过圆心向直线作垂线。



(defun c:ents () (command "line" '(10 10) '(80 80) "") (command "circle" "30,100" 40) (setq pt1 (cadr (entsel "select a line:"))) (setq pt2 (cadr (entsel "setlect a circle:"))) (setq pt3 (osnap pt2 "cen")) (command "line" pt3 (osnap pt1 "per") "") );end

AutoLISP从入门到精通初级教程

AutoLISP从入门到精通初级教程

AutoLISP入门单元一:AutoLISP主角登场.................................. 错误!未定义书签。

单元二:AutoLISP的关键、基本结构及语法.................... 错误!未定义书签。

单元三:快速分类浏览AutoLISP功能函数(一) ................. 错误!未定义书签。

单元四:快速分类浏览AutoLISP功能函数(二) ................. 错误!未定义书签。

单元五:轻松快速的掌握AutoLISP设计技巧................... 错误!未定义书签。

单元六:图元数据的取得与活用技巧(一) ...................... 错误!未定义书签。

单元七:图元数据的取得与活用技巧(二) ...................... 错误!未定义书签。

单元八:新手上路-参数设计的关键技巧....................... 错误!未定义书签。

单元一:AutoLISP主角登场一. AutoLISP 是何方神圣1、AutoLISP是AutoCAD的最佳拍檔!2、AutoLISP内含于AutoCAD软件内,不用另外花钱买!3、AutoLISP是强化AutoCAD最好、最直接的『程序语言』!4、AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的时间内,写出令人惊讶、赞叹的功能!若说AutoLISP的出现,是替 AutoCAD 创造一片天的『最大功臣』,实不为过一点也不夸张!5、AutoLISP希望您去学习它、改善它、发挥它、享受它.真的!它的威力、魅力无穷!二. AutoLISP 程序语言的特质分析:学习AutoLISP是非常容易的,对初学者而言,即使没有学习过任何的程序语言,都能很快的上手,写出精彩漂亮的AutoLISP程序!语法简单:不用特殊的变量宣告,非常富有弹性,比起其它的程序语言,它的语法可说是非常简单而有其独特的风格!功能函数强大:除一般性的功能函数外,又拥有为数不少控制配合AutoCAD的特殊函数,再加上AutoLISP可直接呼叫执行所有AutoCAD的指令,以及掌握运用所有的AutoCAD系统变量,功能之强大令人欣喜不已!撰写的环境不挑剔:只要是一般的文书编辑软件都适用! 如:Windows的记事本、PE2、PE3、DW3、书中仙、汉书、EDIT....等直译式程序:不用再作编译,『即写即测、即测即用』,马上可以在AutoCAD中响应效果,马上就有成就感!横跨各作业平台:悠然自得,虽然AutoCAD有DOS、Windows版本之分但是AutoLISP却可在不改写的原貌下,加载与执行!三.撰写 AutoLISP 的动机1、欲强化 AutoCAD 原有指令时.2、欲创造更有用的 AutoCAD 新指令.3、欲简化繁琐的环境设定或绘图步骤时.4、欲处理参数式绘图时.5、欲做图面资料读文件、写文件.6、欲做 AutoCAD 简报展示时.7、欲达到真正灵活掌控 AutoCAD 时.8、欲提升自己跨上 AutoCAD 高手列车时.四.AutoLISP 的效益评估1. 对公司负责人或设计主管而言:A. 也许某员工或干部花了20个小时撰写一个AutoLISP程序,表面上,这将近三天的时间,他连一张图都没有画,甚至可能偶有发呆、沈思,若此程序一天可以替公司绘图部门节省1小时绘图时间,那算一算,只要20天就抵销开发成本,而20天以后都是赚的,『用的愈久,省的愈多』!B. 若员工皆有此动力,在不影响正常工作,『鼓励』都来不及,那有『压抑』的道理,甚至还要派遣优秀人员出去受训,学习更好的设计技巧与创意呢!C. 千万不要因为您的不懂或压抑,SHOW您的权威与POWER,如此,不但对员工造成打击,甚至您可能成为阻碍了公司计算机化进步的罪魁祸首D. 当然,若要撰写的程序很多,内部设计人员的程序功力距离太远,达成需求的时间反而变得遥遥无期,那倒不如求助于市面上已有的相关 AutoCAD 支持软件。

AutoLISP从入门到精通初级教程[新手必备]

AutoLISP从入门到精通初级教程[新手必备]

AutoLISP入门单元一:AutoLISP主角登场 (2)单元二:AutoLISP的关键、基本结构及语法 (4)单元三:快速分类浏览AutoLISP功能函数(一) (10)单元四:快速分类浏览AutoLISP功能函数(二) (13)单元五:轻松快速的掌握AutoLISP设计技巧 (16)单元六:图元数据的取得与活用技巧(一) (21)单元七:图元数据的取得与活用技巧(二) (25)单元八:新手上路-参数设计的关键技巧 (32)单元一:AutoLISP主角登场一. AutoLISP 是何方神圣?1、AutoLISP是AutoCAD的最佳拍檔!2、AutoLISP内含于AutoCAD软件内,不用另外花钱买!3、AutoLISP是强化AutoCAD最好、最直接的『程序语言』!4、AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的时间内,写出令人惊讶、赞叹的功能!若说AutoLISP的出现,是替 AutoCAD 创造一片天的『最大功臣』,实不为过一点也不夸张!5、AutoLISP希望您去学习它、改善它、发挥它、享受它.真的!它的威力、魅力无穷!二. AutoLISP 程序语言的特质分析:学习AutoLISP是非常容易的,对初学者而言,即使没有学习过任何的程序语言,都能很快的上手,写出精彩漂亮的AutoLISP程序!语法简单:不用特殊的变量宣告,非常富有弹性,比起其它的程序语言,它的语法可说是非常简单而有其独特的风格!功能函数强大:除一般性的功能函数外,又拥有为数不少控制配合AutoCAD的特殊函数,再加上AutoLISP可直接呼叫执行所有AutoCAD的指令,以及掌握运用所有的AutoCAD系统变量,功能之强大令人欣喜不已!撰写的环境不挑剔:只要是一般的文书编辑软件都适用! 如:Windows的记事本、PE2、PE3、DW3、书中仙、汉书、EDIT....等直译式程序:不用再作编译,『即写即测、即测即用』,马上可以在AutoCAD中响应效果,马上就有成就感!横跨各作业平台:悠然自得,虽然AutoCAD有DOS、Windows版本之分但是AutoLISP却可在不改写的原貌下,加载与执行!三.撰写 AutoLISP 的动机?1、欲强化 AutoCAD 原有指令时.2、欲创造更有用的 AutoCAD 新指令.3、欲简化繁琐的环境设定或绘图步骤时.4、欲处理参数式绘图时.5、欲做图面资料读文件、写文件.6、欲做 AutoCAD 简报展示时.7、欲达到真正灵活掌控 AutoCAD 时.8、欲提升自己跨上 AutoCAD 高手列车时.四.AutoLISP 的效益评估?1. 对公司负责人或设计主管而言:A. 也许某员工或干部花了20个小时撰写一个AutoLISP程序,表面上,这将近三天的时间,他连一张图都没有画,甚至可能偶有发呆、沈思,若此程序一天可以替公司绘图部门节省1小时绘图时间,那算一算,只要20天就抵销开发成本,而20天以后都是赚的,『用的愈久,省的愈多』!B. 若员工皆有此动力,在不影响正常工作,『鼓励』都来不及,那有『压抑』的道理,甚至还要派遣优秀人员出去受训,学习更好的设计技巧与创意呢?!C. 千万不要因为您的不懂或压抑,SHOW您的权威与POWER,如此,不但对员工造成打击,甚至您可能成为阻碍了公司计算机化进步的罪魁祸首D. 当然,若要撰写的程序很多,内部设计人员的程序功力距离太远,达成需求的时间反而变得遥遥无期,那倒不如求助于市面上已有的相关 AutoCAD 支持软件。

AutoLisp和对话框DCL

AutoLisp和对话框DCL

第1节基本知识对话框是现今最流行的人机互动面接口;在早期的AutoCAD版本中巳经使用,但只有在R12版本开始,才提供给用户自行编程的对话框开发功能.对话框的描述定义在一纯文本档(扩展名为DCL)内,无须特别的开发环境定义文件中的对话框描述,均以对话控制语言(Dialog Control Language,简称DCL语言)所建立在AutoLISP程序中,配合可编程对话框(Porgrammable Dialog Box,简称PDB)函数,激活及操控对话框可以在一个定义档(扩展名DCL)中定义多个对话框对话框由方块本身,及包含于其内的组件(或称为控件,构件)所组成每个组件的属性定义均包含在一对大括号{ }中在定义文件中,各组件及其属性均为小写;只有在赋值给属性,或设定对话框名称时才可使用大写字母属性以等号=赋值,并以分号;结束(注意 : 在AutoLISP程序中,分号是作为批注)一般要在组件名称前加上一个冒号:,但若组件并不设定属性,则不需要在组件名称前加冒号,但却要以分号结束空行会被忽若定义档发生严重的错误,会在当前的目录下,产生ACAD.DCE文件,以指明所发生的错误.第2节定义档BASE.DCL默认在SUPPORT的目录中,它包含了各组件的原型定义,及各类型巳定义的其它基本组件;而所有自行开发的对话框定义文件,都可以使用在BASE.DCL定义文件中的各个组件ACAD.DCL默认在SUPPORT的目录中,它包含了AutoCAD中所有标准对话框的定义参考定义档可在自行开发的对话框定义文件中,经由include指令,取得指定DCL文件中所定义的组件;其语法如下:@include "对话框定义档"e.g. @include "david.dcl"定义档名称要包含在双引号"中,可以在档名前加上定的目录路径会先在当前的目录中搜寻该定义文件,然后是定义文件所在的目录;若有指定档案的路径,则只会在指定的目录内寻找不可以参考ACAD.DCL所定义的对话框,即不可以使用@include "acad.dcl"预视对话框若在Visual LISP中开启一对话框定义文件,即可使用 :工具 -- 接口工具 -- 预览编辑器DCL在下拉式列示框中,选取该定义文件中所设定的对话框名称,即可预视对话框亦可直接输入该对话框的名称(要注意大小写)批注//表示其右边(至该行末端)的文字视为注释/* */包括在两个批注符号中间的所有文字(可跨越多行)均视为注释语义检核提供4个等级的检核,该些检核会在对话框载入时完成;可以将下列语句放在定义文件中的任何位置,但不能在任何对话框的定义内.dcl_settings : default_dcl_settings {audit_level = 3;}等级0 不检查 : 只有在该定义档巳被检核且不会再作修改时使用等级1 错误 : 找出可能造成AutoCAD终止的错误,此等级也是默认值等级2 警告 : 找出配置或行为模式的错误,所有定义在修改后,最少应执行此等级的检查一次等级3 提示 : 找出多余的属性定义对话框的设计美观性颜色配比,组件整齐排列等方便性相同功能的项目要编排在一起,或使用线框包围使用频繁的项目应设置在最显眼及方便的位置适当设置快捷键及默认值(默认值,省缺值)除非对话框中的项目过多,否则应避免使用巢状(嵌套)式对话方框互锁或互换项目选取(或不选取)时,会否引致其它项目功能的改变(enable或disable...等)对话框定义文件内容模式对话框名称:dialog{label="对话框标题" ;:组件名称{ 属性名称=属性值;} //组件定义结束} //对话框结束1对话框名称就是由AutoLISP程序,启动对话框时所呼叫的名称;可以自行设定,要区分大小写字母dialog为对话框中,最外层的组件(即整个对话框),其它的组件均包含在其中一般组件要以冒号:开始,并为小写字母;因为不是属性,所以不须使用分号;结束2开大括号{紧随组件名称之后,以包含该组件的属性或其它组件label为属性名称,并以等号=赋以其右边的属性值,最后以分号;结束该行叙述3包含在对话框中的其它组件组件要以冒号:开始,并为小写字母;因为不是属性,所以不须使用分号;结束4开大括号{紧随组件名称之后,以包含组件的属性或其它组件包含在组件中的属性,要以等号=赋以其右边的属性值;最后以分号;结束该行叙述5以关大括号}与第4行的开大括号}对应,以结束该组件(第3行)之定义双除号//右边的文字即为批注6以关大括号}与第2行的开大括号}对应,以结束该组件之定义(在本例中为整个对话框的定义,即第1行的dialog组件注意:上例中缩排只为方便观察及维护,不作缩排亦可包含在对话框中的组件及组件中的属性可以不只一个练习 (Exercises)请输入以下的对话框定义,并命名为RECT.DCL(纯文本格式),存在C盘的根目录中RECT:dialog{label="Rectangle" ;:text//文字组件{label="Rectangle width :" ;//组件的属性}ok_only;}定义说明:1设定对话框的名称为RECT,紧接一个以冒号开始的组件dialog2最左边为dialog组件的开大括号,右边是其属性label,并以等号设定其属性值为"Rectangle",以分号结束此行叙述3text为"字符串"组件,其作用是在对话框中显示文字,组件名称前要加冒号4最左边为text组件的开大括号,右边是其属性label,并以等号设定其属性值为"Rectangle width",最后以分号结束此行叙述5关大括号是对应第4行的开大括号,这对大括号同属于第3行的text组件6ok_only为一"按钮组件",它的作用是在对话框中显示一个"确定(OK)"按钮;在一个对话框中,必需提供最少一个"确定"按钮,或一个"取消"按钮(组件名称为cancel_button),以作为结束对话框之用;本例中不设定按钮之属性,固不需以冒号放在组件名称的前面,但却需要以分号结束7关大括号是对应第2行的开大括号,这对大括号同属于第1行的dialog组件注意:虽然定义档巳经完作,但仍要待学习完第2篇的课程后,才能开启及显示该对话框AutoLISP函数(LOAD_DIALOG "对话框定义档名称")e.g. (LOAD_DIALOG "C:/RECT.DCL")自变量是要加载的对话框定义文件名称字符串(所以要在前后加双引号);若不设定扩展名则预设为.DCL函数会依资源搜寻路径找寻该定义文件;不在搜寻路径中的档案,要在文件名前加上指定的路径函数若成功加载该定义档,会传回一正整数值的档案处理码,供其它函数呼叫使用;无法加载时则传回负整数值一般会将传回的档案处理码以SETQ函数存入变量中e.g. (SETQ DCL_ID (LOAD_DIALOG "C:/RECT.DCL"))(NEW_DIALOG "对话框名称" 档案处理码 ["预设动作" [对话框位置]])e.g. (NEW_DIALOG "RECT" DCL_ID)对话框名称为字符串,要在前后加双引号;要注意一个定义档中,可包含多个对话框名称及其定义档案处理码是经由LOAD_DIALOG函数取得默认动作为字符串表示式;函数可以不加默认动作,或以空字符串""表示如果要设定对话框显示时的位置,则必须同时设定预设动作对话框位置为2D的点串行,指定对话框左上角的X,Y坐标如果以 '(-1 -1)为对话框位置,则会在绘图屏幕的中心点开启对话框如果成功开启对话框,函数会传回T,否则传回NIL(START_DIALOG)函数不须提供任何自变量使前一个用NEW_DIALOG函数开启的对话框开始作用,直至操作表示式或回复函数呼叫DONE_DIALOG函数为止一般DONE_DIALOG与关键词accept(一般是按下确定按钮)或关键词cancel(一般是按下取消按钮)相关若传回值为1,表示使用者按下确定钮结束对话框;0表示按下取消钮;-1表示全部对话框都以TERM_DIALOG函数终止;大于1的整数,其意义由应用程序决定(UNLOAD_DIALOG "档案处理码")e.g. (UNLOAD_DIALOG DCL_ID)从内存释放档案处理码(经由LOAD_DIALOG函数取得)指定的对话框定义档函数传回值一定是NIL第2节对话框开启方式(DEFUN C:函数名称( )(SETQ 变量(LOAD_DIALOG "对话框定义档"))(NEW_DIALOG "对话框名称" 变量)(START_DIALOG) (UNLOAD_DIALOG 变数))程序说明:1以DEFUN函数定义程序的名称,使用LOAD_DIALOG函数加载指定的对话框定义档使用SETQ函数,将LOAD_DIALOG传回的档案处理码存入变量中,以方便其它函数使用2使用NEW_DIALOG,开启及显示定义文件中(档案处理码),指定的对话框3使用START_DIALOG函数,使对话框开始作用并接受使用者输入使用UNLOAD_DIALOG函数以结束对话框4关括号是对应第1行DEFUN函数左边的开括号,结束整个程序练习 (Exercises)编写一AutoLISP程序,以开启上一课所定义的对话框;并将该程序命名为RECT.LSP,存在C盘的根目录中,程序代码如下 :(DEFUN C:RECT()(SETQ DCL_ID (LOAD_DIALOG "C:/RECT.DCL"))(NEW_DIALOG "RECT" DCL_ID)(START_DIALOG) (UNLOAD_DIALOG DCL_ID))程序说明:1以DEFUN函数定义程序的名称为RECT,使用LOAD_DIALOG函数将对话框定义文件RECT.DCL 载入;使用SETQ函数,将LOAD_DIALOG传回的档案处理码存入变量DCL_ID中,以方便其它函数使用2使用NEW_DIALOG,开启及显示定义文件中(档案处理码)名称为RECT的对话框3使用START_DIALOG函数,使对话框开始作用并接受使用者输入(在本例中只有确定钮可按);使用UNLOAD_DIALOG函数以结束对话框4关括号是对应第1行DEFUN函数左边的开括号,结束整个程序第3节编辑框组件(edit_box)可供用户直接输入字符串的矩形方框;注意在编辑框中所显示及输入的数据均为字符串型态,而数字则要在取得编辑框的字符串内容后(在下一篇中介绍),使用AutoLISP函数将其转为数值型态的数据:edit_box//组件名称{ 属性="属性值" ;}属性label显示在编辑框前面(左边)的提示文字key其属性值即为使用该组件的关键词,使在AutoLISP程序中操控此组件;在同一个对话框定义中,不能有相同名称的关键词定义edit_limit指定在编辑框中,可输入字符串的最大字符长度edit_width指定编辑框显示时的阔度(通常与fixed_width属性一拼使用)value指定编辑框显示时,当中的默认值(注意显示数值数据时,要先用AutoLISP 函数将数据(或变量)转为字符串型态)fixed_width通常与width属性一拼使用,以固定编辑框显示时的阔度(其属性值可设定为true或false)is_enable可设定编辑框是否可以使用(其属性值可设定为true或false,默认值为true)alignment如果组件成水平方向排列,属性值可设定为left,right或centered如果组件成垂直方向排列,属性值可设定为top,bottom或centered(水平方向的默认值为left,垂直方向则为centered)其它属性action allow_accept fixed_height heightis_tab_stop mnemonic width第4节练习(Exercises)将上一课的RECT.DCL对话框定义档复制至RECT1.DCL,开启新的定义档并作如下的修改,使其可以输入四边形的阔度及高度;将AutoLISP程序文件RECT.LSP复制至RECT1.LSP,开启新的程序文件,并将要加载的对话框定义档改为RECT1(程序第1行);完成后即可加载及执行新的程序文件RECT:dialog{label="Rectangle" ;:edit_box//编辑框组件{label="Rectangle width : " ;key="RECT_W" ;edit_limit=16;edit_width=10;fixed_width=true;}:edit_box//编辑框组件{label="Rectangle heigth :" ;key="RECT_H" ;edit_limit=16;edit_width=10;fixed_width=true;}ok_only;}定义说明:1设定对话框的名称为RECT,紧接一个以冒号开始的组件dialog2最左边为dialog组件的开大括号,右边是其属性label,并以等号设定其属性值为"Rectangle",以分号结束此行叙述3edit_box为"编辑框"组件,组件名称前要加冒号4最左边为edit_box组件的开大括号,右边是其属性label,并以等号设定其属性值为"Rectangle width : ",最后以分号结束此行叙述5设定属性key的属性值为RECT_W(即设定此编辑框的名称)6设定属性edit_limit的属性值为16(即最多可以在编辑框中输入16个数字)7设定属性edit_width的属性值为10(编辑框只会显示10个字的长度)8设定属性fixed_width的属性值为true,表示表将编辑框以固定的阔度显示9关大括号是对应第4行的开大括号,这一对大括号同属于第3行的edit_box组件10至16与3至9行相似,设定另一个编辑框以输入高度的数据;只有属性label及key的属性值不同17以ok_only组件,在对话框中显示一个确定(OK)按钮,作为结束对话框之用18关大括号是对应第2行的开大括号,这一对大括号同属于第1行的dialog组件注意1在第一个编辑框(输入四边形的阔度)的label属性值中,在字符串最后的冒号后面,加多了一个空格,目的是方更与下一个编辑框对齐。

使用说明(配电箱系统图绘制程序)

使用说明(配电箱系统图绘制程序)

配电箱系统图绘制程序使用说明深圳市立方建筑设计顾问有限公司肖志敏(2010.11.01--2011.12.26)配电箱系统图绘制程序采用Lisp语言编制,用户按要求的格式绘制电力、照明平面图,运行配电箱系统图绘制程序,根据提示输入相关信息,即可自动完成该电力、照明平面图中配电箱系统图的绘制。

根据给出的出线回路开关整定值,自动选择开关、互感器值、电流表范围值、电缆截面,并自动编制回路号,省去了要查表的麻烦,而且不容易出错。

2012/4/26增加了B及EW系列接触器、KB0及MK1控制保护电器的选择及绘制。

一、设备元件选型为了统一同一工程中每个人设备元件的选型,可事先填写型号选择表,放在每一张图里面,系统图生成时会自动按该表进行选型,若无此表,会有对话框提示。

型号选择表XHXZ的标注方式见下拉菜单“电力”)。

目前支持的电气元件:塑壳开关:CM1、CKM33、NDM2、NM7、BGM8、BST、3VL。

接触器系列:B、EW。

控制保护电器:KB0、MK1。

电线电缆:BV、ZR-BV、NH-BV、YJV、NH-YJV、ZR-YJV、YJHLV、NH-YJHLV、ZR-YJHLV、WDCZA-YJY、NG-A、BTTZ。

二、照明箱配电系统图1、照明配电箱编号照明平面图中照明配电箱编号采用带属性块表达,程序会自动在图中搜索带属性块中照明配电箱编号并自动绘制系统图。

箱体标注分为单电源配电箱标注ALBZ和双电源配电箱标注ALEBZ(见下拉菜单“照明”)。

ALBZ标注:单电源进线动力配电箱采用ALBZ的标注方式(见下拉菜单“照明”),如下所示:注:“箱体名称”当为住宅户内配电箱时必须标注为“住宅配电箱”。

ALEBZ标注:双电源进线动力配电箱采用ALEBZ的标注方式(见下拉菜单“照明”),如下所示:注意:(1)同一个照明配电箱在图中只能标注一次!(2)回路编号、回路编号(常用)、回路编号(备用)标注时不填写,系统图生成时会自动填写。

Lisp学习笔记(一)——环境搭建

Lisp学习笔记(一)——环境搭建

Lisp学习笔记(⼀)——环境搭建 本篇介绍Lisp开发环境的搭建。

⽬录: 1.介绍 2.准备⼯作 3.搭建环境 4.Hello Lisp 5.参考资料1.介绍 LISP是⼀种通⽤⾼级计算机程序语⾔,长期以来垄断⼈⼯智能领域的应⽤。

LISP作为因应⼈⼯智能⽽设计的语⾔,是第⼀个函数式程序设计语⾔,有别于C、Fortran等命令式程序设计语⾔和Java、C#等⾯向对象语⾔。

Common Lisp和Scheme是Lisp家族的两⼤主要⽅⾔,通⽤性⽐较好,ELisp和AutoLisp只能在特定的环境下使⽤,所以不推荐。

下⾯以Common Lisp为例。

2.准备⼯作 推荐emacs+slime+sbcl搭建lisp开发环境。

1.Emacs编辑器。

下载emacs:/software/emacs/ 2.Slime,优秀的emacs和lisp的交互插件。

下载slime:https:///project/slime/ 3.Steel Bank Common Lisp(sbcl)是⼀个⾼性能的Common Lisp编译器。

下载sbcl:/3.搭建环境3.1.Windows 1.安装emacs和sbcl,解压slime到某⼀⽬录下。

2.修改emacs配置⽂件。

默认emacs配置⽂件在C:\Users\[⽤户名]\AppData\Roaming下的.emacs。

(如果此⽬录下没有此⽂件,⽽且windows不允许新建没有⽂件名的⽂件。

所以我们需要打开emacs编辑器,在菜单栏Options下随便勾选或者取消勾选⼀个选项,然后点击Save Options后,.emacs⽂件出现在默认⽬录中。

)(load-file "E:/emacs-24.5-bin-i686-mingw32/.emacs") //填写真正的emacs配置⽂件的路径。

也可以不写这段语句,直接写3中的配置语句。

3.修改E:/emacs-24.5-bin-i686-mingw32/.emacs配置⽂件(add-to-list 'load-path "E:/slime-master") //填写slime所在路径 (add-to-list 'load-path "C:/Steel Bank Common Lisp/1.3.0/") //填写sbcl的安装路径(sbcl.exe路径)(setq inferior-lisp-program "sbcl") //设置lisp程序为sbcl(require 'slime) //加载slime插件(slime-setup)(require 'slime-autoloads) //告诉Emacs当 M-x slime或 M-x slime-connect命令第⼀次执⾏之后,Slime的其它部分会被⾃动加载(slime-setup '(slime-fancy)) //加载slime扩展包3.2.MacOSX 1.通过Homebrew安装。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.TXGX-修正单行文字、多行文字或块属性的小数位。

2. (defun rtos2 (number mode n / st gst sn ln cn dn )函数:RTOS函数的增强版,将指定的数字字符串转换为指定小数位的数字字符串;st为要处理的字符串,n为要保留的小数位数。

3. 2PLI--显示二维多段线上各顶点的坐标值。

4. 3PLI--显示三维多段线上各顶点的三维坐标值。

5.AAPL--该程序主要用于绘制横断面图时计算填挖方面积。

6. (defun aa4p (x1 y1 x2 y2 x3 y3 x4 y4 /)函数:
给定四点计四点确定两直线之间的填挖方面积。

7. PLTR--将二维多段线顶点按相反顺序排列.
8. BBG-标注标高
9.SY2-拾取一个标高文本和一个点来设置坐标系.
10. MBG-制作标高块BG.
11.MBX-制作标高块BX.
12.MBXY-制作标高块BXY
13.GX-更新坐标标注.
14.M2T-多行文本转换为单行文本。

15. SY-拾取已标注好的标高块来设置坐标系.
16. BBX-标宽度
17. BXY—标坐标
18. SXY—根据标注好的坐标块设置坐标值。

19. RDTX2--拾取单行文本,多行文本的文本值。

20. GMT--规范化多行文字
(command "-style" "chbz" "isocp.shx,hhztxt.shx" "0" "0.7" "0" "N" "N")
21.GMT2--增强版的规范化文字
22. BR1 ---指定一点将所穿越的实体截断
23. BBR----指定两点将所穿越的实体截断.
24. BZWB----根据标注文字位置坐标,文字方向及标注文本字符串来进行文本标注
25. DMTR----将横断面图中的断面线转换为平面图中的三维点线。

26. EZ—将指定点标高设置为当前标高。

27. XZ-- 修改多段线的标高为指定的标高值。

28. xz2---
依次选定多段线,然后指定第一条多段线的标高值,后续多段线的标高依次加1米。

29. xz1----
依次选定多段线,然后指定第一条多段线的标高值,后续多段线的标高依次减1米。

30. HUCS----根据指定点的位置和坐标设置用户坐标系。

31. SUCS----根据指定的两点位置和坐标设置用户坐标系,坐标系会进行旋转。

32. IDXY----查询多点坐标,列表显示点坐标数据。

33. MMI----多次镜像多个对象。

34. DY2----批量打印图纸,可重新选择每个图纸的打印区域。

35. BP2----批量打印图纸,直接打印。

36. QA-指定封闭区域内的任意一点,计算该封闭区域的面积,可依次选择多个封闭区域,程序会自动累加。

37. RDBST----读取选中的带属性块中的属性,列表显示数据。

38. RDTX2----读阴选中的多个单行文本,多行文本的文本值。

39. SBH----将所选填充对象的属性,所选标注样式,所选文字样式置为当前.
40. SCM---将所选对象以指定基点按同一比例缩放.
41. SCXY----将所选对象以指定基点按X,Y方向不同比例缩放.
42. SLI2----查询所选对象的特性(包括子对象)
43. SLY-选择同所选对象同图层的所有实体.
44. SLA-选择同所选对象同类型的所有实体.
45. SLC-选择同所选对象同颜色的所有实体.
46. SLB-选择同所选对象同块名的所有实体.
47. SLT-选择同所选对象同字型的所有实体.
48. SLL-选择同所选对象同线型的所有实体.
49. spx1---(画示坡线-示坡线方向垂直于起终点方向)
50. TXTR----;裁剪或删除单行文字背后的其他对象,打印出图时使之不会影
响文字输出效果。

注:该程序目前只
;适用于左对齐的单行文字。

;判断一个是否为左对齐的单行文字
51. TO2P----将三维多义转变为二维多义线
52. TRDM----将平面图上的三维多义线转换为横断面图中的断面线。

53. ZHEDX----画折断线,要求指定两端延伸量及折断符号大小比例,再指定两点确定其位置.
;新增的CAD命令ZHEDX来实现
;yl为延伸量,hl为折断符号高,ll为折断符号长,bl为指定两点长度
54. batchplot.fas—CAD中的批量打印命令。

55. CAD断面绘图工具:加载这四个文件acad.fas,bz.fas,dm.fas,gcbz.fas才能使用。

CAD绘图工具中的命令使用说明:
ID_MnDuanMian [断面&P]
ID__4 [坐标原点转换]^C^C_YD
ID__3 [快速面积]^C^C_Qarea
ID__1 [快速延长]^C^C_Qlen
ID__2 [快速剪断]^C^C_Qtri
ID__5 [线条加粗]^C^C_EP
ID__12 [快速延伸]^C^C_QEX
ID__9 [以单点断开线条]^C^C_DBK
ID__0 [坐标分数式标注]^C^C_BZ
ID__10 [坡度比例式标注]^C^C_PD1
ID__11 [坡度百分式标注]^C^C_PD2
ID__31 [单点坐标分式标注]^C^C_BZD
ID__32 [高程标注]^C^C_BGC
ID__33 [桩号标注]^C^C_BZH。

相关文档
最新文档