captainvan 发表于 2014-5-7 21:15:50

请各位师兄帮做一下尺寸标注

写了一段代码,生成图形后不知道怎么进行尺寸标注,请各位师兄帮助
(defun c:zhb()
(command "erase" "all" "")
;(command "vbarun" "G:/ACAD/Acad.dvb!bb.InputData")
;(setq sjb (getvar "users1"))
;(setq sjb (read (strcat "(" sjb ")")))

;(setq ll (* (car sjb) 1))
;(setq sjb (cdr sjb))
;(setq ww (* (car sjb) 1))
;(setq sjb (cdr sjb))
;(setq hh (* (car sjb) 1))   ;从VBA接受数据
(setq hh (getdist pt1 "\n高度:"))
(setq ww (getdist pt1 "\n宽度:"))
(setq ll (getdist pt1 "\n长度:"))

(setq pt1 (Getpoint "\n选取图形左上角:"))

(setq hh71 (* 0.71 hh))
(setq hh70 (* 0.7 hh))
(setq hh80 (* 0.8 hh))
(setq hh10 (* 0.1 hh))
(setq hh115 (* 1.15 hh80))
(setq ww4 (* 0.4 ww))       ;设纸盒部分参数


(setq pt2 (polar pt1 0 ll))
(setq pt5 (polar pt2 (* 1.5 pi) hh))
(setq pt4 (polar pt5 0 hh80))
(setq pt3 (polar pt4 (* 0.5 pi) hh70))
(setq pt6 (polar pt5 (* 1.83 pi) hh115))
(setq pt8 (polar pt5 (* 1.5 pi) ww))
(setq pt7 (polar pt8 (* 0.17 pi) hh115))
(setq pt9 (polar pt8 0 ww4))
(setq pt10 (polar pt9 (* 1.5 pi) hh))
(setq pt11 (polar pt10 pi ww4))
(setq pt12 (polar pt11 (* 1.25 pi) hh10))
(setq pt13 (polar pt12 (* 1.75 pi) hh10))
(setq pt14 (polar pt13 0 hh))
(setq pt15 (polar pt14 0 hh))
(setq pt16 (polar pt15 (* 1.5 pi) ww))
(setq pt17 (polar pt16 pi hh))
(setq pt18 (polar pt17 pi hh))
(setq pt19 (polar pt18 (* 1.25 pi) hh10))
(setq pt20 (polar pt19 (* 1.75 pi) hh10))
(setq pt21 (polar pt20 0 ww4))
(setq pt22 (polar pt21 (* 1.5 pi) hh))
(setq pt23 (polar pt22 pi ww4))
(setq pt24 (polar pt23 pi ll))
(setq pt25 (polar pt24 pi ww4))
(setq pt26 (polar pt25 (* 0.5 pi) hh))
(setq pt27 (polar pt26 0 ww4))
(setq pt28 (polar pt27 (* 0.25 pi) hh10))
(setq pt29 (polar pt28 (* 0.75 pi) hh10))
(setq pt30 (polar pt29 pi hh))
(setq pt31 (polar pt30 pi hh))
(setq pt32 (polar pt31 (* 0.5 pi) ww))
(setq pt33 (polar pt32 0 hh))
(setq pt34 (polar pt33 0 hh))
(setq pt35 (polar pt34 (* 0.25 pi) hh10))
(setq pt36 (polar pt35 (* 0.75 pi) hh10))
(setq pt37 (polar pt36 pi ww4))
(setq pt38 (polar pt37 (* 0.5 pi) hh))
(setq pt39 (polar pt38 0 ww4))
(setq pt40 (polar pt39 (* 0.83 pi) hh115))
(setq pt42 (polar pt39 (* 0.5 pi) ww))
(setq pt41 (polar pt42 (* 1.17 pi) hh115))
(setq pt43 (polar pt42 pi hh80))
(setq pt44 (polar pt43 (* 0.5 pi) hh70))
(command "linetype" "l" "" "s" "bylayer" "")
(command "pline" pt1 pt2 pt3 pt4 pt5 pt6 pt7
           pt8 pt9 pt10 pt11 pt12 pt13 pt14 pt15
           pt16 pt17 pt18 pt19 pt20 pt21 pt22 pt23
           pt24 pt25 pt26 pt27 pt28 pt29 pt30
           pt31 pt32 pt33 pt34 pt35 pt36 pt37 pt38
           pt39 pt40 pt41 pt42 pt43 pt44 "c")
(command "linetype" "l" "" "s" "acad_iso02w100" "")
(command "line" pt1 pt42 pt39 pt8 pt5 pt2 "")
(command "line" pt36 pt39 pt8 pt11 "")
(command "line" pt5 pt42 "")
(command "line" pt35 pt12 "")
(command "line" pt30 pt33 "")
(command "line" pt29 pt34 "")
(command "line" pt13 pt18 "")
(command "line" pt14 pt17 "")
(command "line" pt28 pt19 "")
(command "line" pt24 pt27 "")
(command "line" pt20 pt23 "")
(command "zoom" "s" "2")
(prin1)
   
)

