分享

结构小站 | 录制宏

 CHENYUMEN 2024-04-26 发布于云南

图片


我们知道excel中,如果遇到需要经常重复的操作,可以通过录制宏来完成这些重复的操作。如下图所示。

图片

那么在cad中是不是也可以参考excel,把重复的操作录制成一个宏命令尼?
利用本文这个工具是完全可以实现的,我们先看演示效果。

图片
加载本工具后,首先输入命令'SS'开始录制命令,这时就可以开始我们正常的操作命令,例如写文字,画线,画圆,绘制云线,移动,复制等等操作,完成我们所需要的录制命令后,再一次输入'SS'结束录制。
这时就会弹出一个文本框,记录了我们操作了过程,只要把这个文件另存成lsp文件,再加载进来就可以重复刚刚的操作了。
录制的操作命令如下所示,默认命令是test,可以自己修改。

(defun c:test( / );默认命令

;----系统变量备份----

(setvar 'cmdecho' 0);_关闭命令提示

(setq osmode_bak (getvar 'osmode'));_记录捕捉

(setvar 'osmode' 0);_关闭捕捉

(setq clayer_bak (getvar 'clayer'));_记录当前图层

(setq cecolor_bak (getvar 'cecolor'));_记录当前颜色

(setq celtype_bak (getvar 'celtype'));_记录当前线型

(setq textstyle_bak (getvar 'textstyle'));_记录当前文字样式

;----操作记录开始----

(entmake '((0 . 'LWPOLYLINE') (5 . '1C62') (100 . 'AcDbEntity') (67 . 0) (410 . 'Model') (8 . '0') (100 . 'AcDbPolyline') (90 . 4) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 261756.0 3650.49) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 312541.0 3650.49) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 312541.0 -34272.8) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 261756.0 -34272.8) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0)) );生成图元

(setq ob1C62(entlast));生成图元

(entmake '((0 . 'LINE') (5 . '1C63') (100 . 'AcDbEntity') (67 . 0) (410 . 'Model') (8 . '0') (100 . 'AcDbLine') (10 383418.0 -33157.4 0.0) (11 462666.0 -33157.4 0.0) (210 0.0 0.0 1.0)) );生成图元

(setq ob1C63(entlast));生成图元

;----操作记录结束----

;----系统变量还原----

(setvar 'osmode' osmode_bak);_还原捕捉

(setvar 'clayer' clayer_bak);_还原图层

(setvar 'cecolor' cecolor_bak);_还原颜色

(setvar 'celtype' celtype_bak);_还原线型

(setvar 'textstyle' textstyle_bak);_还原文字样式

(setvar 'cmdecho' 1);_打开命令提示

(princ);_关闭程序返回值

);_程序结束

下载路径

图片

下载地址:ycz007.ys168.com

作     者:nonsmall

命     令:SS开始录制,SS结束录制

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多