找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

AutoCAD 技巧

[复制链接]
101
发表于 2005-6-29 08:35:12 | 只看该作者
102
发表于 2005-6-29 12:12:01 | 只看该作者
AutoCAD 2000快捷命令的使用  
Http://www.cnzzlm.com 2003-3-22 11:06:48 狂沙工作室  
  
AutoCAD 是目前世界各国工程设计人员的首选设计软件,简便易学、精确无误是AutoCAD成功的两个重要原因。AutoCAD提供的命令有很多,绘图时最常用的命令只有其中的百分之二十。采用键盘输入命令时由于有些常用命令较长,如 BHATCH(填充)、EXPLODE(分解),在输入时击键次数多,影响了绘图速度。虽然AutoCAD 提供了完善的菜单和工具栏两种输入方法,但是要提高绘图速度,只有掌握Auto CAD提供的快捷的命令输入方法。  
笔者在进行AutoCAD设计、培训和教学研究时,对于快捷命令的使用和管理积累了一些体验,现总结出,以供大家使用AutoCAD 2000时参考。  
一、概述:  
所谓的快捷命令,是AutoCAD为了提高绘图速度定义的快捷方式,它用一个或几个简单的字母来代替常用的命令,使我们不用去记忆众多的长长的命令,也不必为了执行一个命令,在菜单和工具栏上寻寻匿匿。所有定义的快捷命令都保存在AutoCAD安装目录下SUPPORT子目录中的ACAD.PGP文件中,我们可以通过修改该文件的内容来定义自己常用的快捷命令。  
当我们每次新建或打开一个AutoCAD绘图文件时,CAD本身会自动搜索到安装目录下的SUPPORT路径,找到并读入ACAD.PGP文件。当AutoCAD正在运行的时候,我们可以通过命令行的方式,用ACAD.PGP文件里定义的快捷命令来完成一个操作,比如我们要画一条直线,只需要在命令行里输入字母“L”即可。  
二、快捷命令的命名规律  
1、 快捷命令通常是该命令英文单词的第一个或前面两个字母,有的是前三个字母。  
比如,直线(Line)的快捷命令是“L”;复制(COpy)的快捷命令是“CO”;线型比例(LTScale)的快捷命令是“LTS”。  
在使用过程中,试着用命令的第一个字母,不行就用前两个字母,最多用前三个字母,也就是说,AutoCAD的快捷命令一般不会超过三个字母,如果一个命令用前三个字母都不行的话,只能输入完整的命令。  
2、 另外一类的快捷命令通常是由“Ctrl键 + 一个字母”组成的,或者用功能键F1~F8来定义。比如Ctrl键+“N”,Ctrl键+“O”,Ctrl键+“S”,Ctrl键+“P”分别表示新建、打开、保存、打印文件;F3表示“对象捕捉”。  
3、 如果有的命令第一个字母都相同的话,那么常用的命令取第一个字母,其它命令可用前面两个或三个字母表示。比如“R”表示Redraw,“RA”表示Redrawall;比如“L”表示Line,“LT”表示LineType,“LTS”表示LTScale。  
4、 个别例外的需要我们去记忆,比如“修改文字”(DDEDIT)就不是“DD”,而是“ED”;还有“AA”表示Area,“T”表示Mtext, “X”表示 Explode。  
三、快捷命令的定义  
全面已经提到,AutoCAD所有定义的快捷命令都保存ACAD.PGP文件中。ACAD.PGP是一个纯文本文件,用户可以使用ASCⅡ文本编辑器(如DOS下的EDIT)或直接使用WINDOWS附件中的记事本来进行编辑。用户可以自行添加一些Auto CAD命令的快捷方式到文件中。  
通常,快捷命令使用一个或两个易于记忆的字母,并用它来取代命令全名。快捷命令定义格式如下:  
快捷命令名称, * 命令全名  
如: CO , * COPY  
即键入快捷命令后,再键入一个逗号和快捷命令所替代的命令全称。AutoCAD的命令必须用一个星号作为前缀。  
  
【参考文献】  
陈通等,《AutoCAD 2000中文版入门与提高》,清华大学出版社,2000年7月出版  
附:常见的快捷命令  
(一)字母类  
1、对象特性  
ADC, *ADCENTER(设计中心“Ctrl+2”)  
CH, MO *PROPERTIES(修改特性“Ctrl+1”)  
MA, *MATCHPROP(属性匹配)  
ST, *STYLE(文字样式)  
COL, *COLOR(设置颜色)  
LA, *LAYER(图层操作)  
LT, *LINETYPE(线形)  
LTS, *LTSCALE(线形比例)  
LW, *LWEIGHT (线宽)  
UN, *UNITS(图形单位)  
ATT, *ATTDEF(属性定义)  
ATE, *ATTEDIT(编辑属性)  
BO, *BOUNDARY(边界创建,包括创建闭合多段线和面域)  
AL, *ALIGN(对齐)  
EXIT, *QUIT(退出)  
EXP, *EXPORT(输出其它格式文件)  
IMP, *IMPORT(输入文件)  
OP,PR *OPTIONS(自定义CAD设置)  
PRINT, *PLOT(打印)  
PU, *PURGE(清除垃圾)  
R, *REDRAW(重新生成)  
REN, *RENAME(重命名)  
SN, *SNAP(捕捉栅格)  
DS, *DSETTINGS(设置极轴追踪)  
OS, *OSNAP(设置捕捉模式)  
PRE, *PREVIEW(打印预览)  
TO, *TOOLBAR(工具栏)  
V, *VIEW(命名视图)  
AA, *AREA(面积)  
DI, *DIST(距离)  
LI, *LIST(显示图形数据信息)  
2、绘图命令:  
PO, *POINT(点)  
L, *LINE(直线)  
XL, *XLINE(射线)  
PL, *PLINE(多段线)  
ML, *MLINE(多线)  
SPL, *SPLINE(样条曲线)  
POL, *POLYGON(正多边形)  
REC, *RECTANGLE(矩形)  
C, *CIRCLE(圆)  
A, *ARC(圆弧)  
DO, *DONUT(圆环)  
EL, *ELLIPSE(椭圆)  
REG, *REGION(面域)  
MT, *MTEXT(多行文本)  
T, *MTEXT(多行文本)  
B, *BLOCK(块定义)  
I, *INSERT(插入块)  
W, *WBLOCK(定义块文件)  
DIV, *DIVIDE(等分)  
H, *BHATCH(填充)  
3、修改命令:  
CO, *COPY(复制)  
MI, *MIRROR(镜像)  
AR, *ARRAY(阵列)  
O, *OFFSET(偏移)  
RO, *ROTATE(旋转)  
M, *MOVE(移动)  
E, DEL键 *ERASE(删除)  
X, *EXPLODE(分解)  
TR, *TRIM(修剪)  
EX, *EXTEND(延伸)  
S, *STRETCH(拉伸)  
LEN, *LENGTHEN(直线拉长)  
SC, *SCALE(比例缩放)  
BR, *BREAK(打断)  
CHA, *CHAMFER(倒角)  
F, *FILLET(倒圆角)  
PE, *PEDIT(多段线编辑)  
ED, *DDEDIT(修改文本)  
4、视窗缩放:  
P, *PAN(平移)  
Z+空格+空格, *实时缩放  
Z, *局部放大  
Z+P, *返回上一视图  
Z+E, *显示全图  
5、尺寸标注:  
DLI, *DIMLINEAR(直线标注)  
DAL, *DIMALIGNED(对齐标注)  
DRA, *DIMRADIUS(半径标注)  
DDI, *DIMDIAMETER(直径标注)  
DAN, *DIMANGULAR(角度标注)  
DCE, *DIMCENTER(中心标注)  
DOR, *DIMORDINATE(点标注)  
TOL, *TOLERANCE(标注形位公差)  
LE, *QLEADER(快速引出标注)  
DBA, *DIMBASELINE(基线标注)  
DCO, *DIMCONTINUE(连续标注)  
D, *DIMSTYLE(标注样式)  
DED, *DIMEDIT(编辑标注)  
DOV, *DIMOVERRIDE(替换标注系统变量)  
(二)常用CTRL快捷键  
【CTRL】+1 *PROPERTIES(修改特性)  
【CTRL】+2 *ADCENTER(设计中心)  
【CTRL】+O *OPEN(打开文件)  
【CTRL】+N、M *NEW(新建文件)  
【CTRL】+P *PRINT(打印文件)  
【CTRL】+S *SAVE(保存文件)  
【CTRL】+Z *UNDO(放弃)  
【CTRL】+X *CUTCLIP(剪切)  
【CTRL】+C *COPYCLIP(复制)  
【CTRL】+V *PASTECLIP(粘贴)  
【CTRL】+B *SNAP(栅格捕捉)  
【CTRL】+F *OSNAP(对象捕捉)  
【CTRL】+G *GRID(栅格)  
【CTRL】+L *ORTHO(正交)  
【CTRL】+W *(对象追踪)  
【CTRL】+U *(极轴)  
(三)常用功能键  
【F1】 *HELP(帮助)  
【F2】 *(文本窗口)  
【F3】 *OSNAP(对象捕捉)  
【F7】 *GRIP(栅格)  
【F8】 *ORTHO(正交)
  
  
103
发表于 2005-6-29 12:12:18 | 只看该作者
AutoCAD 高级技巧
1.AutoCAD的图形格式为.dwg,也可导出为.bmp及 .wmf 或.eps、 .dxf、 .3ds,如果用render命令可存为 .pcx、 .tga、 .tif格 式,AutoCAD还可将文件直接存为这几种格式,要为系统装一个名为 “Raster file export”的打印机,用它打印到文件,ACAD2000还可 将文件存为JPG格式。
2.render 进行着色时,render无关闭按钮,用户可用: (arxunload "render"),因为它是ARX文件扩展的功能。
3.dimzin系统变量最好要设定为8,这时尺寸标注中的缺省值不会 带几个尾零,用户直接接受缺省值十分方便快捷。
4.如遇到快捷键失效,如^o失去作用,变为正交模式切换的情况, 请用menu将当前使用菜单的.mnu菜单源文件重装一遍即可。
5.在多行文字(mtext)命令中使用Word97编辑文本。 Mtext多行 文字编辑器是AutoCAD R14中的新增功能,它提供了Windows文字处理 软件所具备的界面和工作方式,它甚至可以利用Word97的强大功能编 辑文本,这一功能可以用如下方法实现: 打开“Tools”菜单选“Preferences” 命令,“Preferences”对话 框弹出后,打开“Files/Text Editor,Dictionary,and Font File Name/Text Editor Application/Internal”,双击“Internal”, 出现“Select a file”对话框,接着找到“Winword.exe”应用程序 文件,击“打开”钮,最后单击“OK”返回。完成以上设置后,用户 如再使用mtext命令时系统将自动调用我们熟悉的Word97应用程序, 为AutoCAD中的文本锦上添花。
6.巧用工具按钮自定义。AutoCAD中有许多lsp文件能为我们提供非 常实用的命令,如chtext.lsp就是一个很好的文字修改命令,尤其适 用于大批文字的修改,但在使用这样的命令之前必须先把lsp文件载 入。一般你可以通过选取“Tools”菜单中“Load Application ...” 选项,再利用对话框打开AutoCAD R14/Support下的Chtext.lsp文 件,然后击 “Load”钮,或者也可以直接在命令行中键入“(load “chtext”)” 以达到载入的目的,如此做总有些繁琐。下面我们 用自定义工具按钮的方式解决这个问题,右击任意工具钮,弹出 “Toolbars”对话框,击“Customize...”钮,在“Categories:” 中选“Custom”项,将出现的空按钮拖到工具条中目标位置,击 “Close”钮返回,接着右击空按钮,出现“Button Properties”对 话框,在“Name:”栏中为命令钮命名,“Help:”栏中你可写入或 不写入内容,然后在“Macro:”中键入“(load “chtext”) cht”,至于“Button Icon",用户可选系统提供的图标,也可以点 “Edit...”自行绘制或者直接调用已有的bmp文件,最后点 “Apply”钮并依次关闭对话框返回。这样你自己的工作按钮就做成 了。由于在后面增加了“cht”(注意:前面要有空格),所以你只 要按下工具钮便可以直接去选择要编辑的目标文件。
7.“Stretch”命令也是一个常用命令,但输入命令后,系统总要提 示“select object to stretch by crossing_window or crossing_polygon...”,要求你再输入一个“C”后才能用鼠标去选 择目标。为了使操作简化,用户只需将系统提供的工具按钮做些小小 的修改即可。右击任意工具按钮弹出“Toolbars”对话框,再右击 “stretch”工具钮弹出“Button Proporties”对话框,在 “Macro:”框中的“^c^c_stretch”后键入空格和“C”。以后你再 点击处理后的工具钮就可以直接选择目标进行操作。
8.AutoCAD R14用户通常均采用系统给出的缺省格式存盘,这种格 式存盘的缺点是文件所占空间大,不能用低版本的应用程序(如: AutoCAD R12、AutoCAD R13)打开,为避免磁盘空间的浪费,你可以 在“Save Drawing As”对话框的“保存类型”中选“AutoCAD R12 /LT2 Drawing”格式存盘。例如:同一dwg文件用两种方式存盘,它 们的大小分别是87KB、58KB。可见差别还是很可观的。而且后者文件 可以在R12、R13版本的应用程序中打开。这种方法对配置较低的用户 尤为实用。
9.有时在打开dwg文件时,系统弹出“AutoCAD Message”对话框提 示“Drawing file is not valid”,告诉用户文件不能打开。这种 情况下你可以先退出打开操作,然后打开“File”菜单,选 “Drawing Utilities/Recover”命令,或者在命令行直接用键盘输 入“recover”,接着在“Select File” 对话框中输入要恢复的文 件,确认后系统开始执行恢复文件操作。
10.汉化菜单。将support目录下的acad.mnu文件复制为 chinese.mnu。用写字板打开chinese.mnu。仔细观察会发现其中有许 多类似“***POP”的条目,每一条目定义了一列下拉菜单。将引 号中的英文命令名称改为中文,存盘退出。再在R14中输入“menu” 命令,将chinese.mnu菜单文件装入,下拉菜单就变成了中文。还可 以再装入acad.mnu 文件将菜单还原。
11.R14默认的“命令取消”键是“ESC”键,如果你已经习惯了R12 的“Ctrl+C”怎么办呢?点击菜单Tools preferences compatibility priority for accelerator keysautoCAD classic,然后就可以用“Ctrl+C”取消命令了,同时“ESC”键仍 然有效。
  