captainvan 发表于 2014-5-7 22:29:49

就是对长宽高LL、WW、HH进行尺寸标注标注,不知道怎么弄,请大神帮一下

ZZXXQQ 发表于 2014-5-8 20:51:45

(defun c:zhb()
(setvar "CMDECHO" 0)
(command "erase" "all" "")
;(command "vbarun" "G:/ACAD/Acad.dvb!bb.InputData")
;(setq sjb (getvar "users1"))
;(setq sjb (read (strcat "(" sjb ")")))
;(setq ll (* (car sjb) 1))
;(setq sjb (cdr sjb))
;(setq ww (* (car sjb) 1))
;(setq sjb (cdr sjb))
;(setq hh (* (car sjb) 1))   ;从VBA接受数据
(setq hh (getdist pt1 "\n高度:"))
(setq ww (getdist pt1 "\n宽度:"))
(setq ll (getdist pt1 "\n长度:"))

(setq pt1 (Getpoint "\n选取图形左上角:"))

(setq hh71 (* 0.71 hh))
(setq hh70 (* 0.7 hh))
(setq hh80 (* 0.8 hh))
(setq hh10 (* 0.1 hh))
(setq hh115 (* 1.15 hh80))
(setq ww4 (* 0.4 ww))       ;设纸盒部分参数


(setq pt2 (polar pt1 0 ll))
(setq pt5 (polar pt2 (* 1.5 pi) hh))
(setq pt4 (polar pt5 0 hh80))
(setq pt3 (polar pt4 (* 0.5 pi) hh70))
(setq pt6 (polar pt5 (* 1.83 pi) hh115))
(setq pt8 (polar pt5 (* 1.5 pi) ww))
(setq pt7 (polar pt8 (* 0.17 pi) hh115))
(setq pt9 (polar pt8 0 ww4))
(setq pt10 (polar pt9 (* 1.5 pi) hh))
(setq pt11 (polar pt10 pi ww4))
(setq pt12 (polar pt11 (* 1.25 pi) hh10))
(setq pt13 (polar pt12 (* 1.75 pi) hh10))
(setq pt14 (polar pt13 0 hh))
(setq pt15 (polar pt14 0 hh))
(setq pt16 (polar pt15 (* 1.5 pi) ww))
(setq pt17 (polar pt16 pi hh))
(setq pt18 (polar pt17 pi hh))
(setq pt19 (polar pt18 (* 1.25 pi) hh10))
(setq pt20 (polar pt19 (* 1.75 pi) hh10))
(setq pt21 (polar pt20 0 ww4))
(setq pt22 (polar pt21 (* 1.5 pi) hh))
(setq pt23 (polar pt22 pi ww4))
(setq pt24 (polar pt23 pi ll))
(setq pt25 (polar pt24 pi ww4))
(setq pt26 (polar pt25 (* 0.5 pi) hh))
(setq pt27 (polar pt26 0 ww4))
(setq pt28 (polar pt27 (* 0.25 pi) hh10))
(setq pt29 (polar pt28 (* 0.75 pi) hh10))
(setq pt30 (polar pt29 pi hh))
(setq pt31 (polar pt30 pi hh))
(setq pt32 (polar pt31 (* 0.5 pi) ww))
(setq pt33 (polar pt32 0 hh))
(setq pt34 (polar pt33 0 hh))
(setq pt35 (polar pt34 (* 0.25 pi) hh10))
(setq pt36 (polar pt35 (* 0.75 pi) hh10))
(setq pt37 (polar pt36 pi ww4))
(setq pt38 (polar pt37 (* 0.5 pi) hh))
(setq pt39 (polar pt38 0 ww4))
(setq pt40 (polar pt39 (* 0.83 pi) hh115))
(setq pt42 (polar pt39 (* 0.5 pi) ww))
(setq pt41 (polar pt42 (* 1.17 pi) hh115))
(setq pt43 (polar pt42 pi hh80))
(setq pt44 (polar pt43 (* 0.5 pi) hh70))
(command "linetype" "l" "" "s" "bylayer" "")
(command "pline" pt1 pt2 pt3 pt4 pt5 pt6 pt7
         pt8 pt9 pt10 pt11 pt12 pt13 pt14 pt15
         pt16 pt17 pt18 pt19 pt20 pt21 pt22 pt23
         pt24 pt25 pt26 pt27 pt28 pt29 pt30
         pt31 pt32 pt33 pt34 pt35 pt36 pt37 pt38
         pt39 pt40 pt41 pt42 pt43 pt44 "c")
(command "linetype" "l" "" "s" "acad_iso02w100" "")
(command "line" pt1 pt42 pt39 pt36 "" "line" pt11 pt8 pt5 pt2 "")
(command "line" pt39 pt8 "" "line" pt42 pt5 "")
(command "line" pt5 pt42 "")
(command "line" pt35 pt12 "")
(command "line" pt30 pt33 "")
(command "line" pt29 pt34 "")
(command "line" pt13 pt18 "")
(command "line" pt14 pt17 "")
(command "line" pt28 pt19 "")
(command "line" pt24 pt27 "")
(command "line" pt20 pt23 "")
(command "LINETYPE" "bylayer" "")
(command "DIMLINEAR" pt1 pt2 (polar pt1 (/ pi 2) ww4))
(command "DIMLINEAR" pt1 pt42 (polar pt43 pi ww4))
(command "DIMCONTNUE" PT39 "" "")
(command "zoom" "all")
(setvar "CMDECHO" 0)
(prin1)
)

