Logo



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”的内容,有详细的调用说明。

  autocaddcl源码 


评论


最新评论