模具论坛
标题:
ACAD二次开发小程序
[打印本页]
作者:
lyxdjt
时间:
2004-9-11 20:35
标题:
我也奉献几个ACAD二次开发小程序------以此支持并呼应新任版竹KOKO1998
看到此版块有新任斑竹并发出教程贴,由衷的高兴,感觉也许此版块以后会有一些新气象和生机,我在此表示祝贺,当然更应有点行动,所以也来几个ACAD二次开发小程序,需要解释一下的是,这是我在97年使用ACADR12时的作品,由于当时根本看不到HMCAD与THMCAD以及INTERCAD这样的二次开发软件,所以当时下了许多功夫去编写一些AUTOLISP程序,比如自动输入图框和标题栏,标注粗糙度符号,标准轴素生成等等,但现在都没用了,因为软件开发商的水平比我高得多,不过还有几个到现在我还在用. 现在我拿出来,奉献给各位.
作者:
lyxdjt
时间:
2004-9-11 20:40
标题:
ACAD二次开发小程序
(defun c:ZA()
(command "zoom" "a"))
命令:ZA
这是一个ZOOM的子命令,相当与执行ZOOM后的选项A,恢复到全视窗.
作者:
lyxdjt
时间:
2004-9-11 20:43
(defun c:ZP()
(command "zoom" "p"))
命令:ZP
这也是一个ZOOM的子命令,相当与执行ZOOM后的选项P,恢复到前视窗.
作者:
lyxdjt
时间:
2004-9-11 20:45
<P>(defun c:JSQ()
(COMMAND "SH" "CALC"))</P><P>命令: JSQ</P><P>在ACAD环境中执行WINDOWS下计算器的命令.</P>
作者:
lyxdjt
时间:
2004-9-11 20:50
<P>(defun c:UCSO()
(command "UCS" "O"))</P><P>命令:UCSO</P><P>大家不要小看它,它让你立刻执行重新设置用户坐标系原点,这可是为方便做图使用频率最高的命令了.</P>
作者:
lantumold
时间:
2004-9-28 14:47
<P>一个朋友让我帮忙修改的程序--选择一个线性标注尺寸,不用回车或单击右键直接加上Φ:</P><P>(defun c:dw (/ n nt qsel sel)
(setvar "cmdecho" 0)
(setq sel (entsel "\n选择要加φ的尺寸:"))
(if (= (cdr (nth 31 (entget (ssname qsel n)))) "AcDbAlignedDimension")
(command "dimoverride" "dimpost" "%%c<>" "" sel "")
)
(setvar "cmdecho" 1)
(princ)
)</P><P>怎么修改?</P>
作者:
lantumold
时间:
2004-9-28 14:48
;;程序1:核心部分主程序可以实现无须右键确认增加前缀φ;;
(defun c:dw (/ sel)
(setvar "cmdecho" 0)
(setq sel (entsel "\n选择要加φ的尺寸:"))
(command "dimoverride" "dimpost" "%%c<>" "" sel "")
(setvar "cmdecho" 1)
(princ)
)
作者:
lantumold
时间:
2004-9-28 14:49
;;程序2:防止误选与不选;
(defun c:dw (/ sel)
(setvar "cmdecho" 0)
(while (= sel nil) (setq sel (entsel "\n选择要加φ的尺寸:")));防止不选;
(command "dimoverride" "dimpost" "%%c<>" "" sel "")
(setvar "cmdecho" 1)
(princ)
)
作者:
lantumold
时间:
2004-9-28 14:51
<P>;;防止错选;
(defun c:dw (/ sel typ nth38 nth32 condition)
(setvar "cmdecho" 0)
(setq condition 0);虚拟一个变量作为循环终止条件;
(while (= condition 0)
(progn
(setq sel (entsel "\n选择要加φ的尺寸:"))
(if (= sel nil) (princ);如果没有选择倒回去再选;
(progn
(setq typ (cdr(assoc 0 (entget(car sel)))))
(if (= typ "DIMENSION") (progn
(setq nth38 (cdr(nth 38 (entget(car sel)))))
(setq nth32 (cdr(nth 32 (entget(car sel)))));筛选出标注;
);注意:当标注与对象关联时原始数据为38项,当没有关联时原始数据为32项;
)
(if (or (= nth38 "AcDbRotatedDimension") (= nth32 "AcDbRotatedDimension"));OR是或者的意思,两个有一个成立即可
(setq condition 1)
);当选择到转角时设置虚拟变量condition=1
)
)
)
)
(command "dimoverride" "dimpost" "%%c<>" "" sel "")
(setvar "cmdecho" 1)
(princ)
)</P><P>写程序应该是这样的,先把程序结构(也就是框架与流程)明确了,实现基本功能再一步一步完善。</P><P>这是给初学者一个建议。</P>
作者:
qustjiziyi
时间:
2008-5-21 09:43
哎!钱不够啊!哈哈!以后得抓紧时间挣钱啊!
作者:
continue
时间:
2008-10-29 23:42
这些是蛮简单的吧。老大,
作者:
iffjyie
时间:
2008-12-25 11:37
标题:
好东西
哈哈!蛮好用的哦啊!
作者:
TAOSHUWU
时间:
2009-2-4 23:19
正在 找呀,太谢谢了
作者:
fangchiwen
时间:
2009-2-13 13:05
祝福
要过情人节了
节日快乐
作者:
fangchiwen
时间:
2009-2-13 20:25
下载试用了无须右键确认增加前缀φ.可惜是加后缀φ而不是加前缀φ.怎样改为加前缀φ那就更好了
作者:
yjlzjg
时间:
2009-5-22 09:24
可憐的我,這些你們都說是簡單的東西可是我一點都不通!我要了很多看看都是看不出什麼名堂來!!
作者:
hawk101
时间:
2009-5-22 22:06
谢谢!学习中!!!
作者:
siiling16
时间:
2009-6-8 00:23
非常不錯!謝謝分享!感謝!
作者:
cwc7711
时间:
2009-6-8 15:52
没钱啊.
作者:
zouweiproe
时间:
2009-6-8 17:01
不懂这些..............
作者:
wjy-59
时间:
2009-6-16 14:12
谢谢楼主,努力学习中。
作者:
chenzhihua5459
时间:
2009-6-16 14:29
挺不错的 挺好的 我刚好需要 谢谢
作者:
19620276
时间:
2009-10-2 17:55
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 17:57
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 17:57
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 17:58
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 17:58
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 17:58
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 17:59
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 17:59
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 18:03
ACAD二次开发小程序
(defun c:ZA()
作者:
19620276
时间:
2009-10-2 18:04
ACAD二次开发小程序
(defun c:ZA()
作者:
kim0929332225
时间:
2009-11-15 13:07
真是高手如雲阿
謝謝你們的教導
作者:
qiyan1113
时间:
2009-12-20 17:08
这个东西挺好的,楼主也挺明白啊,不错啊
作者:
liessly
时间:
2018-4-1 23:08
提示:
该帖被管理员或版主屏蔽
欢迎光临 模具论坛 (https://www.mouldbbs.com/)
Powered by Discuz! X3.4