12.trim命令中提示选取要剪切的图形时,不支持常用的window和 crossing选取方式。当要剪切多条线段时,要选取多次才能完成。这 时可以使用fence选取方式。当trim命令提示选择要剪除的图形时, 输入“f”,然后在屏幕上画出一条虚线,回车,这时被该虚线接触到 的图形全部被剪切掉。
13.单击“Object Propertys”工具条上的“Make objects' layer current”按钮,然后在作图区选择要去的图层上的任一图形,当前 层立刻变换到选取的图形所在层。
  
14.用R14打开R12的文件时,即使正确地选择了汉字字形文件,还是 会出现汉字乱码,原因是R14与R12采用的代码页不同。可到AutoDesk 公司主页下载代码页转换工具wnewcp。运行wnewcp 后,首先选中 “R11/R12”复选框,再单击“Browse”按钮,选择要转换的文件或 目录,然后选择新的代码页,ANSI936或GB2312均可,单击“Start Conversion”即开始转换。转换后,在R14中就能正确地显示汉字。
15.AutoCAD中ACAD.pgp文件十分重要,它记录命令缩写内容,用户 可自定义它们,格式如下:<命令缩写> *命令名称。也可定义系统命 令,AutoCAD R14提供了sh命令,可执行DOS命令,但在Windows下作 用不大。
  
6.AutoCAD R14中用NOTEPAD、EDIT、DIR、DEL等系统命令,笔者认 为其中NOTEPAD对自定义CAD用途较大,但使用起来会发现屏幕一闪 (进了DOS),又返回,十分让人不愉快,让我们来编一个小程序,取 名为
note.lsp:
(defun c:notepad()
(startapp "notepad")
)
先将ACAD.pgp中的NOTEPAD命令定义行删除,重入CAD后,再将此程序 用命令:(load "note")装入,下一次用NOTEPAD命令会有更好效 果,最好将(load "note")加入Support子目录下的ACADR14.lsp 中。
17.AutoCAD R14中打印线宽可由颜色设定,这样机械制图中的各种 线型不同、线宽不同的线条可放入不同的层,在层中定义了线型和颜 色,而在打印设置中设定线型与颜色的关系,效果良好。
18.AutoCAD R14的Support中ACAD.dwt为缺省模板,要好好加工它, 把常用的层、块、标注类型定义好,再加上标准图框,可省去大量重 复工作。
19.AutoCAD中有不少外部Lisp命令文件,可以直接观察它们,如果 学习开发Lisp应用程序,注意:R14可是最后一版Lisp文件内容公开 的AUTOCAD,在CAD2000中Lisp文件内容是加密的(笔者正在研究解密 程序)。
20.AutoCAD二次开发工具很多,Lisp早就有了,R11提供了ADS (Acad Develop system),R12中提供了ADS对实模式下C编译器(如 BC,MS C)的支持,R13提供ARX(Acad Runtime eXtend),R14提供了 VB Automation,这个Automation使VB编写CAD程序成为可能,渴望 CAD编程的人有了一个最好的选择,不必学习ADS、ARX、Object ARX,和AutoLisp,一起加入AutoCAD编程的世界。
21.用户自定义的Lisp文件一定要自动装入AutoCAD,这样就需要在 acadr14.lsp中加入用户Lisp文件的装入语句,acadr14.lsp(早期版 本为acad.lsp),好似DOS的Autoexec.bat,一定要好好利用,在其 中如定义了名为S::STARTUP()的函数可自动运行它(给CAD加个 启用画面如何,可用STARTUP加startapp函数,也可加登录密码)。
22.将AutoCAD中的图形插入WORD中,有时会发现圆变成了正多边 形,用一下VIEWRES命令,将它设得大一些,可改变图形质量。
23.形如?30H11( )的标注如何去标注呢,请在文本内容中输入“%% c30{H11(}{H0.7x;S+0.1^-0.2;})”,可以实现,如嫌太麻烦,就 编个程序来简化操作。
24.AutoCAD中文件可当作块插入其他文件中,但这样一来过多的块 使文件过于庞大,用PURGE来清除它们吧,一次清一层,一定要多用 几次呀!
25.AutoCAD R14的帮助文件内容十分丰富,由很多本“书”组成, 一层层打开,多看它们用处是很大的,其中包括了CAD的各方面,比 任何CAD大全还全,你是否想您的帮助加入其中,请修改acad.cnt, 加入自己帮助的链接。
  
26.在CAD中可按规定编定.ahp的CAD帮助文件,在R14下用 ahp2hlp.exe将其转变为.hpj的文件和 .rtf的文件,再用 HelpWorkshop工具(在VC5中有)将其项目打开,编译为.hlp文件。
27.在AutoCAD中有一些DOS下的exe文件在R14中仍有用途,用 Slidelib.exe可将幻灯片作库,mc.exe可实现菜单的编译。
28.在作完零件图进行组装时,可将零件图块插入后焊开,再用 group成组后组装,这时用ddselect命令控制组选取处于何种状态, 取消组选取时可将组内成员删除、剪切、修改,要移动零件时再打开 组状态。
29.在AutoCAD中的菜单源文件为.mnu文件,将其修改可将自己的命 令加入菜单中,再用menu命令装入,可参加AutoCAD帮助了解菜单文 件格式。图标工具条中加入自己的命令相对简单,可在工具条上点右 键,在toolbar对话中,点new按钮,输入工具条后,一个新工具条产 生,再选Customize按钮,选定custom,将空按钮拖入工具条中,再 在空按钮上按右键,这样就可定义自己的按钮图标和命令。
30.AutoCAD的状态行也可自定义,用DIESEL语言可以访问它,最简 单的方法用modemacro命令,后输入$(getvar,clayer),以后当前层 名就显示在状态行上,用户化可谓无孔不入吧!
31.AutoCAD的图形格式为.dwg,也可导出为.bmp及 .wmf 或.eps、 .dxf、 .3ds,如果用render命令可存为 .pcx、 .tga、 .tif格 式,AutoCAD还可将文件直接存为这几种格式,要为系统装一个名为 “Raster file export”的打印机,用它打印到文件,ACAD2000还可 将文件存为JPG格式。
32.render 进行着色时,render无关闭按钮,用户可用: (arxunload "render"),因为它是ARX文件扩展的功能。
33.dimzin系统变量最好要设定为8,这时尺寸标注中的缺省值不会 带几个尾零,用户直接接受缺省值十分方便快捷。
34.如遇到快捷键失效,如^o失去作用,变为正交模式切换的情况, 请用menu将当前使用菜单的.mnu菜单源文件重装一遍即可。
35.在多行文字(mtext)命令中使用Word97编辑文本。 Mtext多行 文字编辑器是AutoCAD R14中的新增功能,它提供了Windows文字处理 软件所具备的界面和工作方式,它甚至可以利用Word97的强大功能编 辑文本,这一功能可以用如下方法实现: 打开“Tools”菜单选“Preferences” 命令,“Preferences”对话 框弹出后,打开“Files/Text Editor,Dictionary,and Font File Name/Text Editor Application/Internal”,双击“Internal”, 出现“Select a file”对话框,接着找到“Winword.exe”应用程序 文件,击“打开”钮,最后单击“OK”返回。完成以上设置后,用户 如再使用mtext命令时系统将自动调用我们熟悉的Word97应用程序, 为AutoCAD中的文本锦上添花。
  
36.在AutoCAD中有时有交叉点标记在鼠标点击处产生,用BLIPMODE命 令,在提示行下输入OFF可消除它。
37.有的用户使用AutoCAD时会发现命令中的对话框会变成提示行,如 打印命令,控制它的是系统变量CMDDIA,关掉它就行了。
38.椭圆命令生成的椭圆是以多义线还是以椭圆为实体是由系统变量 PELLIPSE决定,当其为1时,生成的椭圆是PLINE。
39.CMDECHO变量决定了命令行回显是否产生,其在程序执行中应设为0。
40.DIMSCALE决定了尺寸标注的比例,其值为整数,缺省为1,在图形 有了一定比例缩放时应最好将其改为缩放比例。
41.BREAK将实体两点截开,在选取第二点时如用“@”来回答,可由 第一点将实体分。
42.CAD的较高版本中提供了形位公差标注,但圆度及同轴度中的圆不 够圆,其实,AutoCAD中常见符号定义都在AutoCAD安装目录下 SUPPORT子目录下的gdt.shp文件中,其中2号和4号字符定义了圆形的 形状,圆的弧度竟为127°,但不太好改正之(如改为90°更不好看) 。
  
43.空心汉字字形如使用AutoCAD R14中的BONUS功能(一定要完全安 装AutoCAD,或自定义安装时选了它),有一个TXTEXP命令,可将文 本炸为线,对做立体字十分有用。
44.AutoCAD R14的BONUS中有一个ARCTEXT命令,可实现弧形文本输 出,使用方法为先选圆弧,再输入文本内容,按OK。
45.BONUS中还有一个有用的命令,即MPEDIT,用它将多个线一齐修 改为多义线,再改它的线宽。
46.image命令在R14中代替了R13中的BMPIN、PCXIN之类命令,它将 位图嵌入文件中,只用来显示,如炸开就成了空框架,如何使PCXIN 等命令重现?请将R13安装目录下的RASTERIN.EXE拷入R14下,用 appload将其装入,然后就可以将位图导入(可编缉,可炸开)了。
47.BREAK命令用来打断实体,用户也可以一点断开实体,用法是在 第一点选择后,输入“@”。常用一条线一段为点划线,另一段为实 线时。
48.AutoCAD R14中提供了大量的命令缩写,许多R13中无缩写的命令 也有了缩写,如:A:ARC, B:Bmake, C:Circle, Z:zoo,可大量使用 之,使用后会发现比鼠标点取快(尤其在1s输5个字符的速度 下)。AutoCAD R14大量扩充了简化命令,不仅增加了以首字母简化 的命令(这里不列出),而且增加了用前两个字母简化的命令,常用 的如:array、copy、dist、donut、dtext、filter、mirror、 pline、rotate、trim、scale、snap、style、units等,更加提高了 用键盘输入命令的速度,对熟悉键盘的朋友来说简直是如虎添翼。
49.AutoCAD R14的命令缩写也可用在R13,方法是将AutoCAD R14下 Support子目录下的ACAD.pgp拷贝至AutoCAD R13的Support子目录 下。
104
发表于 2005-6-29 12:12:31 | 只看该作者
AutoCAD的新发现  
Http://www.cnzzlm.com 2003-3-22 11:22:19 狂沙工作室  
  
