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

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

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

无标题文档

天圆液压产品中心

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

AutoCAD液压站的定制与开发(2)

时间:2017-01-07 09:00来源:天圆网站 作者:天圆液压 点击:
(1)定义下拉菜单(插入在原有的下拉菜单之后) ***POPx [自制CAD(Z)] [图幅比例(A)]^C^C_bscale [--] 说明: 1)设置第x个下拉菜单 2)第x个下拉菜单的功能项名称,快捷键代码为Z 3)下拉菜单的分项名称,^C^C执

(1)定义下拉菜单(插入在原有的下拉菜单之后)    
    ***POPx
     [自制CAD(&Z)]
     [图幅比例(&A)]^C^C_bscale
     [--]
    说明:
    1)设置第x个下拉菜单
    2)第x个下拉菜单的功能项名称,快捷键代码为Z
    3)下拉菜单的分项名称,^C^C执行二次中断操作然后执行后面的命令(功能中所定义的,如bscale)
    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)
分享按钮
------分隔线----------------------------