十五年专注于
液压缸筒生产

全国咨询热线:
400-086-9833

   热门关键词修理 加工 活塞杆 缸筒 不锈钢

无标题文档

天圆液压产品中心

当前位置:主页 > 行业资讯 >

对AutoCAD油缸的定制和开发探讨(2)

时间:2017-03-27 11:00来源:来自网络 作者:天圆液压 点击:
4)在下拉菜单中显示分隔符 图2 定义图标工具栏 (2)定义图标工具栏(插入在原有的图标菜单之后) **MYCAD [_Toolbar("MYCAD", _Floating, _Show, 0, 1, 0)] [_Button("图幅比例", "bscale.bmp", "bscale.bmp")] ^C^C_b

  4)在下拉菜单中显示分隔符

图2 定义图标工具栏

  (2)定义图标工具栏(插入在原有的图标菜单之后)

  **MYCAD

  [_Toolbar("MYCAD", _Floating, _Show, 0, 1, 0)]

  [_Button("图幅比例", "bscale.bmp", "bscale.bmp")] ^C^C_bscale

  [--]

  重新进入CAD,您就可以看到所编制的下拉菜单和图标标工具栏了。如果没有,请在Command状态下输入menu(回车),在弹出的对话框中选中您刚刚保存的acad.mun(或acad.mns),然后按确定按钮。另外,图标工具栏也可手工定制。在绘图环境下的任意图标上按鼠标右键,弹出菜单选择自定义,在自定义对话框中选择工具栏,按新建按钮,在工具栏名称中输入MYCAD,按确定按钮。再选择命令中的用户定义,按住鼠标左键拖动用户定义的按钮到MYCAD的工具栏中后,鼠标左键单击该按钮,在按钮特性中输入用户定义的按钮名称如“图幅比例” ,在与此按钮关联的宏中输入^C^C_bscale,然后选择编辑按钮,可以在按钮编辑器上直接画,也可打开bscale.bmp文件(如:用Photoshop绘画的),选中应用按钮。其余的图标定制方法以此类推。

  三、笔者开发的AutoCAD的功能及使用方法

  1.程序

  (1)定义对称线

  (defun c:dcx (/ ss1 dist p1 p2 p3 p4 p5 len pn pm pn1 pm1 ee ang1 sb)

  (setvar "orthomode" 1)

  (setq sb (getvar "osmode"))

  (setvar "osmode" 33)

  (setq ss1 (ssget)

  dist (getdist " 请输入平行线间的距离:")

  p1 (getpoint " 起始点或特征点:")

  len (getdist p1 " 终点或特征点或长度:")

  ee (entget (ssname ss1 0))

  p2 (cdr (assoc 10 ee))

  p3 (cdr (assoc 11 ee))

  ang1 (angtos (angle p2 p3) 0 1)

  )

  (command "_UCS" "_Z" ang1 "")

  (setq p4 (trans p1 0 1)

  p5 (trans p2 0 1)

  pn (list (car p4) (+ (cadr p5) (/ dist 2.0)))

  pm (list (car p4) (- (cadr p5) (/ dist 2.0)))

  pn1 (polar pn 0 len)

  pm1 (polar pm 0 len)

  )

  (setvar "osmode" 0)

  (command "line" pn pn1 "" "line" pm pm1 "")

  (command "_UCS" "_W" "")

  (setvar "osmode" sb)

  )

  (2)定义粗糙度

  (defun C:wbin (/ sa)

  (setq sa (getvar "osmode"))

  (setvar "osmode" 0)

  (setq sc (getvar "DIMSCALE"))

  (setvar "osmode" 512)

  (command "insert" "ccd" pause sc sc pause)

  (setvar "osmode" sa)

  )

  (3)定义序列号

  (defun C:bub1 (/ p1 p2 p3 sc hd hd1 k h sb )

  (setq sb (getvar "osmode"))

  (setvar "osmode" 0)

  (setq h (getint " 序列号的个数:")

  p1 (getpoint " Firstpoint:")

  )

  (setvar "osmode" 512)

  (setq p2 (getpoint p1 " Secondpoint:")

  sc (getvar "DIMSCALE")

  hd (* 7 sc)

  hd1 (* 4 sc)

  )

  (setvar "osmode" 0)

  (command "LAYER" "S" "03" "" "donut" 0 sc p1 "" "line" p1 P2 "")

  (if (> (car p2) (car p1))

  (setq an1 0)

  )

  (if (< (car p2) (car p1))

  (setq an1 pi)

  )

  (setq p3 (polar p2 an1 hd))

  (command "line" p2 P3 "")

  (setq p0 p2

  k 2

  )

  (while (<= k h)

  (setq p2 (list (car p2) (+ (* 8 sc) (cadr p2)))

  p3 (polar p2 an1 hd)

  )

  (command "line" p2 P3 "")

  (setq k (1+ k))

  )

  (setq pt (list (/ (+ (car p2) (car p3)) 2) (+ (* 1.2 sc) (cadr p3))))

  (command "line" p0 P2 ""

  "LAYER" "S" "0" ""

  "dtext" "J" "C" pt hd1 0

  )

  (setvar "osmode" sb)

  )

  (4)定义形位公差

  (defun C:gc (/ pp1 pp2 pp3 pp4 s2 k1 k2 sb1 sb2 g1)

  (setq sb1 (getvar "ORTHOMODE")

  sb2 (getvar "OSMODE")

  )

  (setvar "ORTHOMODE" 1)

  (setvar "OSMODE" 512)

  (setq pp1 (getpoint " 请在实体上选一点:"))

  (setvar "OSMODE" 0)

  (setq pp2 (getpoint pp1 " 请确定引出线位置:")

  pp3 (getpoint pp2 " 请确定引出线终点:")

  s2 (getvar "DIMSCALE")

  g1 (angle pp1 pp2)

  k1 (* 1.5 s2)

  k2 (* 4.5 s2)

(责任编辑:admin)
分享按钮
------分隔线----------------------------