RSS
热门关键字:  plc  单片机设计  加工误差解决方法  PLC温度控制  电机
当前位置 : 机电专业技术网>CAD/CAM>AutoCAD>列表

AutoCAD的定制与开发

发布时间:2008-03-27 关键字: 开发 定制 输入 回车 属性 定义 setq 设置 p2 setvar


    三、笔者开发的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 "\n请输入平行线间的距离:")
    p1 (getpoint "\n起始点或特征点:")
    len (getdist p1 "\n终点或特征点或长度:")
    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 "\n序列号的个数:")
     p1 (getpoint "\nFirstpoint:")
    )
    (setvar "osmode" 512)
    (setq p2 (getpoint p1 "\nSecondpoint:")
     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 "")
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册