随着CAD在各行各业中的应用,掌握它的人也愈来愈多,随着使用时间的增加,每个CAD的使用人员都会有自己的一些技巧,但在公开的技术资料中没有提及的一些技巧则没有引起人们的重视。在一个偶然的机会里,我发现了AutoCAD R14中的三个小技巧,现把它介绍给你,也许会给你带来许多方便。  
  
  “↑”、“↓”键的使用  
  
  大家都知道在DOS中上、下箭头键的作用,如果运行了DOSKEY则它能记住你输入的每一条命令,再次使用相同的命令时用不着再敲一遍,用上、下箭头键选择即可。在AutoCAD中也同样可以用上、下箭头键选择以前键入的命令。这在输入文本时最为有用,无论是TEXT或DTEXT命令,均可在输入文字时使用上、下箭头键来减少命令的输入量。当然,AutoCAD记录的行数是有限的,但可通过设置来加大它的记录量,步骤是选取[Tools(工具)]→[Preferences...(参数选择)]→[Display(显示)],在[Text window parameters(文字窗口参数)]框中的第二行“Number of line of text in text windows to keep in memory”(在内存中保留文字窗口的文字行数)即为设置记录的行数,输入的数值越大则记录的越多,但如果机器内存少,那么还是少设置一些为妙,以免出意外,它的值在25和2048之间,本人的机器为128M内存,已将此值设为2048,倒也没出差错,大家可以根据自己的计算机多试几次,找到合适的数值。为了所选择的命令都是有效的,在使用AutoCAD时应尽量减少从键盘输入重复及无意义的命令,比如层对话框的调入和Undo命令的使用,能调用菜单最好调用菜单。  
  
  “!”键的使用  
  
  “!”键也有用?是的,下面我来具体讲个例子来介绍它的用法。  
  
  假设屏幕上有一条已知长度的线(指单线、多义线,未知长度当然也可以),且与水平方向有一定的角度,要求将它缩短一定的长度且方向不变,我想每个CAD使用人员都会有自己的方法(您不会要旋转坐标系吧?),但我想所用命令都不会少于三条,而用“!”作为辅助命令则用一条命令即可,操作过程如下:  
  
  在“Command:”状态下,直接选取该线,使其夹点出现,将光标移动到要缩短的一端并激活该夹点,使这条线变为可拉伸的皮筋线,将光标按该线的方向移动,使皮筋线和原线段重合,移动的距离没有限制,有人觉得移动的方向不能和原来一样那么就用辅助点捕捉命令,在屏幕提示后输入“near”并按空格键,这时屏幕上会有提示以捕捉到原来线段上的某一点,此时在“near to”的提示后输入“!XX”(XX为具体数值)后回车,该线的长度就改变了。怎么样!不信的话就在此命令执行前后用list命令看看此线段的长度。  
  
  找回字体  
  
  用AutoCAD画图的人最烦的就是从别处拷来的图在本机找不到相应的字体,从而出现各式各样的乱码,造成找不到字体的原因是别人使用的字体存放位置和自己机器中的位置不一样,一般的解决办法是重新定义,但有时这种办法并不总是有效,并且在此过程中还可能造成意外错误而使AutoCAD崩溃,更可能造成图形文件被毁。本人在一次偶然的机会中用另外一条AutoCAD命令达到了一举两得的目的,即用修复(recover)命令。先运行AutoCAD,选取文件菜单中的“recover”命令,选取要处理的图形,进行修复,在修复过程中会出现要求选取字体的对话框,此时即可点取正确的字体文件以重新定义,修复完毕后文字即可正常显示。有一点我要提醒大家,如果图形文件使用的中文是非GB编码的字体文件,则你要有相应的字体文件才可正常显示出文字。
  
   
  
105
发表于 2005-6-29 12:12:43 | 只看该作者
AutoCAD二次开发程序的自动安装处理  
Http://www.cnzzlm.com 2003-3-18 0:27:04 狂沙工作室  
  
AutoCAD的二次开发主要涉及以下内容:
(1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。
(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。
(3)在系统的ACAD.LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。
(4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。为此笔者用VC++开发了一套自动安装程序,使原本需要五、六分钟的人工操作在十几秒内即可自动完成。  
一、 基本思路  
整个安装程序遵循以下思路:  
1) 首先获得所在机器AutoCAD2000系统的安装路径;  
2) 寻找菜单文件AutoCAD2000\\support\\acad.mnu,打开文件并将要添加的内容加至末尾;  
3) 寻找LISP文件AutoCAD2000\\support\\acad2000doc.lsp,打开文件并将要添加的内容加至末尾;  
4) 创建一个预先命名的子目录,将所有二次开发形成的各类文件拷入;  
5) 给出信息框,告知安装成功,如有问题则告知安装失败。  
需要指出的是,在添入acad2000doc.lsp的内容中须有如下语句:  
(command“_menu”(strcat (getvar "menuname") ".mnu")),目的是为了强制执行菜单文件装入命令,将改动后的acad.mnu文件编译后装入。  
另外,在添入acad2000doc.lsp的内容中还有一赋值语句,将准备创建的包含所有二次开发生成文件的子目录全路径名赋予一全局变量,以供二次开发程序在需要时调用,从而避免了在AutoCAD环境下交互设定路径的麻烦。  
二、 实现方式及关键函数  
为获得AutoCAD2000的安装路径,需要利用WINDOWS系统注册表的有关功能。  
首先通过RegOpenKey函数打开注册表:  
HKEY hKey;  
LONGret=RegOpenKey( HKEY_LOCAL_MACHINE, "Software\\Autodesk\\AutoCAD\\R14.0\\ACAD-1:804", [$hKey)]  
其中第一参数HKEY_LOCAL-MACHINE为注册表中预定义的主键句柄,第二参数为注册表中HKEY_LOCAL_MACHINE下的子键内容,第三参数hKey将返回一子键句柄,用于接下来的键值查询。若该函数运行成功,将返回一长整型数ERROR_SUCCESS。  
接下来利用RegQueryValueEx函数进行键值查询:  
DWORD dwType=REG_SZ;  
BYTE szData[100];  
DWORD dwSize=sizeof(szData);  
If (ret=ERROR_SUCCESS)  
ret=RegQueryValueEx(hKey, "AcadLocation", 0, [$dwType, szData, &dwSize)]  
其中第一参数hKey为由RegOpenKey函数获得的欲查询的子键句柄;第二参数“AcadLocation”为欲查询的键值名;第三参数为保留项,要求添0;第四参数为键值数据类型;第六参数为键值缓冲器容量;最关键的是第五参数szData,欲查询的键值结果将由其带回,该键值即为所需要的AutoCAD2000的安装路径。  
以上涉及到的有关注册表中主键、子键、键值名、及键值的关系可通过下列方法由WINDOWS系列注册表查出:单击“开始”――“运行”――添入“regedit”――“确定”――“HKEY_LOCAL_MACHINE”――“Software”――“Autodesk”――“Autocad”――“R15.0”――“ACAD-1:804”――“AcadLocation”――“e:\autocad2000”。其中的键值名“AcadLocation”所对应的键值为“e:\autocad2000”,就是AutoCAD2000的安装路径,在不同的机器上可能内容不同。  
键值查询函数若运行成功,将返回长整型数ERROR_SUCCESS。  
下面可利用szData带回的路径名与已知路径名组合成全路径从而打开菜单文件acad.mnu添加内容:  
char szRootName[100]=\\support\\acad.mnu;  
if (ret=ERROR_SUCCESS)  
1strcat((char*) szData, szRootName);  
现在szData中装有acad.mnu的全路径,以下操作将打开该文件并添入内容:  
HANDLE hfile=CreateFile((char*) szData, GENERIC_READ|GENERIC_WRITE, 0,  
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);  
If(hfile!=INVALID_HANDLE_VALUE)  
{  
if (0xFFFFFFFF!=SetFilePointer(hfile, 0, NULL, FILE_END))  
{  
char szBuf[1000]="\n***POP12\n**CAM\n[&CAM]\n[->基本参数]\n[卡盘原点]^c^cchuck_datam\n[换刀原点] ^c^ctool_datam\n[<-毛坯参数] ^c^cstock\n[工步设计] ^c^csteps\n[仿真加工] ^c^csimulation\n[代码生成] ^c^cgen_code\n[代码存盘] ^c^ccode_save\n[工艺存盘] ^c^csave_inf\n[工艺装入] ^c^cload_inf\n[->刀具管理]\n《创建新刀》 ^c^ccreate_new_tool\n[<-刀库增删] ^c^ctool_manage\n";  
DWORD dwWrite=0;  
BRet=WriteFile(hfile, szBuf, Lstrlen(szBuf), [$dwWrite, NULL)]  
If (!bRet) Printerror();  
}  
CloseHandle(hfile);  
}  
上述操作中用CreateFile函数打开文件,SetFilePointer函数将指针移至文件末尾,字符串数组szBuf中装有欲添加的内容,以WriteFile函数写入,PrintError为自编的错误处理函数。  
以同样的方法可以找到acad2000doc.lsp文件并添入内容。  
以下操作将创建一个名为“C:\hkcam”的子目录,并将事先准备好的本程序所在目录下的所有文件拷贝进去:  
Cstring nam1, nam2;  
BOOL bCreate=CreateDirectory("C:\\hkcam", NULL);//创建子目录  
CfileFind finder; //创建类对象  
BOOL b Working=finder.FindFile("*.*");//利用类函数搜索所有文件  
While(b Working)//循环搜索及文件拷贝  
{  
b Working=finder.FindNextFile();  
nam1= finder.GetFileName();//获得文件名  
nam2= " c:\\hkcam\\";  
nam2=nam2+nam1;//组成全路径  
BOOL bCopy=CopyFile(nam1, nam2, FALSE);//文件拷贝  
}  
所有操作成功后,以信息框告知:  
MessageBox( NULL,“安装成功,请按OK钮继续”,“安装结果”,MB_OK);  
整个程序以MFC静态链接库创建。上述所有内容可以写入一个源文件内,这里称其为Append.cpp。为使最终执行文件尽可能小,应删去程序框架中所有不需要的内容。为此,源文件中只保留Append.cpp,Append.rc,及StdAfx.cpp几项;而头文件中只有Append.h,Resource.h,及StdAfx.h几项。所定义的唯一派生类为class CappendApp:public CwinApp,置于Append.h之内。  
三、结束语  
在VC++环境下利用有关WINDOWS系统注册表操作函数获得AutoCAD系统的安装路径,从而找出并改写AutoCAD有关文件;创建子目录并拷入各种二次开发形成文件,由此实现了AutoCAD二次开发程序与AutoCAD系统的自动衔接与嵌入。文中程序已由实践验证,完全可用于AutoCAD二次开发程序的自动安装。  
   
  
106
发表于 2005-6-29 12:12:55 | 只看该作者
AutoCAD图形中标准图纸图栏系统的开发
  
作者: 郑立楷
  
随着计算机技术的发展,计算机操作系统已经逐渐由DOS系统转向Windows系统,AutoCAD自从12版本开始,已经有Windows的版本,直至14版本以后,已经是完全的Windows版本。AutoCAD除了操作简便之外,它还可以让用户重新定义其界面以及建立自己的程序运行,国内各不同的电脑开发商也通过对AutoCAD的二次开发而开发出应用于不同领域的实用软件。自从AutoCAD R12版开始,AutoCAD引进了对话框技术——DCL对话框语言,它通过与AutoLISP语言相结合,能够编写出界面友好的实用程序。
  
本人所在公司旧版的图栏填写是基于AutoCAD R10版本而开发出来,操作过程是通过命令行提示,让用户根据提示,逐一输入相应的内容。这种方法程序编写简单,基本的语句如下:
  
(setq txmc(getstring "图形名称:")) ;提示用户输入图形名称
(command "text" pt txmc) ;填写图形名称到图形中
  
采用此种方法填写的图栏内容与图形中的其他文字一样,编辑时也是通过文字编辑进行操作,不太方便,在制图的过程中,图栏内容的编辑也占用了很大部分的时间。
  
一. 总体方案:
  