captainvan 发表于 2014-5-21 17:08:02

ZZXXQQ 发表于 2014-5-8 20:51 static/image/common/back.gif


版主,好像不对啊,图是画出来了,提示:无效的选项关键字,错误:函数被取消

captainvan 发表于 2014-5-21 17:20:38

ZZXXQQ 发表于 2014-5-8 20:51 static/image/common/back.gif


您看,出现这种情况

yoyoho 发表于 2014-5-21 17:47:23

(defun c:zhb ()
(setvar "CMDECHO" 0)
(command "erase" "all" "")
;(command "vbarun" "G:/ACAD/Acad.dvb!bb.InputData")
;(setq sjb (getvar "users1"))
;(setq sjb (read (strcat "(" sjb ")")))
;(setq ll (* (car sjb) 1))
;(setq sjb (cdr sjb))
;(setq ww (* (car sjb) 1))
;(setq sjb (cdr sjb))
;(setq hh (* (car sjb) 1))   ;从VBA接受数据
(setq pt1 (Getpoint "\n选取图形左上角:"))
(setq hh (getdist pt1 "\n高度:"))
(setq ww (getdist pt1 "\n宽度:"))
(setq ll (getdist pt1 "\n长度:"))

;(setq pt1 (Getpoint "\n选取图形左上角:"))

(setq hh71 (* 0.71 hh))
(setq hh70 (* 0.7 hh))
(setq hh80 (* 0.8 hh))
(setq hh10 (* 0.1 hh))
(setq hh115 (* 1.15 hh80))
(setq ww4 (* 0.4 ww))       ;设纸盒部分参数


(setq pt2 (polar pt1 0 ll))
(setq pt5 (polar pt2 (* 1.5 pi) hh))
(setq pt4 (polar pt5 0 hh80))
(setq pt3 (polar pt4 (* 0.5 pi) hh70))
(setq pt6 (polar pt5 (* 1.83 pi) hh115))
(setq pt8 (polar pt5 (* 1.5 pi) ww))
(setq pt7 (polar pt8 (* 0.17 pi) hh115))
(setq pt9 (polar pt8 0 ww4))
(setq pt10 (polar pt9 (* 1.5 pi) hh))
(setq pt11 (polar pt10 pi ww4))
(setq pt12 (polar pt11 (* 1.25 pi) hh10))
(setq pt13 (polar pt12 (* 1.75 pi) hh10))
(setq pt14 (polar pt13 0 hh))
(setq pt15 (polar pt14 0 hh))
(setq pt16 (polar pt15 (* 1.5 pi) ww))
(setq pt17 (polar pt16 pi hh))
(setq pt18 (polar pt17 pi hh))
(setq pt19 (polar pt18 (* 1.25 pi) hh10))
(setq pt20 (polar pt19 (* 1.75 pi) hh10))
(setq pt21 (polar pt20 0 ww4))
(setq pt22 (polar pt21 (* 1.5 pi) hh))
(setq pt23 (polar pt22 pi ww4))
(setq pt24 (polar pt23 pi ll))
(setq pt25 (polar pt24 pi ww4))
(setq pt26 (polar pt25 (* 0.5 pi) hh))
(setq pt27 (polar pt26 0 ww4))
(setq pt28 (polar pt27 (* 0.25 pi) hh10))
(setq pt29 (polar pt28 (* 0.75 pi) hh10))
(setq pt30 (polar pt29 pi hh))
(setq pt31 (polar pt30 pi hh))
(setq pt32 (polar pt31 (* 0.5 pi) ww))
(setq pt33 (polar pt32 0 hh))
(setq pt34 (polar pt33 0 hh))
(setq pt35 (polar pt34 (* 0.25 pi) hh10))
(setq pt36 (polar pt35 (* 0.75 pi) hh10))
(setq pt37 (polar pt36 pi ww4))
(setq pt38 (polar pt37 (* 0.5 pi) hh))
(setq pt39 (polar pt38 0 ww4))
(setq pt40 (polar pt39 (* 0.83 pi) hh115))
(setq pt42 (polar pt39 (* 0.5 pi) ww))
(setq pt41 (polar pt42 (* 1.17 pi) hh115))
(setq pt43 (polar pt42 pi hh80))
(setq pt44 (polar pt43 (* 0.5 pi) hh70))
(command "linetype" "l" "" "s" "bylayer" "")
(command "pline" pt1 pt2 pt3 pt4 pt5 pt6 pt7
         pt8 pt9 pt10 pt11 pt12 pt13 pt14 pt15
         pt16 pt17 pt18 pt19 pt20 pt21 pt22 pt23
         pt24 pt25 pt26 pt27 pt28 pt29 pt30
         pt31 pt32 pt33 pt34 pt35 pt36 pt37 pt38
         pt39 pt40 pt41 pt42 pt43 pt44 "c")
(command "linetype" "l" "" "s" "acad_iso02w100" "")
(command "line" pt1 pt42 pt39 pt36 "" "line" pt11 pt8 pt5 pt2 "")
(command "line" pt39 pt8 "" "line" pt42 pt5 "")
(command "line" pt5 pt42 "")
(command "line" pt35 pt12 "")
(command "line" pt30 pt33 "")
(command "line" pt29 pt34 "")
(command "line" pt13 pt18 "")
(command "line" pt14 pt17 "")
(command "line" pt28 pt19 "")
(command "line" pt24 pt27 "")
(command "line" pt20 pt23 "")
;(command "LINETYPE" "bylayer" "")
(command "LINETYPE" "l" "" "s" "bylayer" "")
(command "DIMLINEAR" pt1 pt2 (polar pt1 (/ pi 2) ww4))
(command "DIMLINEAR" pt1 pt42 (polar pt43 pi ww4))
(command "DIMCONTNUE" PT39 "" "")
(command "zoom" "all")
(setvar "CMDECHO" 0)
(prin1)
)

xyp1964 发表于 2014-5-21 18:54:07



captainvan 发表于 2014-5-21 19:18:59

xyp1964 发表于 2014-5-21 18:54 static/image/common/back.gif


好厉害啊,谢谢

captainvan 发表于 2014-5-21 19:25:47

ZZXXQQ 发表于 2014-5-8 20:51 static/image/common/back.gif


我已经解决了,谢谢啦!
您遇到画的图形不规则这样的情况吗?就是同样的LISP程序,我这个CAD2013有时候画的是正确图像,有时不规则

captainvan 发表于 2014-5-21 20:26:35

captainvan 发表于 2014-5-21 19:25 static/image/common/back.gif
我已经解决了,谢谢啦!
您遇到画的图形不规则这样的情况吗?就是同样的LISP程序,我这个CAD2013有时候画 ...

好的,我试试
页: [1] 2
查看完整版本: 请各位师兄帮做一下尺寸标注