这几天在设计一个应用了DCL对话框的程序,碰到了一个让人非常恼火的问题:对话框操作完成以后,点击OK按钮,这时屏幕上的对话框本应立即关闭,可事实上却总是滞留很长一段时间,一直要到后续处理进行了一段时间之后才能完全清屏,如下图。
检查程序设计应该没有什么问题,试了很多方法也不能彻底解决,如用REDRAW命令不起作用,用REGER命令会影响程序执行的流畅性,我甚至试了用ZOOM-S-1X,也不行。
后来冷静下来分析,我发现在后续程序执行过程中,只要在对话框区域内有新的实体生成,就会局部清屏——我灵机一动,用下面两行程序试了一下,果然成功:
(VL-CMDF "RECTANG" (GETVAR "VSMAX")(GETVAR "VSMIN"))
(VL-CMDF "UNDO" 1)
2009年1月1日星期四
清屏的一个小技巧
2008年12月31日星期三
求一个选择集中X、Y的最大最小值
- 程序名称:TYMAXMIN<下载>
- 程序功能:求一个选择集中X、Y的最大最小值
- 格式:(TYMAXMIN ss)
入口参数ss是一个选择集 - 返回:(x-min x-max y-min y-max)
- 说明: 本程序是我在编写另外一个程序时用到的子程序,花费了我两三个晚上的时间。
程序对选择集中的直线、圆弧、圆、单行文本、多义线和块进行处理,求出X、Y的最大和最小值。选择集中的块可以放大、缩小或旋转,但不得嵌套。
2008年12月20日星期六
生成云线
2008年12月19日星期五
2008年12月14日星期日
AutoCAD命令行读书器TYReader
2008年12月13日星期六
在AutoCAD命令行写日记
如果在TYDIAry.FAS放置目录中有日记文件MYDIA.TXT、MYDIA.LOG或MYDIA.WRI,则所写内容自动加入到该日记文件中,否则退出时会弹出一对话框要求选择日记文件。
TYBRowser浏览或用TYEditer修改。
2008年12月12日星期五
AutoCAD环境下的文本更改工具--TYEditer
- 程序名称:TYEditer.FAS(下载)
- 命令:TYE
- 功能:不必退出AutoCAD环境即可修改文本文件(如日记)。我本想采用AutoCAD的多文本编辑器DDEDIT来编辑文本文件,但经过测试发现,含有某些特殊字符的文件经DDEDIT编辑后,有时会出现错误。暂时先用NOTEPAD来编辑了。
- 使用方法:加载程序,在命令行中键入命令TYE并回车后,会弹出一文件选择窗口,选中欲编辑的文件后,再弹出NOTEPAD窗口用于文件编辑。
- 演示
AutoCAD环境下的文本工具--TYBRowser
- 程序名称:TYBRowser.FAS(下载)
- 命令:TYBR
- 功能:在AutoCAD环境下阅览文本文件(如日记)
- 使用方法:加载程序,在命令行中键入命令TYBR并回车后,会弹出一文件选择窗口,选中欲浏览的文件后,再弹出一窗口用于文件阅览
- 演示
2008年12月6日星期六
Lisp程序加密工具----程序转换

下面是转换前TYJIAMI.LSP的片断:
;;加密程序;
;;1--去掉程序中的注释--OK
;;2--将程序中的变量名转换成无意义字串--OK
;;3--加入注册码
;;4--转换成PFS文件
;;5--加入相关文件,如DCL文件,生成XL文件
;;;
(DEFUN c:tyjm (/)
;;置换表中指定位置的元素
(DEFUN sub_replace (a n l / i l1)
(SETQ l1 '()
i 0
)
(WHILE (<>
下面是转换后NEW-TYJIAMI.LSP里对应的片段:
( DEFUN c:tyjm ( / )
( DEFUN sub_replace ( TY1 TY2 TY3 / i TY4 )
( SETQ TY4 ' ( )
i 0
)
( WHILE ( <>
两者的区别显而易见。
多功能特性更改命令DDMODIFY的移植
在AutoCAD早期版本中有一个多功能特性更改命令DDMODIFY,每点选一个不同类型的实体以后,都会在屏幕上弹出一个特性更改窗口,使用非常快捷、方便。不知为什么升级到2002版本后,AutoDESK公司取消了这一功能,而代之以properties,可properties窗口太过繁杂,使用不便之外,用完之后还不会自动关闭。值得庆幸的是,DDMODIFY是一个外部命令:我从AutoCAD2000中找到了DDMODIFY.LSP和DDMODIFY.DCL两个文件,可是加载以后,当点选某些类型的实体进行更改的时候,常常引起AUTOCAD崩溃、退出。通过一次又一次的调试,我终于找到并排除了原程序中几处引起AUTOCAD崩溃、退出的错误。我把它从AUTOCAD2002,一直用到2004、2005、2007,效果良好。为了与原始的DDMODIFY区分,我把更改后的程序命名为TYMODIFY.
1. 程序名称:TYMOdify.FAS , tymodify.dcl
2. 命令名: TYMO
3. 下载与安装:请到我的网盘里下载TYMODIFY.FAS文件和动态对话框文件TYMODIFY.DCL
下载地址:<tymodify.fas> , <tymodify.dcl>
这两个文件下载后,最好放在目录C:\TYLISP下(推荐),或放在其他任何AUTOCAD支持路径下,加载后即可执行。
4. 演示
订阅:
博文 (Atom)