图栏分为图样栏、标题栏、明细栏、附加栏、更改表、签名表共六部分,标准图纸的图幅分为A0图、A1图、A2图、A3图、A4图共五种,所以系统应该能生成此五种图幅的图样栏以及相应的标题栏等。由于其他除图样栏外其他图栏内容都是依附于图样栏中,所以在更改图样栏的图幅时,其他图栏的相应位置会随着图样栏的改变而改变。由于该系统必须与旧版系统兼容(本公司的全部图纸都由旧版图栏生成,如果手工修改,所费时间将无可估计),所以进入该系统后,系统必须自动地将旧版的图栏更改为新的图栏格式。
  
图栏的格式采用在图块中增加属性,通过属性的方法显示图栏的文字内容。而图栏的填写是通过在插入图块的同时输入属性的内容。而图栏的编辑则通过对相应图块的属性进行提取而显示于对话框中让用户进行修改。
  
二. 程序的设计  
  
程序设计的重点主要有以下几个方面:①对话框的设计;②怎样通过对话框的形式编辑图栏内容;③怎样能将旧版的图栏转换为新版的图栏,以省去大量的手工转换工作;④图样栏的大小怎样才能直接地显示在窗口的状态栏中;⑤图样栏中设计单位名称的显示处理;⑥图栏程序的调用。
下面介绍各部分的具体设计。  
  
1. 对话框的设计:  
  
AutoCAD软件包从AutoCAD R12以来最大的进步之一是它提供的新的可编程对话框(PDB)工具,使用DCL对话框语言再配以AutoLISP语言,就可以设计出与AutoCAD软件包风格完全一致的应用程序。  
  
通过DCL对话框语言,对图栏的各对话框进行设计,在设计过程中,主要是考虑对话框界面的协调性及各控件安排的合理性。在图样栏的对话框中,使用选项按钮(radi0_button)选择标准图纸的图幅大小,使用弹出列表框(popup_list)列出预置的设计单位名称,而使用编辑框(edit_box)填写在单位列表框中没有列出的单位名称。  
  
在标题栏中,使用编辑框填写名称、图号、材料、比例、重量、总页数、页码等,而使用选项按钮选择阶段标记。  
  
全部的图栏对话框都分为填写功能和编辑功能两种,由于对话框语言有类似于“类”的具有继承性的功能,通过将对话框的内容部分使用一个名称保存,然后在另外的对话框内引用保存过的对话框内容,这样就可以使用不同的标题显示同样外观的对话框内容(如“填写图样栏”和“编辑图样栏”)。
另外,由于图样栏已经定义了图纸图幅的大小,所以标题栏等其他图栏也就不必提示用户选择图幅而自动找到填写的位置。所以在对话框中除图样栏外,其他图栏的对话框都不必出现“图纸大小”的选项按钮。
以下列出图样栏对话框的程序内容:
  
//填写图样栏部分
ddtyl:dialog{
  label="填写图样栏";
  drtyl;
}  
  
//编辑图样栏部分
dmtyl:dialog{
  label="编辑图样栏";
  drtyl;
}  
  
//图样栏内容部分
drtyl:column{
  boxed_size;  
  :boxed_column{  
    :popup_list{  
      label="设计单位([$S):"]  
      key="sign_ro"; }  
    :edit_box{  
      label="其他设计单位([$O):"]  
      key="other";
      edit_width = 20;
      allow_accept=true;
    }
  }
  ok_cancel;
}  
  
//图纸大小内容部分
boxed_size:boxed_radio_row{
  label="图纸大小";  
  :radio_button{
    label="A[$0"]
    key="size_0";
  }
  :radio_button{
    label="A[$1"]
    key="size_1";
  }
  :radio_button{
    label="A[$2"]
    key="size_2";
  }
  :radio_button{
    label="A[$3"]
    key="size_3";
  }
  :radio_button{
    label="A[$4"]
    key="size_4";
  }
}
  
设计了对话框以后,还必须通过AutoLISP语言来调用及驱动对话框。在显示图栏对话框前,必须初始化对话框中各项的值,对于没有相应内容的项目,使用默认值。而对于具有相关内容的项目,则显示其内容供用户修改。  
  
通过对话框,使用图栏的修改更为直观方便,操作也更为简单。  
  
2. 图栏内容的编辑设计:  
  
旧版的图栏只有填写功能,无自动编辑功能,只能通过文本编辑功能对内容逐一进行编辑,而且对于图样栏的大小无法编辑,只能删除旧图样栏再插入新图样栏,并且更换图样栏后标题栏等内容的位置无法与新图样栏对齐,只能靠手工进行调整。这些问题必须在程序中进行完善。  
  
为了方便各种图栏的移动及图栏内容的提取,使用图块的属性保存各种图栏的内容。填写图栏时,是在插入图块的同时将图栏的文字内容作为图块的属性内容插入图形中,编辑图栏时,首先将相应图栏的图块的属性通过属性的提取而取出,并提供用户作修改,并将修改后的内容通过图块的属性更新而重新显示于图形中。图栏内容的移动就是图块的移动。  
  
对于图样栏,不同的图样栏的大小采用不同名称的图块,在修改图样栏大小时,采用的是通过程序的控制,首先取出图块中设计单位的名称,并显示于对话框中,然后删除该图块,然后再插入新的图块,并将设计单位的属性附于图块上,同时,程序控制移动标题栏、附加栏、签名表等图栏到新的图样栏的相应位置上。这样实现了图样栏中图纸大小的编辑修改。  
  
以下为图样栏编辑的程序设计内容,从中可以看到图样栏是怎样编辑的:
  
