找回密码
 注册会员
查看: 177|回复: 3

求高手帮我改一下这个程序

[复制链接]
发表于 2011-12-20 12:56:03 |Error| 显示全部楼层 |阅读模式

让我们的手紧紧相连,一起成长。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
(defun cblock(/ a b c d e f val val1) ;主函数开始

(setq val(getvar "cmdecho")) ;获系统变量“是否回显”参数
(setvar "cmdecho" 0) ;设command 函数运行期间,AutoCAD 不回显提示和输入

(defun *error* (msg) ;按ESC键时的处理方法
(setvar "GRIPSIZE" val1) ;按ESC键时把夹点恢复原来大小
(princ"")
;(princ msg)
;(princ)
)

(setq a(cadr(ssgetfirst)));判断当前图形是否有既被夹取的对象,如果有则把这个选择集赋予变量a
(if(= a nil) ;如果变量a为空时
(progn
(setq val1(getvar "GRIPSIZE")) ;获得系统夹点大小
(print "-> 请选择要设为块的对象或按<Esc>退出") ;显状态栏提示的信息
(setq b(ssget));创建一个选择集
(Initget 1) ;为随后的交互输入函数getpoint创关键字
(setq c(getpoint"\n指定基点:"));获得一个三维点坐标
;(setq d(list (car c) (cadr c)));转换为二维点坐标(在此不必要)
(command "undo" "group") ;为Undo编组
(command "copybase" c b "");调用AUTOCAD的COPYBASE命令
(Command "erase" b "");调用AUTOCAD的ERASE命令删除B选择集
(command "pasteblock" c);调用AUTOCAD的PASTEBLOCK命令
(command "undo" "end") ;Undo编组结束

(prompt "\n***** 对象设为块成功! *****") ;显状态栏提示的信息
)

(progn ;如果变量a不为空时

(setq val1(getvar "GRIPSIZE")) ;获得系统夹点大小
(setvar "GRIPSIZE" 1) ;设夹点大小
(print "-> 所选对象将设为块或按<Esc>退出:") ;显状态栏提示的信息
(Initget 1) ;为随后的交互输入函数getpoint创关键字
(setq c(getpoint"\n指定基点:"));获得一个三维点坐标
(setvar "GRIPSIZE" val1) ;把夹点恢复原来大小
;(setq d(list (car c) (cadr c)));转换为二维点坐标(在此不必要)
(command "undo" "group") ;为Undo编组
(command "copybase" c a "");调用AUTOCAD的COPYBASE命令
(Command "erase" a "");调用AUTOCAD的ERASE命令删除B选择集
(command "pasteblock" c);调用AUTOCAD的PASTEBLOCK命令
(command "undo" "end") ;Undo编组结束

(prompt "\n***** 对象设为块成功! *****") ;显状态栏提示的信息

)
);IF结束
(princ);静默退出

(setvar "cmdecho" val) ;设command 函数运行期间,AutoCAD 的回显提示和输入恢复原状
);主函数结束

;;;--------------------------------END----------------------------------------

这个程序就是我们复制粘贴为块的一个操作,用起来比较卡
我想自动以时间(年月日时分秒)为块名快速建快
 楼主| 发表于 2011-12-21 10:52:18 |Error| 显示全部楼层
知道的吭一声呀
回复 顶 踩

使用道具 举报

发表于 2011-12-21 17:23:58 |Error| 显示全部楼层
有点难度,还是请高手专家级的出来指点一下。学习!
回复 顶 踩

使用道具 举报

发表于 2013-3-19 06:40:17 |Error| 显示全部楼层
这可要懂得编程的高手才能搞定,应该是属于数控的吧?
回复 顶 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

闭关者|手机版|© 2005-2026|Cncad.Net ( 苏ICP备2026083443号 )|网站地图

GMT+8, 2026-11-9 22:09 , Processed in 0.214277 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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