autocaddcl源码(autocad c)
autocad lisp文件里的数据怎么传给dcl文件
dcl文件是AutoCAD的一种二次开发工具AutoLisp的程序文件。DCL(Data Control Language)是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。
与之相关的文件还有:
LSP — 包含 AutoLISP 程序代码的 ASCII 文本文件。
FAS — 单个 LSP 程序文件的二进制编译版本。
VLX 一个或多个 LSP 文件和/或对话框控制语言 (DCL) 文件的编译集。
CAD编写对话框时dcl文件如何加载
请参考AutoCAD自带autocaddcl源码的帮助文件和lsp教程autocaddcl源码,里面有很详细的例子。
autocad怎样调用dcl对话框?
转载过来 希望对你有用
对话框文件是扩展名为.dcl的文本文件,符合dcl对话框控制语言的语法。但对话框文件本身并不能工作,还必须要用autolisp或ads应用程序调用。
对话框由主对话框和其内部的各种片型框组成,其结构为数状。图1.1为一对话框结构示例,树叶是各种片型框,树根为dialog;图1.2为其在autocad中的显示。
在可编程对话框pdb中已预定义了以下基本片型框:
:dialog 对话
:button 按钮
:edit_box 编辑框
:list_box 列表框
:image_button 图像按钮
:popup_list 弹出表
:radio_button 单选按钮
:slider 滚动条
:toggle 开关
每个片型框包含一系列的属性,这些属性的值确定了片型框的位置、大小、长度、高度和文件标识等,例如lable属性确定了在片型框上显示的文字。用户可以根据dcl语法将这些基本的片型框组装起来,形成更为复杂,功能更为详尽的对话框,也可以定义与基本片型框无关的新片型框,并将其与基本片型框组合成新的片型框组。为了方便对话框的布局,可将一行或一列片型框当作一个新的片型框,并在其周围画上边框。对话框的基本布局有以下几种:
:column 列。定义,可以与行、列嵌套。
:row 行。片型框组按行平行分布,显示顺序同column,也可与行列嵌套。
:radio_column 单选列。包含一列单选片型框,同时只能选择一个片型框。
:radio_row 单选行。包含一行单选片型框,同时只能选择一个片型框。
:boxed_column 有界列。列的周围画上边框。
:boxed_row 有界行。行的周围画上边框。
:boxed_radio_column有界单选列。在单选列的周围画上边框。
:boxed_radio_row 有界单选行。在单选行的周围画上边框。
用户可以定义自己的属性,不过在一般情况下仅使用pdb预定义的属性就可以满足程序的要求了。当片型框中的属性未被指定时,pdb将赋于其缺省值。没片型框的预定义属性也各不相同,但布局属性和功能属性则是所有有效片型框的公共属性,这些公共属性是:
aligment 片型框的定位方式;
width height 片型框的宽度和高度;
fixed_width fixed_height 其值为true时,片型框大小固定不变;
children_aligment 子片型框的定位属性;
children_fixed_width 子片型框的宽度固定属性;
children_fixed_height 子片型框的固定高度属性;
label 显示在片型框内或左上方的文字;
key 指定程序引用片型框的文本字符串,在指定的对话框中,每个key的值应该是唯一的;
value 片型框的初始值,为一字符串;
mnemonic 片型框内快捷键,即带下划线的字母;
is_enabled 值为false时,片型框不可选;
is_tab_stop 值为false时,片型框不接受tab聚焦;
action 指定片型框时,对应的autolisp程序进行的操作。
另外,片型框还包括图像框image、文本框text和衬框spacer,这三种片型框只是起修饰作用和加强视觉效果,不能引起任何操作。
dcl文件采用c语言的风格,每个分号表示一名,每个片型框的定义用一对大括号括起来;注释在单行时用//,多行时可采用/*注释语句*/的形式。
下面以一个简单的例子说明dcl的编程,图2是调用example.dcl的显示。
//example.dcl对话框示例文件
test:dialog{
label="dialog example";
:text{//文本片型框
label="this is aexample.";
:button{//按钮片型框
key="accept";
//关键字key为accept
label="ok";//标号为ok
mnemonic="o";
//按alt_o键可以选择ok按钮
fixed_width=true;
//按钮的宽度固定不变
aligment=centered;
//按钮以中心对齐
is_default=true;
pdb在base.dcl中还提供了一组标准的按钮群,在我们自己的dcl文件中可以直接使用:
:ok_only单个ok按钮;
:lk_cancel ok按钮和cancel两个按钮;
:ok_cncel_help ok、cancel和help…三个按钮;
:ok_cncel_help_info ok、cancel、help…和info…四个按钮。
文本文件的对话框文件自身本身不能工作,需要用autolisp或ads应用程序调用对话框文件才行,ads的效率比较高,但掌握起来要困难一些,autolisp程序较为烦琐,但比较容易掌握。autolisp提供了一组管理对话框的函数包,处理用户与对话框之间的交互。下面是最重要的几个函数:
(load_dialog dclfile)用与装入一个dcl文件,返回一个整数标识。
(unload_dialog dcl_id)卸载标识为dcl_id的dcl文件。
(new_dialog dialog_name dcl_id)初始化对话框,并在屏幕显示对话框,其中dialog_name是在对话框文件中定义的对话框名称。
(start_dialog)启动对话框,并接受用户的输入信息。
(done_dialog)终止对话框信息的输入,并且停止显示对话框。
(action_tile key action_express)处理用户的选择,将片型框与应用程序中的对应操作联系起来,key是片型框的关键字。
下面的autolisp程序就是对上面的example.dcl对话框文件的管理:
;;;example.dcl管理example.dcl对话框文件的autolisp程序
(defun c:showdcl(/dcl_id)
(setq dcl_id (load_dialog"example.dcl"))
(if(not(new_dialog"test"dcl_id))
(exit))
(action_tile
"accept"
"(done_dialog)")
(start_dialog)
(unload_dialog dcl_id)
在autocad中显示图2对话框的过程如下:
command:(load"example.lsp")
c:showdcl
command:showdel
本文只是对对话框dcl作了简单的介绍,要想充分发挥autocad的潜能,掌握dcl对话框的编程,还需要参阅有关资料,详加研究。
cad中dcl文件是什么文件
dcl文件是AutoCAD的一种二次开发工具AutoLisp的程序文件。DCL(Data Control Language)是数据库控制语言。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。
与之相关的文件还有:
LSP — 包含 AutoLISP 程序代码的 ASCII 文本文件。
FAS — 单个 LSP 程序文件的二进制编译版本。
VLX 一个或多个 LSP 文件和/或对话框控制语言 (DCL) 文件的编译集。
autoCAD,LISP语言编辑的一个问题(DCL)
(action_tile "jishuan" "(jishuan)")
(action_tile "tupian" "(tupian)")
上面的是放在主程序里,即
按下 "jishuan" (计算按钮对应的 key 值),调用函数 (jishuan)
按下 "tupian" (查图按钮对应的 key 值),调用函数 (tupian)
(defun jishuan ( )
.......这里大概的代码就是取得输入的数据值,经过一系列运算后,将结果输出到对应的输入框
(defun tupian ( )
.....这里是查看图片的,依你对话框的情况而定,如果图片控件 image是在当前对话框,则直接用(start_image "tu") (slide_image X y w h sld) (end_image)来显示图片
若是你的图片控件是在另一个对话框中,则需要在此显示另一个对话框后,调用(start...)来显示图片
后缀dcl文件怎么在CAD中加载
如果autocaddcl源码你确定不是自己改过autocaddcl源码的文件名,可能是同类型软件生成的临时文件。其实,autocaddcl源码你可以先备份一个,然后将后缀名改成DWG查看一下,是不是CAD文件。
autocad都能打开什么格式的文件?
CAD可以打开的文件格式 :
DWG
AutoCAD创立的一种图纸保存格式autocaddcl源码,已经成为二维CAD的标准格式autocaddcl源码,浩辰CAD及很多其autocaddcl源码他CAD为了兼容AutoCAD,也直接使用DWG作为默认工作文件。
DXF
CAD的另一种图形保存格式,主要用于与其他软件进行数据交互。保存的文件可以用记事本打开,看到保存的各种图形数据。
DWT
CAD模板文件,可在新建图形时加载一些格式设置,除CAD提供的模板文件外,自己也可以创建符合自己需要的模板文件,可以直接替换CAD自带的模板文件,也可以重新命名。
DWF
用与网络交换的图形文件格式,可以用发布功能或DWF虚拟打印机输出,用CAD无法打开,但可以用AutoCAD提供的DWF浏览器查看。在AutoCAD高版本和浩辰CAD
2012中提供了DWF参考底图功能,可以将DWF作为底图插入到图纸中,并可以进行捕捉辅助定位其他图形。
DWL
打开图纸文件后记录打开的机器、用户、时间等信息,当其他人或应用程序打开时将提示相关信息,并通常只读打开,可以保证图纸不同时被两个人修改覆盖。图纸文件正常关闭后,DWL文件自动删除。
MNU、MNC、MNL、MNS
是CAD低版本使用的菜单文件,高版本也可以加载。其中MNU使用较多,是菜单的源代码,可以直接用记事本编辑,各类专业软件和插件通常利用MNU文件来加载菜单。
CUI
CAD高版本使用的自定义界面文件,可以在CAD和专用工具编辑,无法直接用记事本打开。AutoCAD和浩辰CAD高版本支持此类文件,在加载MNU文件后会自动生成CUI文件,
SHX
AutoCAD、浩辰CAD等CAD采用的字体文件,也叫形文件,其源码文件为*.SHP,可以自行定义后在AutoCAD中编译成SHX文件。SHX文件分三类,一类是符号形,保存了一些用于制作线型或独立调用的符号;一类是普通字体文件,支持字母、数字及一些单字节符号;一类是大字体文件,支持中文、日文、韩文等双字节文字。
PAT
AutoCAD、浩辰CAD等CAD采用的填充图案文件,纯文本文件,可以用记事本编辑。可以自己编写或将收集的PAT文件复制粘贴到CAD的填充目录或填充文件中。
LIN
AutoCAD、浩辰CAD等CAD采用的线型文件,可定义虚线\点划线等各种线型。纯文本文件,可以自己编写,收集的线型文件中线型可以直接浏览加载。
SCR
脚本文件,可批量执行保存命令,完成绘图工作。纯文本文件,可以手动编辑,也可以利用CAD的记录脚本功能记录操作过程。一些专业测绘软件利用脚本来绘制断面图或一些表格。
CTB
颜色相关打印样表,设置了每种索引色所对应打印输出的颜色、线宽及其他效果,是一种常用的控制打印输出的文件。CAD通常都附带了很多预设的打印样式表,有单色、灰度、彩色的,可以直接调用或简单做简单编辑。
STB
命名打印样式表,设置一些打印输出设置的样式,可以设置不同图层使用不同的打印样式。在早期版本和一些单位使用比较多,个人很少使用。
PCP
旧版本使用的打印设置文件。
PC3
打印机和绘图仪配置文件,是CAD中保存打印驱动及相关设置的文件
HDI
HDI(Heidi® 设备接口)驱动程序用于与硬拷贝设备进行通信。 这些驱动程序可分为三类autocaddcl源码:文件格式驱动程序、HDI 非系统驱动程序和 HDI
系统打印机驱动程序。
PLT
打印输出文件。如果使用打印机驱动时勾选“打印到文件”,将不直接输出到打印机,而是生成PLT文件,此PLT文件可以无需CAD就可以直接输出到打印机。一些设计单位统一出图或到打印社出图通常都输出为PLT文件,这样避免出现缺少字体、版本不兼容导致图纸显示和打印不正常。
DWS
图层标准文件,可保存一些图层定义及图层映射表,主要用于图层转换(laytrans)。浩辰CAD等软件不支持此格式,但可以将图层映射表保存为DWG文件,效果相同。
LAS
图层状态文件,可以将设置好的图层的开关、冻结、锁定等状态保存下来,以后需要时在当前图或其他图中加载恢复保存的状态。
LSP 、DCL、FAS、VLX
AutoCAD及浩辰CAD等的一种二次开发工具AutoLisp的程序文件,后续增加了一些对VBA控件的调用,并提供了编辑器,被称为Visual
lisp(Vlisp)。原始的LISP程序通常为纯文本文件,可以用CAD提供的工具编辑,也可以直接用记事本编写。LISP可以加密,加密后扩展名认为LSP,但无法用记事本打开,但仍可加载。FAS和VLX是经过编译和打包的文件
LSP — 包含 AutoLISP 程序代码的 ASCII 文本文件。
DCL — 用于编辑LSP程序使用的对话框的文件。
FAS — 单个 LSP 程序文件的二进制编译版本。
VLX 一个或多个 LSP 文件和/或对话框控制语言 (DCL) 文件的编译集。
DVB
AutoCAD针对VB提供的开发工具生成的文件,类似与WORD和EXCEL中的宏。浩辰CAD及其他软件无法加载DVB,只能加载VBI,但代码基本兼容,进入两款软件的VBA编辑器,将代码复制过来,简单编辑就能用。
ARX
AutoCAD这对C++提供的开发工具,现在一些复杂的程序通常使用ARX开发的,ARX程序的运行效率比较高。浩辰CAD等其他CAD也提供了类似ARX的接口:GRX。ARX程序通常都是编译过的,因此无法直接在不同版本的CAD中加载。
BAK
自动备份文件,通常在保存文件时,会将上次保存的文件修改成BAK格式,避免保存出错,可以直接将BAK改成DWG来恢复之前的版本。AutoCAD和浩辰CAD默认都会生成这个文件,在“选项”(OP)对话框的“打开和保存”选项卡中可以设置是否生成此文件。
SV$
自动保存文件,在“选项”对话框中可以设置自动保存的时间间隔,CAD会按此间隔自动对当前图纸进行保存,以防在编辑文件时出现异常。SV$通常会保存在系统的临时文件目录下,当然也可以在选项对话框执行设置。如果出现异常情况,可以用CAD提供的图形管理器直接绘图图纸,或者直接将找到的文件扩展名改回DWG打开。浩辰CAD等自动保存文件的恢复方法相同。
AC$
临时文件,在“选项”对话框中可以设置扩展名,我们在CAD中复制(CTRL+C)或剪切(CTRL+V)时会生成一个临时文件,这个临时文件等于记录剪切内容,可以复制粘贴到其他文件。临时文件通常保存在当前用户的临时文件夹下,也可以自己设置其他路径。如果临时文件路径不可写的话,就会导致无法复制粘贴。
ARG
配置文件,在CAD中设置好“选项”对话框的各类选项后,可以输出为*.arg文件,这样可以将配置分享给其他人。一些专业软件通常使用配置文件来加载自己的相关设置。
cad中怎样通过lisp调用dcl 详细点
查看AutoCAD的帮助中“acad_devXXX.chm”中的帮助说明中“Interacting with the Dialog Box from AutoLISP Code”的内容,有详细的调用说明。