(defun ty_modi()
  (setq head(entget(setq head_t(ssname sel_bt 0))))
  ;取得图样栏图块的头部,其中sel_bt为图样栏图块
  (setq he_zzdw(entget(entnext(cdr(car head)))))
  ;取得设计单位属性文本
  (setq zzdw(getent he_zzdw1))
  ;取得设计单位文本内容,getent为自定义函数
  ………… ;调用对话框并初始化、显示
  (if (= aaa (getvar "useri1");判断图幅是否改变
    (progn ;如果没有改变
      (setent zzdw he_zzdw 1) ;改变图块中设计单位
      (entupd head_t) ;更新图块
   &nbsp
    (progn ;如果图幅改变了
      (entdel head_t) ;删除原图样栏
      (command "purge" "b" tkn "n") ;清理相应的图块
      (setq tkn(strcat "B-GBA" (itoa aaa) "TY"))  
      ;组合出图样图块的名称
      (command "insert" tkn "non" "0,0" "" "" "" zzdw)
      ;插入附有属性的图样图块
      (modi_ipt "B-BTL" p2p p2)  
      ………… ;移动标题栏等到新的图样栏的相应位置
   &nbsp
 &nbsp
)
  
3. 旧版图栏的转换:  
  
程序只有保持向下的兼容性才能得以广泛的使用,对于图栏的填写程序,也应该保证能够很好地兼容旧版的图栏,并能顺利地将旧版的图栏转换为新的图栏。  
  
对于标题栏的转换,只需取得相应位置上的标题栏的内容,然后将原来的标题栏内容删除,再插入附有各属性内容的标题栏图块。  
  
对于图样栏,除删除旧的图样栏图块,还必须将该图块通过清理命令将其清理掉,然后再插入新的格式的图样栏,通过这样就可以将图栏进行转换。  
  
图样栏转换的程序如下:
  
(setq head(entget(setq head_t (ssname sel_bt 0)))) ;取得图块头部
(if (<(getent head 66)1) ;查看图块是否为旧版图块
  (progn ;旧版图样栏时
    (princ "\n此图样栏为旧版本,将被更新为新版本。\n")
    (setq zzdw(get_text "c" (list(+ b_x -1)(+ b_y 55))
    (list(+ b_x -49)(+ b_y 39))))
    ;从旧图样栏中取得设计单位名称  
    (if (not zzdw)
      (setq zzdw "") ;如无单位名称,则为空字串  
   &nbsp  
    (entdel gead_t) ;删除旧图样栏  
    (command "purge" "b" gead_na "n") ;清理旧图块
    (command "insert" head_na "non" "0,0" "" "" "" zzdw);插入新版图样栏  
 &nbsp
)  
  
4. 状态栏中显示图样栏的图幅大小:  
  
由于计算机显示的图形可以放大缩小,所以有些图幅容易造成混淆,如A2图和A3图幅,所以必须在一个显著的位置显示图幅的大小,使用户一目了然。  
  
虽然通过调用图样栏(ddtyl)命令可以从对话框中显示当前的图幅大小,但这仲方法必须通过手工的操作才能实现。  
  
如果将图幅的大小通过文本显示于图形中,就会使打印时将该文本也打印出来,同时该文本也只能通过缩放命令才能看到,操作上也不方便。  
  
通过比较,将图样栏的图幅大小显示于状态栏是取为直接的。  
  
AutoCAD的状态栏显示于屏幕的下端,其中显示了当前坐标以及各种辅助工具的状态(如捕捉、正交、栅格、对象捕捉等)。同时由AutoCAD提供的系统变量MODEMACRO可以在状态栏中显示自定义内容,控制着用户定义的状态栏。MODEMACRO变量的值不保存在图形文件中,也不保存在配置文件或其它文件中,所以设置该值只能在ACAD.LSP文件中用S::STARTUP函数加载。  
  
由于图幅的大小只是使用不同名称的图块(有一定规律的名称),所以让系统变量MODEMACRO取得图样栏图块名称并提取图块大小是一个复杂过程,而且在每次的更换图幅大小时,都应重新初始化MODEMACRO的值,这种方法是比较繁杂的。如果让MODEMACRO显示系统就是的值,那么在系统变量的值改变时,MODEMACRO则会自动刷新其值,而不必重新初始化。  
  
在AutoCAD中,系统提供了多个可让用户定义值的变量(如useri1~useri5、users1~users5等),这些自定义的系统变量是保存在图形中,这样就可以利用这些系统变量保存图样栏的图幅大小,只是在更改图样栏的图幅大小的同时将自定义的系统变量设置为相应的图幅的值。在图样栏中,使用的是自定义系统变量useri1。  
  
MODEMACRO系统变量的内容使用的是DIESEL语言。具体的程序内容如下:
  
(defun S::STARTUP()
  (setvar "modemacro" "A $(getvar, useri1)图")
  (princ)
)
  
这样就可以在状态栏的起始处显示“A0图”的字样,提示图幅大小。  
  
5. 图样栏中设计单位名称列表的设计:  
  
在图样栏中,必须指定设计单位,如果所设计的程序只供单一的单位使用,则可以将设计单位名称直接保存在图样图块中,但在程序设计过程中,为了能使该系统能应用于多个部门,甚至在设计过程中还未知的其他单位,必须采用一种特殊的方法取得设计单位的列表,以便在不必修改程序内容的情况下在多个部门及单位中应用。  
  
在程序中,采用的是将设计单位的列表保存为tyl.ini文件,该文件为文本文件,可以通过记事本等打开进行编辑,文件中每个单位名称为一行。在程序运行过程中将tyl.ini文件中的各个单位名称显示于列表中供用户选择。由于AutoCAD的DCL对话框语言的功能不强(不如VB的对话框那样方便),在显示列表及填入图形中都必须分别对tyl.ini文件的内容进行引用。对话框在取得列表时不是取得列表中的内容。而是取得选择项在列表中的位置序号。这样,只能通过该序号重新搜索tyl.ini文件以取得相应序号的单位名称:
  
;;显示于列表中
(setq des_list (read_des(findfile "tyl.ini")))
(start_list "sign_ro")
(mapcar 'add_list des_list)
(add_list "其他设计单位...")
(end_list)  
  
;;通过序号查找单位名称
(if (= des_num (read_num (findfile "tyl.ini")))
  (setq zzdw zzdw1)
  (setq zzdw (desi_nam des_num))
)  
  
   
  
程序中,read_des()、read_num()、desi_nam()为自定义函数,功能如下:  
  
read_des():将指定的文件中每行文字的内容读出并保存于指定的变量中。
Read_num():返回指定文件的行数(由为设计单位列表的数量)。
Desi_nam():通过位置序号返回tyl.ini文件中相应序号的单位名称。
  
本系统除了提供预置的列表框外,还提供一项“其他设计单位”以提供一些临时的设计单位填写,这样可在不修改tyl.ini文件的条件下填写临时的设计单位。在选择了列表中的最后一项“其他设计单位”时,对话框将提供一个文本编辑框供用户输入单位的名称。程序如下:
  
(if (= des_num(read_num(findfile "tyl.ini")))    ;判断是否选择了“其他设计单位”
  (progn                                         ;如果选择了其他设计单位
    (mode_tile "other" 0)                        ;使“其他设计单位”框有效
    (mode_tile "other" 2)                        ;将光标移动到"其他设计单位”框上
 &nbsp
                                                 ;如果选择的不是其他设计单位
  (mode_tile "other" 1)                          ;使“其他设计单位”框无效
)
  
由于tyl.ini文件的设计单位的各个不同单位名称的排列有先后之分,在列表框的初始化中,系统总是默认第一个单位名称为设计单位,这样就必须通过程序及其他方法将设计单位定位在自己常用的单位名称上,或者说希望系统能够将前一次所填写的设计单位作为下次填写的默认值。  
  
在AutoCAD r13以后的版本中,用户可将自定义的参数保存于AutoCAD的系统配置文件中的AppData段中,以配置自己的界面的自定义参数。所以可以将前一次设计单位名称列表选择项的位置序号以及其他设计单位编辑框中的内容保存于该段中,以便在下次引用图样栏时对图样栏进行初始化。具体程序如下:
  
;;取得设计单位前次选择的位置序号。
(if (getcfg "AppData/Tyl/Number")
  (setq des_num(atoi(getcfg"AppData/Tyl/Number")))
  (setq des_num 0)
)
(set_tile "sign_no" (itoa des_num))
  
;;取得其他单位的名称
(if (setq zzdw1 (getcfg "AppData/Tyl/Other"))
  (setq_tile "other" zzdw1)
)
  
;;保存设计单位序号及其他单位名称
(setcfg "AppData/Tyl/Number" (itoa des_num))
(if zzdw1
  (setcfg "AppData/Tyl/Other" zzdw1)
)  
  
这样就可以不必考虑设计单位列表的排列问题,甚至对于设计单位不在列表中而使用其他框进行填写也不必每一次填写图样栏时都进行输入,系统可以取得上次保存的其他单位名称显示于其他框中。  
  
对于设计单位名称列表的tyl.ini文件,在本系统中是通过在该系统的安装程序中生成。本系统设计完成后使用了InstallShield生成安装程序,所以可以通过安装程序的专用语言生成tyl.ini文件。在InstallShield生成的安装程序中有要求用户输入姓名及工作单位的向导对话框,如图5,这样就可以通过取得用户输入的工作单位并生成tyl.ini文件。该系统在不同的单位使用时,由于在安装时所输入的单位名称为本单位名称,所以在填写图样栏时就能产生本单位名称的图样栏。  
  
其程序如下(程序内容置于ProcessAfterDataMove()过程中):
  
szFileName = @FILE_TYL; if( FindFile ( TARGETDIR , szFileName , svResult )< 0 ) then
SdShowMsg( @MSG_CREATE_TYL , TRUE);
Delay(2);
if (CreateFile ( nvFileHandle , TARGETDIR , szFileName )<0) then
MessageBox(@MSG_UNCREATE_TYL,INFORMATION);
if(CopyFile(szFileName, szFileName)<0) then
MessageBox(@MSG_UNCOPY_TYL,INFORMATION);
endif;
else
if ( WriteLine ( nvFileHandle , svCompany)<0) then
MessageBox(@MSG_WRITE_COMPANY,INFORMATION);
else
WriteLine(nvFileHandle,@COMPANY_NAME);
endif;
endif;
endif;
return 0;
end;
  
6. 图栏各命令的调用:  
  
各程序设计完成后,要实现对程序的调用才能方便程序的使用。各图栏的AutoLISP程序保存于同一文件的不同过程中,该文件为ddtl.lsp,而对话框文件为ddtl.dcl,设计单位配置文件tyl.ini,同时还有应用于图栏的多个带属性的图块。  
  
首先为了能够在命令引用时自动装载该程序文件,必须在acadr14.lsp文件中增加下列一行程序:
(autoload "ddtl" '("ddtyl" "ddbtl" "ddmxl" "ddfjl" "ddqmb" "ddggb"))  
  
这样,就可以随时在命令行中输入图栏命令以运行相应程序过程。  
  
其次,必须将图栏的名命令显示在菜单及工具栏中供用户调用。AutoCAD允许用户加载多个菜单,除主菜单外,还可以加载多个附加菜单,附加的菜单文件可以包含下拉菜单及工具栏,但不能包含屏幕菜单。本系统将产生一附加的菜单文件显示图栏的各命令。  
  
菜单的内容如下:(菜单文件名称为ac_bonus.mnu)
  
***MENUGROUP=AC_BONUS***POP1 [附加(&]
ID_H10TL [->图栏(&T)]
ID_H10TYL [图样栏(&T)] ^C^Cddtyl
ID_H10BTL [标题栏(&A)]^C^Cddbtl
ID_H10FJL [附加栏(&F)]^C^Cddfjl
ID_H10MXL [明细栏(&M)]^C^Cddmxl
ID_H10QMB [签名表(&O)]^C^Cddqmb
ID_H10GGB [<-更改表(&G)]^C^Cddggb
……
***TOOLBARS**TB_H10_TL_TOOLBAR
ID_H10TL  [_Toolbar("图栏及流程", _Floating, _show,101,121,1)]
ID_H10TYL [_Button("图样栏", ICON_16_TYL,ICON_24_TYL)]^C^Cddtyl
ID_H10BTL [_Button("标题栏", ICON_16_BTL,ICON_24_BTL)]^C^Cddbtl
ID_H10FJL [_Button("附加栏", ICON_16_FJL,ICON_24_FJL)]^C^Cddfjl
ID_H10MXL [_Button("明细栏", ICON_16_MXL,ICON_24_MXL)]^C^Cddmxl
ID_H10QMB [_Button("签名栏", ICON_16_QMB,ICON_24_QM]^C^Cddqmb
ID_H10GGB [_Button("更改栏", ICON_16_GGB,ICON_24_GG]^C^Cddggb  
  
   
  
工具栏的按钮图标,是通过使用VC++软件产生的资源文件提供,该文件名称为ac_bonus.dll(文件名称与菜单相同,扩展名为.dll),包括菜单文件中所引用的全部图标。  
  
四、使用情况及效果:  
  
整个程序设计完成后在多个单位使用,运行情况良好,对于旧版的图栏都能顺利地转换,采用对话框的方式非常直观,对各图栏的修改非常方便,大大地提高设计的速度。由于采用专门的安装程序安装该系统,所以可以在安装向导的指导下完成系统的安装,安装后系统不必再经调整就可以进行使用,而不必专人的指导,大大地方便了该系统的使用。  
  
该系统已经被多个单位使用及推广,同时由该系统及相应的其他功能所组成的应用程序也已被众多的单位和个人所使用。
107
发表于 2005-6-29 12:13:07 | 只看该作者
AutoCAD应用技巧
  
1. 执行编辑命令,提示选择目标时,用矩形框方式选择,从左向右拖动光标,为"窗口Windows"方式,如果从右向左拖动光标,则为"交叉Cross"方式。
2. 相对坐标输入点时,在正交状态时,一般输入为:@x,0或@0,y (例如输入相对坐标“@100,0”表示下一点相对上一点X方向增加100,又如输入相对坐标“@0,50”表示下一点相对上一点Y方向增加50),以上两种情况下,可以直接输入100或50即可实现相同的目的,从而节省输入时间。
3. 在AutoCAD中有时有交叉点标记在鼠标点击处产生,用BLIPMODE命令,在提示行下输入OFF可消除它。
4. 有的用户使用AutoCAD时会发现命令中的对话框会变成提示行,如打印命令,控制它的是系统变量CMDDIA,关掉它就行了。
5. 椭圆命令生成的椭圆是以多义线还是以椭圆为实体的是由系统变量PELLIPSE决定,当其为1时,生成的椭圆是PLINE。
6. CMDECHO变量决定了命令行回显是否产生,其在程序执行中应设为0。
7. DIMSCALE决定了尺寸标注的比例,其值为整数,缺省为1,在图形有了一定比例缩放时应最好将其改成为缩放比例。
8.7 CAD的较高版本中提供了形位公差标注,但圆度及同轴度中的圆不够圆,其实,AutoCAD中常见符号定义都在AutoCAD安装目录下SUPPORT子目录下的gdt.shp文件中,其中2号和4号字符定义了圆形的形状,圆的弧度竟为127°,但不太好改正之(如改为90°更不好看)。
9.8 空心汉字字形如使用AutoCAD R14中的BONUS功能(一定要完全安装AutoCAD,或自定义安装时选了它),有一个TXTEXP命令,可将文本炸为线,对做立体字十分有用。
10. AutoCAD R14的BONUS中有一个ARCTEXT命令,可实现弧形文本输出,使用方法为先选圆弧,再输入文本内容,按OK。
11. BONUS中有一个有用的命令,即MPEDIT,用它将多个线一齐修改为多义线,再改它的线宽。
12. Image命令在R14中代替了R13中的BMPIN、PCXIN之类的命令,它将位图嵌入文件中,只用来显示,如炸开就成了空框架,如何使用PCXIN等命令重现?请将R13安装目录下的RASTERIN.EXE拷入R14下,用appload将其装入,然后就可以将位图导入(可编缉,可炸开)了。
13. BREAK命令用来打断实体,用户也可以一点断开实体,用法是在第一点选择后,输入“@”。常用一条线一段为点划线,另一段为实线时。
14. AutoCAD R14中提供了大量的命令缩写,许多R13中无缩写的命令也有了缩写,下面提供了CAD中的单字符缩写:A:ARC,B:Bmake,C:Circle,D:ddim,E:erase,F:fillet,G:group,H:bhatch,I:ddinsert,L:line,M:move,O:offset,P:pan,R:redraw,S:stretch,T:mtext,U:undo,V:ddview,W:Wblock,X;explode,Z:zoo,可大量使用之,使用后会发现比鼠标点取快(尤其在ls输5个字符的速度下)。AutoCAD R14大量扩充了简化命令,不仅增加了以首字母简化的命令(这里不列出),而用增加了用前两个字母简化的命令,常的如:array 、copy、 dist、 donut 、dtext 、filter 、mirror、 pline 、rotate 、trim、 scale 、snap 、style、 units等,更加提高了用键盘输入命令的速度,对熟悉键盘的朋友来说简直是如虎添翼。
15. AutoCAD R14命令的缩写也可用在R13,方法是将AutoCAD R14下的Support子目录下的ACAD.pgp拷贝至AutoCAD R13中的Support子目录下。
16. AutoCAD 中ACAD.pgp文件十分重要,它记录命令缩写内容,用户可自定义它们,格式如下:<命令缩写> *命令名称。也可定义系统命令,AutoCAD R14提供了sh命令,可执行DOS命令,但在Windows作用下不大。
17. AutoCAD R14中用NOTEPAD、EDIT、DIR、DEL等系统命令,笔者认为其中NOTEPAD对自定义CAD用途较大,但使用起来会发现屏幕一闪(进了DOS),又返回,十分让人不愉快,让我们来编一个小程序,取名为note.lsp:
(defun c:notepad()
(startapp″notepad″)
)
先将ACAD.pgp中的NOTEPAD命令定义行删除,重入CAD后,再将此程序命令:(load″note″)装入,下一次用NOTEPAD命令会有更好效果,最好将(load″note″)加入Support子目录下的ACADR14.lsp中。
18. AutoCAD R14中打印线宽可由颜色设定,这样机械制图中的各种线型不同、、线宽不同的线条可放入不同的层,在层中定义了线型的颜色,而在打印设置中设定线型与颜色的关系,效果良好。
19. AutoCAD R14的Support中ACAD.dwt为缺省模板,要好好加工它,把常用的层、块、标注类型定义好,再加上标准图框,可省去大量重复工作。
20. AutoCAD中有不少外部Lisp命令文件,可以直接观察它们,如果学习开发Lisp应用程序,注意;R14可是最后一版Lisp文件内容公开的AUTOCAD,在CAD2000中Lisp文件内容是加密的(笔者正在研究解密程序)。
21. AutoCAD二次开发工具很多,Lisp早就有了,R11提供了ADS(Acad Develop system),R12中提供了ADS对实模式下C编译器(如BC,MS C)的支持,R13提供ARX(Acad Runtime eXtend),R14提供了 VB Automation,这个Automation使VB编写CAD程序成为可能,渴望CAD编程的人有了一个最好的选择,不必学习ADS、ARX、Object ARX和AutoLisp,一起加入AutoCAD编程的世界。
22. 用户自定义的Lisp文件一定要自动装入AutoCAD,这样就需要在acadr14.lsp中加入用户Lisp文件的装入语句,acadr14.lsp(早期版本为acad14.lsp)好似DOS的Autoexec.bat,一定要好好利用,在其中如定义了名为S::STARTUP()的函数可自动运行它。(给CAD加个启用画面如何,可用STARTUP加startapp函数,也可加登录密码)。
23. 将AutoCAD中的图形插入WORD中,有时会发现圆变成了正多边形,用一下VIEWRES命令,将它设得大一些,可改变图形质量。
24. 形如φ30H11(+0.1,-0.2)的标注如何去标呢,请在文本内容中输入%%c30{H11(}{\H0.7X;\S+0.1^-0.2;})”,可以实现,如嫌太麻烦,就编程序来简化操作。
25. AutoCAD中文件可当作块插入其他文件中,但这样一来过多的块使文件过于庞大,用PURGE来清除它们吧,一次清一层,一定要多用几次呀!
26. AutoCAD R14的帮助文件内容十分丰富,由很多本“书”组成,一层层打开,多看它们用处是很大的,其中包括了CAD的各方面,比任何CAD大全还全,你是否想您的帮助加入其中,请修改acad.cnt,加入自己帮助的链接。
27. 在CAD中可按规定编定.ahp的CAD帮助文件,在R14下用ahp2hlp.exe将其转变为.hpj的文件和.rtf的文件,再用HelpWorkshop工具(在VC5中有)将其项目打开,编译为.hlp文件。
28. 在AutoCAD中有一些DOS下的exe文件在R14中仍有用途,用Slidelib.exe可将幻灯片作库,mc.exe可实现菜单的编译。
29. 在作完零件图进行组装时,可将零件图块插入后焊开,再用group成组后组装,这时用ddselect命令控制组选取处于何种状态,取消组选时再打开组状态。
30. 在AutoCAD中的菜单源文件为.mnu文件,将其修改可将自己的命令加入菜单中,再用menu命令装入,加参加AutoCAD帮助了解菜单文件格式。图标工具条中加入自己的命令相对简单,可在工具条上点右键,在toolbar对话中,点new 按钮,输入工具条后,一个新工具条产生,再选Customize按钮,选定custom,将空按钮拖入工具条中,再在空按钮上按右键,这样就可定义自己的按钮图标和命令。
31. AutoCAD的状态行也可处定义,用DIESEL语言可以访问它,最简单的方法用modemacro命令,后输入$(getvar,clayer),以后当前层名就显示在准确无误行上,用户化可谓无孔不入吧!
32. AutoCAD的图形格式为.dwg,也可导出为.bmp及.wmf或.eps、.dxf、.3ds,是如果用render命令可存为.pcx、.tga、.tif格式,AutoCAD还可将文件直接存为这几种格式,要为系统装一个名为“Raster file export”的打印机,用它打印到文件,ACAD2000还可将文件存为JPG格式。
33. render进行着色时,render无关闭按钮,用户采用:(arxunload"render"),因为它是ARX文件扩展的功能。
34. dimzin系统变量最好要设定为8,这时尺寸标注中的缺省值不会带几个尾零,用户直接接受缺省值十分方便快捷。
35. 如遇到快捷失效,如^0失去作用变为正交模式切换的情况,请用menu将当前使用菜单.mnu菜单源文件重装一遍即可。
36. 在多行文字(mtext)命令中Word97编辑文本。Mtext多行文字编辑器是AuotCAD R14中的新增功能,它提供了Windows文字处理软件所具备的界面和工作方式,它甚至可以利用Word97的强大功能编辑文本,这一功能可以用如下方法实现:
打开“Tools”菜单选“Preferences”命令,“Preferences”对话框弹出后,打开“Files/Text Editor,Dictionary,and Font File Name/Text Editor Application/Iinternal”,双击“Internal”,出现“Select a file”对话框,接着找到“Winword.exe”应用程序文件,击“打开”钮,最后单击“OK”返回。完成以上设置后,用户如再使用mtext命令时系统将自动调用我们熟悉的Word97应用程序,为AotoCAD中的文本锦上添花。
37. 巧用工具按钮自定义AotoCAD中有许多Lsp文件能为我们提供非常实用的命令,如chtext.lsp就是一个很好的文字修改命令,尤其适用于大批文字的修改,但在使用这样的命令之前必须先把Lsp文件载入。一般你可以通过选取“Tools”菜单中“Load Application…”选项,再利用对话框打开AutoCAD R14/Support 下的Chtext.lsp文件,然后击“Load”钮,或者也可以直接在命令行中键入“(load“chtext”)”以达到载入的目的,如此做总有些繁琐。下面我们用自定义工具按钮的方式解决这个问题,右击任意工具钮,弹出“Toolbars”对话框,击“Customize…”钮,在“Categories:”中选“Custom”项,将出现的空按钮拖到工具条中目标位置,击“Close”钮返回,接着右击空按钮,出现“Button Properties”对话框,在“Name:”,栏中为命令钮命名,“Help:”栏中你可以写入或不写入内容,然后在“Macro:”中键入“(Load “chtext)cht”,至于“Button Icon”,用户可选系统提供的图标,也可以点“Edit…”自行绘制或者直接调用已有的bmp文件,最后点“Apply”钮并依次关闭对话框返回。这样你自己的工作按钮就做成了。由于在后面增加了“cht”(注意:前面要有空格),所以你只要按工具钮便可以直接去选择要编辑的目标文件。
38. “Stretch”命令也是一个常用命令,但输入命令后,系统总要提示“select object to stretch by crossing_window or crossing_polygon…”,要求你再输入一个“C”后才能用鼠标去选择目标。为了使操作简化,用户只需将系统提供的工具按钮做些小小的修改即可。右击任意工具钮弹出“Toolbars”对话框,再右击“stretch”工具钮弹出“Toolbars”对话框,在“Macro:”框中的“^c^c_stretch”后键入空格和“C”。以后你再点击处理后的工具钮可以接选择目标进行操作。
39. AuotCAD R14用户均采用系统给出的缺省格式存盘,这种格式存盘的缺点是文件所占空间大,不能用低版本的应用程序(如:AuotCAD R12、AuotCAD R13)打开,为避免磁盘空间的浪费,你可以在“Save Drawing As”对话框的“保存类型”中选“AuotCAD R12/LT2 Drawing”格式存盘。例如:同一dwg文件用两种方式存盘,它们的大小分别是87KB、58KB。可见差别还是很可观的。而且后者文件可以在R12、R13版本的应用程序中打开。这种方式对配置较低的用户尤为实用。
40. 有时在打开dwg文件时,系统弹出“AutoCAD Message”对话框提示“Drawing file is not valid ”,告诉用户文件不能打开。这种情况下你可以先退出打开操作,然后打开“File”菜单,选“Drawing Utilities/Recover”,或者在命令行直接用键盘输入“recover”,接着在“Select File”对话框中输入要恢复的文件,确认后系统开始执行恢复文件操作。
41. 汉化菜单。将support目录下的acad.mnu文件复制为chinese.mnu。用写字板打开chinese.mnu。仔细观察会发现其中有许多类似“* * *POP”的条目,每一条自定义了一列下拉菜单。将引号中的英文命令名称改为中文,存盘退出。再在R14中输入“menu”命令,将chinese.mnu菜单文件装入,下拉菜单就变成了中文。还可以再装入acad.mnu文件将菜单还原。
42. R14默认的“命令取消”键是“ESC”键,如果你已经习惯了R12的“Ctrl+C”怎么办呢?点击菜单Tools\preferences\compatibility\priority for accelerator keys\autoCAD classic,然后就可以用“Ctrl+C”取消命令了,同时“ESC”键仍然有效。
43. trim命令中提示选取要剪切的图形时,不支持常用的window和crossing选取方式。当要剪切多条线段时,要选取多次才能完成。这时可以使用fence命令提示选择要剪除的图形时,输入“f”,然后在屏幕上画出一条虚线,回车,这时被 该虚线接触到的图形全部被剪切掉。
44. 单击“Object Propertys”工具条上的“Make objects' layer current”按钮,然后在作图区选择要去的图层上的任一图形,当前层立刻变换到选取的图形所在层。
45. 用R14打开R11和R12的文件时,即使正确地选择了汉字字形文件,还是会出现汉字乱码,原因是R14与R11或R12采用的代码页不同。可到本站或AutoDesk公司主页下载代码页转换工具wnewcp。运行wnewcp后,首先选中“R11/R12”复选框,再单击“Browse”按钮,选择要转换的文件或目录,然后选择新的代码页,ANSI936或GB2312均可,单击“Start Conversion”即开始转换。转换后,在R14中就能正确地显示汉字。
46. 在AutoCAD中有时尺寸箭头及Trace画的轨迹线变为空心,用TRIMMODE命令,在提示行下输新值1可将其重新变为实心。
47. 用AutoCAD打开一张旧图,有时会遇到异常错误而中断退出,这时首先使用40介绍的方法,如果问题仍然存在,则可以新建一个图形文件,而把旧图用图块形式插入,可以解决问题。
108
发表于 2005-6-29 12:13:18 | 只看该作者
AutoCAD应用技巧44例  
Http://www.cnzzlm.com 2003-3-18 0:28:01 狂沙工作室  
  
1.在AutoCAD中有时有交叉点标记在鼠标点击处产生,用BLIPMODE命令,在提示行下输入OFF可消除它。  
2.有的用户使用AutoCAD时会发现命令中的对话框会变成提示行,如打印命令,控制它的是系统变量CMDDIA,关掉它就行了。  
3.椭圆命令生成的椭圆是以多义线还是以椭圆为实体是由系统变量PELLIPSE决定,当其为1时,生成的椭圆是PLINE。  
4.CMDECHO变量决定了命令行回显是否产生,其在程序执行中应设为0。  
5.DIMSCALE决定了尺寸标注的比例,其值为整数,缺省为1,在图形有了一定比例缩放时应最好将其改为缩放比例。  
6.BREAK将实体两点截开,在选取第二点时如用“@”来回答,可由第一点将实体分开。7.CAD的较高版本中提供了形位公差标注,但圆度及同轴度中的圆不够圆,其实,AutoCAD中常见符号定义都在AutoCAD安装目录下SUPPORT子目录下的gdt.shp文件中,其中2号和4号字符定义了圆形的形状,圆的弧度竟为127°,但不太好改正之(如改为90°更不好看)。  
8.空心汉字字形如使用AutoCAD R14中的BONUS功能(一定要完全安装AutoCAD,或自定义安装时选了它),有一个TXTEXP命令,可将文本炸为线,对做立体字十分有用。  
9.AutoCAD R14的BONUS中有一个ARCTEXT命令,可实现弧形文本输出,使用方法为先选圆弧,再输入文本内容,按OK。  
10.BONUS中还有一个有用的命令,即MPEDIT,用它将多个线一齐修改为多义线,再改它的线宽。  
11.image命令在R14中代替了R13中的BMPIN、PCXIN之类命令,它将位图嵌入文件中,只用来显示,如炸开就成了空框架,如何使PCXIN等命令重现?请将R13安装目录下的RASTERIN.EXE拷入R14下,用appload将其装入,然后就可以将位图导入(可编缉,可炸开)了。  
12.BREAK命令用来打断实体,用户也可以一点断开实体,用法是在第一点选择后,输入“@”。常用一条线一段为点划线,另一段为实线时。  
13.AutoCAD R14中提供了大量的命令缩写,许多R13中无缩写的命令也有了缩写,如:A:ARC, B:Bmake, C:Circle, Z:zoo,可大量使用  
之,使用后会发现比鼠标点取快(尤其在1s输5个字符的速度下)。AutoCAD R14大量扩充了简化命令,不仅增加了以首字母简化  
的命令(这里不列出),而且增加了用前两个字母简化的命令,常用的如:array、copy、dist、donut、dtext、filter、mirror、pline、rotate、trim、scale、snap、style、units等,更加提高了用键盘输入命令的速度,对熟悉键盘的朋友来说简直是如虎添翼。  
14.AutoCAD R14的命令缩写也可用在R13,方法是将AutoCAD R14下Support子目录下的ACAD.pgp拷贝至AutoCAD R13的Support子目录下。  
15.AutoCAD中ACAD.pgp文件十分重要,它记录命令缩写内容,用户可自定义它们,格式如下:<命令缩写> *命令名称。也可定义系统命  
令,AutoCAD R14提供了sh命令,可执行DOS命令,但在Windows下作用不大。  
16.AutoCAD R14中用NOTEPAD、EDIT、DIR、DEL等系统命令,笔者认为其中NOTEPAD对自定义CAD用途较大,但使用起来会发现屏幕一闪(进了DOS),又返回,十分让人不愉快,让我们来编一个小程序,取名为note.lsp:  
(defun c:notepad()  
(startapp "notepad")  
)  
先将ACAD.pgp中的NOTEPAD命令定义行删除,重入CAD后,再将此程序用命令:(load "note")装入,下一次用NOTEPAD命令会有更好效果,最好将(load "note")加入Support子目录下的ACADR14.lsp中。  
17.AutoCAD R14中打印线宽可由颜色设定,这样机械制图中的各种线型不同、线宽不同的线条可放入不同的层,在层中定义了线型和颜色,而在打印设置中设定线型与颜色的关系,效果良好。  
18.AutoCAD R14的Support中ACAD.dwt为缺省模板,要好好加工它,把常用的层、块、标注类型定义好,再加上标准图框,可省去大量重复工作。  
19.AutoCAD中有不少外部Lisp命令文件,可以直接观察它们,如果学习开发Lisp应用程序,注意:R14可是最后一版Lisp文件内容公开的AUTOCAD,在CAD2000中Lisp文件内容是加密的(笔者正在研究解密程序)。  
20.AutoCAD二次开发工具很多,Lisp早就有了,R11提供了ADS(Acad Develop system),R12中提供了ADS对实模式下C编译器(如BC,MS C)的支持,R13提供ARX(Acad Runtime eXtend),R14提供了VB Automation,这个Automation使VB编写CAD程序成为可能,渴望CAD编程的人有了一个最好的选择,不必学习ADS、ARX、Object ARX,和AutoLisp,一起加入AutoCAD编程的世界。  
21.用户自定义的Lisp文件一定要自动装入AutoCAD,这样就需要在acadr14.lsp中加入用户Lisp文件的装入语句,acadr14.lsp(早期版本为acad.lsp),好似DOS的Autoexec.bat,一定要好好利用,在其中如定义了名为S::STARTUP()的函数可自动运行它(给CAD加个启用画面如何,可用STARTUP加startapp函数,也可加登录密码)。  
22.将AutoCAD中的图形插入WORD中,有时会发现圆变成了正多边形,用一下VIEWRES命令,将它设得大一些,可改变图形质量。  
23.形如?30H11( )的标注如何去标注呢,请在文本内容中输入“%%c30{H11(}{\H0.7x;\S+0.1^-0.2;})”,可以实现,如嫌太麻烦,就编个程序来简化操作。  
24.AutoCAD中文件可当作块插入其他文件中,但这样一来过多的块使文件过于庞大,用PURGE来清除它们吧,一次清一层,一定要多用几次呀!  
25.AutoCAD R14的帮助文件内容十分丰富,由很多本“书”组成,一层层打开,多看它们用处是很大的,其中包括了CAD的各方面,比任何CAD大全还全,你是否想您的帮助加入其中,请修改acad.cnt,加入自己帮助的链接。  
26.在CAD中可按规定编定.ahp的CAD帮助文件,在R14下用ahp2hlp.exe将其转变为.hpj的文件和 .rtf的文件,再用HelpWorkshop工具(在VC5中有)将其项目打开,编译为.hlp文件。  
27.在AutoCAD中有一些DOS下的exe文件在R14中仍有用途,用Slidelib.exe可将幻灯片作库,mc.exe可实现菜单的编译。  
28.在作完零件图进行组装时,可将零件图块插入后焊开,再用group成组后组装,这时用ddselect命令控制组选取处于何种状态,取消组选取时可将组内成员删除、剪切、修改,要移动零件时再打开组状态。  
29.在AutoCAD中的菜单源文件为.mnu文件,将其修改可将自己的命令加入菜单中,再用menu命令装入,可参加AutoCAD帮助了解菜单文件格式。图标工具条中加入自己的命令相对简单,可在工具条上点右键,在toolbar对话中,点new按钮,输入工具条后,一个新工具条产生,再选Customize按钮,选定custom,将空按钮拖入工具条中,再在空按钮上按右键,这样就可定义自己的按钮图标和命令。  
30.AutoCAD的状态行也可自定义,用DIESEL语言可以访问它,最简单的方法用modemacro命令,后输入$(getvar,clayer),以后当前层名就显示在状态行上,用户化可谓无孔不入吧!  
31.AutoCAD的图形格式为.dwg,也可导出为.bmp及.wmf或.eps、.dxf、.3ds,如果用render命令可存为.pcx、.tga、.tif格式,AutoCAD还可将文件直接存为这几种格式,要为系统装一个名为“Raster file export”的打印机,用它打印到文件,ACAD2000还可将文件存为JPG格式。  
32.render 进行着色时,render无关闭按钮,用户可用:(arxunload "render"),因为它是ARX文件扩展的功能。  
33.dimzin系统变量最好要设定为8,这时尺寸标注中的缺省值不会带几个尾零,用户直接接受缺省值十分方便快捷。  
34.如遇到快捷键失效,如^o失去作用,变为正交模式切换的情况,请用menu将当前使用菜单的.mnu菜单源文件重装一遍即可。  
35.在多行文字(mtext)命令中使用Word97编辑文本。 Mtext多行文字编辑器是AutoCAD R14中的新增功能,它提供了Windows文字处理软件所具备的界面和工作方式,它甚至可以利用Word97的强大功能编辑文本,这一功能可以用如下方法实现:  
打开“Tools”菜单选“Preferences” 命令,“Preferences”对话框弹出后,打开“Files/Text Editor,Dictionary,and Font File  
Name/Text Editor Application/Internal”,双击“Internal”,出现“Select a file”对话框,接着找到“Winword.exe”应用程序文件,击“打开”钮,最后单击“OK”返回。完成以上设置后,用户如再使用mtext命令时系统将自动调用我们熟悉的Word97应用程序,为AutoCAD中的文本锦上添花。  
36.巧用工具按钮自定义。AutoCAD中有许多lsp文件能为我们提供非常实用的命令,如chtext.lsp就是一个很好的文字修改命令,尤其适  
用于大批文字的修改,但在使用这样的命令之前必须先把lsp文件载入。一般你可以通过选取“Tools”菜单中“Load Application ...”选项,再利用对话框打开AutoCAD R14/Support下的Chtext.lsp文件,然后击 “Load”钮,或者也可以直接在命令行中键入“(load “chtext”)” 以达到载入的目的,如此做总有些繁琐。下面我们用自定义工具按钮的方式解决这个问题,右击任意工具钮,弹出“Toolbars”对话框,击“Customize...”钮,在“Categories:”中选“Custom”项,将出现的空按钮拖到工具条中目标位置,击“Close”钮返回,接着右击空按钮,出现“Button Properties”对话框,在“Name:”栏中为命令钮命名,“Help:”栏中你可写入或不写入内容,然后在“Macro:”中键入“(load “chtext”)cht”,至于“Button Icon",用户可选系统提供的图标,也可以点“Edit...”自行绘制或者直接调用已有的bmp文件,最后点“Apply”钮并依次关闭对话框返回。这样你自己的工作按钮就做成了。由于在后面增加了“cht”(注意:前面要有空格),所以你只要按下工具钮便可以直接去选择要编辑的目标文件。  
37.“Stretch”命令也是一个常用命令,但输入命令后,系统总要提示“select object to stretch by crossing_window or  
crossing_polygon...”,要求你再输入一个“C”后才能用鼠标去选择目标。为了使操作简化,用户只需将系统提供的工具按钮做些小小的修改即可。右击任意工具按钮弹出“Toolbars”对话框,再右击“stretch”工具钮弹出“Button Proporties”对话框,在“Macro:”框中的“^c^c_stretch”后键入空格和“C”。以后你再点击处理后的工具钮就可以直接选择目标进行操作。  
38.AutoCAD R14用户通常均采用系统给出的缺省格式存盘,这种格式存盘的缺点是文件所占空间大,不能用低版本的应用程序(如:  
AutoCAD R12、AutoCAD R13)打开,为避免磁盘空间的浪费,你可以在“Save Drawing As”对话框的“保存类型”中选“AutoCAD R12  
/LT2 Drawing”格式存盘。例如:同一dwg文件用两种方式存盘,它们的大小分别是87KB、58KB。可见差别还是很可观的。而且后者文件可以在R12、R13版本的应用程序中打开。这种方法对配置较低的用户尤为实用。  
39.有时在打开dwg文件时,系统弹出“AutoCAD Message”对话框提示“Drawing file is not valid”,告诉用户文件不能打开。这种情况下你可以先退出打开操作,然后打开“File”菜单,选“Drawing Utilities/Recover”命令,或者在命令行直接用键盘输入“recover”,接着在“Select File” 对话框中输入要恢复的文件,确认后系统开始执行恢复文件操作。  
40.汉化菜单。将support目录下的acad.mnu文件复制为chinese.mnu。用写字板打开chinese.mnu。仔细观察会发现其中有许多类似“***POP”的条目,每一条目定义了一列下拉菜单。将引号中的英文命令名称改为中文,存盘退出。再在R14中输入“menu”命令,将chinese.mnu菜单文件装入,下拉菜单就变成了中文。还可以再装入acad.mnu 文件将菜单还原。  
41.R14默认的“命令取消”键是“ESC”键,如果你已经习惯了R12的“Ctrl+C”怎么办呢?点击菜单Tools\ preferences\compatibility\ priority for accelerator keys\autoCAD classic,然后就可以用“Ctrl+C”取消命令了,同时“ESC”键仍然有效。    
42.trim命令中提示选取要剪切的图形时,不支持常用的window和crossing选取方式。当要剪切多条线段时,要选取多次才能完成。这时可以使用fence选取方式。当trim命令提示选择要剪除的图形时,输入“f”,然后在屏幕上画出一条虚线,回车,这时被该虚线接触到的图形全部被剪切掉。  
43.单击“Object Propertys”工具条上的“Make objects' layer current”按钮,然后在作图区选择要去的图层上的任一图形,当前层立刻变换到选取的图形所在层。  
44.用R14打开R12的文件时,即使正确地选择了汉字字形文件,还是会出现汉字乱码,原因是R14与R12采用的代码页不同。可到AutoDesk公司主页下载代码页转换工具wnewcp。运行wnewcp 后,首先选中“R11/R12”复选框,再单击“Browse”按钮,选择要转换的文件或目录,然后选择新的代码页,ANSI936或GB2312均可,单击“Start Conversion”即开始转换。转换后,在R14中就能正确地显示汉字
109
发表于 2005-6-29 12:13:29 | 只看该作者
AutoCAD中非图形特征的存取方法及应用  
Http://www.cnzzlm.com 2003-3-18 0:28:38 狂沙工作室  
  
一、引言  
  
  在进行产品设计时,很多时候只是设计出了产品的几何特征和属性,在图纸中很少涉及到其它非图形特征属性,如零件的材料、生产数量、拓扑关系等。这些非图形特征往往通过标注来实现,但在图纸本身的数据库中并没有保存这些有用的非图形特征信息。随着计算机技术的发展,尤其是网络和数据库的发展和成熟,图纸数据库中若不包含必要的非图形特征信息,就很难实现零件之间的关联及信息的相互利用,很难充分实现信息的共享。  
  
  AutoCAD 2000 以其强大的功能及对二次开发的支持和开放性,成为众多设计人员采用的工作平台和二次开发平台。它不仅能存储所生成图形的几何信息和其它相关信息,而且还允许用户建立自己的“非图形特征信息”,以便在图形文件中提供必要的较完整的产品数据,实现零件信息的自动统计,不同零部件的关联设计,自动提取所需零件及图纸的相关特征参数等,为后续开发和生产提供保障。  
  
  二、 非图形特征的存储和提取方法  
  
  在AutoCAD中,图形是指存储在数据库中的对象的集合。基本的数据库对象包括实体、符号表和字典。实体是一种指定类型的数据库对象,它在AutoCAD中有图形表示,如直线、圆、曲线和文字等;符号表和字典是用来存储数据库对象的容器对象。ObjectARX 使用户的应用程序能够访问这些数据库对象,另外,用户也可以为指定的应用程序创建新的数据库对象。  
  
  在通常的设计中,图纸中只包含了各种图形实体及实体的基本属性,如线型、图层和可见性等,一般都不包括基本属性以外的非图形特征属性,如实体的材料、加工方法等。我们可以利用扩展数据(Xdata)和扩展记录对象(Xrecord)来存储其非图形特征参数,为关联设计和CAPP等提供必要的信息。  
  
  1.扩展实体数据(Xdata)  
  
  ObjectARX、Visual Lisp等应用程序都可以创建扩展实体数据(Xdata),扩展实体数据可以附在任何对象上,AutoCAD 只负责维护这些信息,但并不使用这些信息。一个实体的扩展数据由应用程序所建立,跟随在该实体的正常定义数据之后,包含一个或多个1001组。每一组均以一个互不相同的应用程序名开头,扩展数据的组码在1000至1071之间,不同组码对应不同类型的信息。可用以下方法为指定对象附加扩展实体数据,获取指定对象的扩展实体数据。  
  
  (1)为指定对象附加扩展实体数据  
  
  Acad::ErrorStatus AcDbObjectetXData(const resbuf* xdata);  
  
  其中,xdata 为结果缓冲区链表,包含要添加的信息。  
  
  (2)获取指定对象的扩展实体数据  
  
  Acad::ErrorStatus AcDbObject:Data(const char* regappName);  
  
  其中,regappName 欲获取信息所属的应用程序名。  
  
  2.扩展实体词典和扩展实体记录  
  
  词典用以存储用户自己定义的各类符号表及其他大量数据。扩展实体记录就是一个Resbuf链表。该链表是一个数据组的列表,链表中每一节点都包含一个DXF组码及相关数据。扩展实体记录的DXF组码的范围是1~369,其中的数据没有任何限制,可以被任何其它对象所拥有。我们可以通过以下方法来实现对非图形特征信息的存储和提取。  
  
  (1)创建词典对象  
  
  Acad::ErrorStatus createExtensionDictionary();  
  
  (2)添加对象到扩展数据词典  
  
  Acad::ErrorStatus;  
  
  setAt(char* Key,AcDbObject* obj,AcDbObjectId[$ retobjId)]  
  
  其中,Key为加入到词典的新对象的索引关键字;  
  
  obj为加入到词典的新对象指针;  
  
  retobjId为加入到词典的新对象Id。  
  
  (3)检索指定关键字的扩展数据词典记录  
  
  Acad::ErrorStatus getAt(const char* entryName,AcDbObject*[$entryObj,AcDbpenMode mode) const]  
  
  其中,entryName为指定检索的关键字;  
  
  entryObj为返回的检索到的对象指针;  
  
  mode为对象打开的方式。  
  
  (4)添加数据到扩展数据记录  
  
  Acad::ErrorStatusAcDbXrecordetFromRb  
  
  Chain(resbuf[$ pRb,AcDbDatabase*pDb=NULL)]  
  
  其中,pRb为包含特征信息的结果缓冲区链表。  
  
  (5)获取扩展实体记录的内容  
  
  Acad::ErrorStatusAcDbXrecordbChain(resbuf**ppRb,AcDbDatabase*pAuxDb=NULL);  
  
  其中,ppRb为结果缓冲区结构指针。  
  
  三、非图形特征存储提取方法的应用  
  
  以上介绍了通过扩展实体数据和扩展实体记录对象来存储和提取非图形特征的方法。下面通过3个实例来介绍其应用。  
  
  1.利用扩展实体数据保存和提取实体非图形特征  
  
  在工厂电气布线中,需要对电缆设定代号、名称、产地等非几何特征,以便于对电缆等材料进行自动统计等后续工作。  
  
  (1)为电缆实体设定非图形特征  
  
  char appName[40];//应用程序名  
  
  char daihao[40];//电缆代号  
  
  char mingcheng[40];//电缆名称  
  
  ads_real length;//电缆长度  
  
  struct resbuf *pRb,*pTemp;  
  
  ……//通过对话框等方式对daihao,mingcheng,length赋初值  
  
  strcpy(appName,“diqibuxian”);  
  
  acdbRegApp(appName);//以appName登记图形中一个应用程序名  
  
  pRb = acutNewRb(AcDbDxfRegAppName);//分配结果缓冲器  
  
  pTemp = pRb;  
  
  pTemp->resval.rstring= (char*)malloc(strlen(appName)+1);  
  
  strcpy(pTemp->resval.rstring, appName);//将数据存入结果缓冲器链表  
  
  pTemp->rbnext=acutNewRb(AcDbDxfXdAsciiString);  
  
  pTemp=pTemp->rbnext;  
  
  pTemp->resval.rstring= (char*)malloc(strlen(daihao)+1);  
  
  strcpy(pTemp->resval.rstring, daihao); //将代号存入结果缓冲器链表  
  
  ……  
  
  pTemp->rbnext=acutNewRb(AcDbDxfxdLong);  
  
  pTemp=pTemp->rbnext;  
  
  pTemp->resval.rreal=length;  
  
  AcdbObject *pObj;//通过一定的方式获取需要添加数据的对象  
  
  pObj->SetXData(pRb);//为对象添加扩展实体数据  
  
  pObj->close();  
  
  acutRelRb(pRb);  
  
  (2)获取指定对象的扩展实体数据  
  
  AcDbObject* pObj;  
  
  char appName[40];//应用程序名  
  
  char daihao[40];//电缆代号  
  
  char mingcheng[40];//电缆名称  
  
  ads_real length;//电缆长度  
  
  struct resbuf *pRb;  
  
  strcpy(appName,“dianqibuxian”);  
  
  pRb=pObj->xData(appName);//获取应用名appName指定的扩展数据  
  
  if(pRb!=NULL)  
  
  { int n=0;  
  
  for(;pRb!=NULL;pRb=pRb->rbnext)  
  
  { if(pRb->restype==1000)  
  
  { n++;  
  
  if(n==1)  
  
  strcpy(daihao,pRb->resval.rstring);//得到电缆代号  
  
  if(n==2)  
  
  strcpy(mingcheng,pRb->resval.rstring);//得到电缆名称  
  
  }  
  
  if(pRb->restype==1040)  
  
  length=pRb->resval.rreal;  
  
  }  
  
  }  
  
  acutRelRb(pRb);  
  
  2.利用扩展记录对象实现关联设计  
  
  在参数化设计过程中,零件甲中的某些参数与零件乙的设计有关联。我们设计零件乙时就需要从零件甲的图纸数据库中获取所需的参数,实现关联设计。  
  
  (1) 在零件甲的图纸空间中保存关联参数  
  
  ads_real bl,fl;//零件甲与零件乙相关联的参数  
  
  AcDbDictionary *pNamedobj, *pDict;  
  
  acdbHostApplicationServices()->workingDatabase()  
  
  ->getNamedObjectsDictionary(pNamedobj, AcDbForWrite);  
  
  //获取当前数据库中的命名对象字典  
  
  pNamedobj->setAt("Guanliansheji", pDict, DictId);  
  
  pNamedobj->close();  
  
  AcDbXrecord *pXrec = new AcDbXrecord;  
  
  AcDbObjectId xrecObjId;  
  
  pDict->setAt("XREC1", pXrec, xrecObjId);  
  
  pDict->close();  
  
  struct resbuf *pHead;  
  
  pHead = acutBuildList(AcDbDxfReal, bl,AcDbDxfReal,fl,0);  
  
  //设置包含参数bl,fl的结果缓冲器链表  
  
  pXrec->setFromRbChain(*pHead);//给扩展记录对象附加信息  
  
  acutRelRb(pHead);  
  
  pXrec->close();  
  
  (2) 在设计零件乙的过程中,从零件甲的图形文件中获取所需的相关参数  
  
  AcDbDatabase* pDb = new AcDbDatabase(false, true);  
  
    pDb->readDwgFile(fname);//fname为零件甲的图形文件名  
  
    AcDbDictionary *pNamedobj;  
  
  pDb->getNamedObjectsDictionary(pNamedobj, AcDbForRead);  
  
  AcDbDictionary *pDict;  
  
  pNamedobj->getAt("Guanliansheji", (AcDbObject*&)pDict,  
  
  AcDbForRead);//获取名为Guanliansheji的数据词典  
  
     pNamedobj->close();  
  
  AcDbXrecord *pXrec;  
  
  pDict->getAt("XREC1", (AcDbObject*[$) pXrec,AcDbForRead)]  
  
  //获取关键字为XREC1的扩展记录对象  
  
  pDict->close();  
  
  struct resbuf *pRbList;  
  
  pXrec->rbChain([$pRbList)]//获取包含特征信息的结果缓冲器链表  
  
     pXrec->close();  
  
  bl=pRbList->resval.rreal;//获取关联参数bl  
  
     pRbList=pRbList->rbnext;  
  
    fl=pRbList->resval.rreal; //获取关联参数fl  
  
  acutRelRb(pRbList);  
  
  3. 其他应用  
  
  前面介绍了如何利用扩展实体数据和扩展记录对象来存储和提取非图形特征,除此以外,还有更多的应用。例如,在CAPP中自动提取零件的一些特征参数供工艺设计用,可减少重复的工作,提高整个设计过程的效率。  
  
  四、结束语  
  
  本文介绍了在AutoCAD中通过二次开发程序来实现非图形特征信息的存储和提取,这些方法可以大大提高图纸数据库中的信息含量,从而为后续的产品设计和开发工作提供基础,大大提高设计效率。  
  
   
  
110
发表于 2005-6-29 12:13:41 | 只看该作者
AutoCAD中输入特殊字符  
Http://www.cnzzlm.com 2003-3-22 11:08:58 狂沙工作室  
  
---- 在进行AutoCAD软件的实际绘图中,我们经常需要输入一些特殊字符,如表示直径的Ф、表示地平面的±等,这些特殊字符无法直接从键盘上输入。AutoCAD软件为这些字符的输入提供了一些简捷的控制码。  
  
----AutoCAD提供的控制码,均由两个百分号(%%)和一个字母组成,输入这些控制码后,屏幕上并不立即显示它们所代表的特殊符号,只在回车结束本次标注命令之后,控制码才会变成相应的特殊字符。  
  
----控制码及其相对应的特殊字符见下表所示:  
  
控制码 相应特殊字符及功能
%%O 打开或关闭文字上划线功能
%%U 打开或关闭文字下划线功能
%%D 标注度符号“°”
%%P 标注正负号“±”
%%C 标注直径“Ф”
  
----很明显,这些特殊字符的数量远远不能满足我们在进行绘图时的实际需要,有的用户不得不采用从WORD97中粘贴的办法,这样既麻烦又很不方便。实际上,AutoCAD软件从14.0版本起提供了通过“字符映射表”来增加特殊字符的方法,我们完全可以在“字符映射表”中找到所需要的特殊字符。具体操作如下 :  
  
----1. 单击绘图工具栏上的“A”按钮或输入MTEXT(标注多行文本)命令,AutoCAD软件会提示要求用户在屏幕上选择指定文本边框的第一个角点,当指定了文本边框的第一个角点后,向左或向右拖动光标确定了段落文字的分布宽度,而向上或向下拖动光标就确定了文字分布的另一方向。一旦用户建立了文本边框, AutoCAD就会打开【Multiline Text Editor】对话框,我们就可以在此对话框中输入文本,当文本到达定义边框的右边界时,AutoCAD将自动换行。在这个对话框中,我们可以看到右侧四个按钮中有一个是“Symbol”,这就是我们输入特殊字符时所要使用的主要功能按钮。  
  
----2.单击这个按钮右下角的箭头,打开一个下拉列表,我们可以看到有“Degress %%d”、“Plus/Minus %%p”、“Diameter %%c”、“Non-breaking Space”、“Other”四个选项,选择前三个的某一选项可直接输入“°、±、Φ”符号。  
  
----3.单击选项“Other”时,可以有更多的选择,AutoCAD 会打开“字符映射表”对话框,该对话框包含更多的符号供用户选用,其当前内容取决于用户在“字体”下拉列表中选择的字体,它的界面完全是我们所熟悉的中文界面,相信各位应该没有什么问题。  
  
----4.在“字符映射表”对话框中,选择要使用的字符,然后双击被选取的字符或单击按钮“选择(S)”,则字符出现在“复制字符”框中,单击按钮 “复制(C)”,将字符拷贝到剪贴板上,单击按钮“关闭”,返回【Multiline Text Editor】对话框,将光标放置在要插入字符的位置,单击右键,弹出光标菜单,选择“Paste”选项,就将字符从剪贴板上粘贴到当前窗口中。  
  
   
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-2-12 01:32 , Processed in 0.030746 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表