二维CAD > CAD技巧
+

AutoCAD二次开发自定义命令(3)

2011/7/5    作者:未知    来源:网络转载    阅读:1351

 

三、圆的中心线绘制命令“zxx”
在绘图中,若需要绘制已知圆的中心线,可调用下面的程序。加载后在命令行中键入“zxx”并回车,只要按提示选择圆并输入中心线的延伸长度,即可自动生成该圆的中心线,并可连续绘制。代码示例如下所示。
(defun C:zxx()
 (setvar "osmode" 512)
 (setq loop T)
 (while loop
  (setq pc (getpoint "\n 请用鼠标选择圆:"))
  (setq s(ssget pc))
  (if s
   (progn
  (setq s1(entget(ssname s 0))
     pt0(cdr(assoc 10 s1));获得圆心坐标
     r (cdr(assoc 40 s1));获得圆的半径
     )
  (setq l (getreal "\n 请输入中心线延伸长度(mm):"))
  (command "layer" "m" 5 "l" "center" 5 "c" 1 5 "")
 (command "ltscale" 8);设置线型比例
 (command "line"
(polar pt0 (- pi) (+ r l));画中心线
   (polar pt0 0 (+ r l)) "")
 (command "line" (polar pt0 (-(/ pi 2.0)) (+ r l))
   (polar pt0 (/ pi 2.0) (+ r l)) "")
 (command "layer" "s" 0 "")
  );progn
   (setq loop nil)
   );if
  );while
 );end defun
用户还可以将自定义的AutoCAD命令定制成用户菜单或工具栏,以方便使用。如,将上面介绍的几个绘图命令定制到下拉菜单中的方法是:打开AutoCAD安装目录下SUPPORT子目录中的ACAD.MNU文件,在***POP7项的最后加入下面内容,再加载已修改的菜单文件即可。
[--]
ID_User [键槽图绘制(jct)]^C^C_(if(not jct)(load "d:/Acad R14/jct.lip"));jct;^p
ID_User [螺纹孔绘制(lwk)]^C^C_(if(not lwk)(load "d:/Acad R14/lwk.lip"));lwk;^p
ID_User [中心线(zxx)]^C^C_(if(not zxx)(load "d:/Acad R14/zxx.lip"));zxx;^p 

  • 相关文章
  • 热门文章
免责申明:天天CAD教程网旨在相互学习交流,是一个完全免费的网站,部分原创作品,欢迎转载,部分内容来自互联网,如果侵犯了您的权利请尽快通知我们!邮箱:qm198794@gmail.com天天CAD教程网湘ICP备17006802号
【回到顶部】