明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2985|回复: 11

[已解答] 请各位师兄帮做一下尺寸标注

[复制链接]
发表于 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)
   
)
 楼主| 发表于 2014-5-7 22:29:49 | 显示全部楼层
就是对长宽高LL、WW、HH进行尺寸标注标注,不知道怎么弄,请大神帮一下
发表于 2014-5-8 20:51:45 | 显示全部楼层
  1. (defun c:zhb()
  2.   (setvar "CMDECHO" 0)
  3.   (command "erase" "all" "")
  4.   ;(command "vbarun" "G:/ACAD/Acad.dvb!bb.InputData")
  5.   ;(setq sjb (getvar "users1"))
  6.   ;(setq sjb (read (strcat "(" sjb ")")))
  7.   ;(setq ll (* (car sjb) 1))
  8.   ;(setq sjb (cdr sjb))
  9.   ;(setq ww (* (car sjb) 1))
  10.   ;(setq sjb (cdr sjb))
  11.   ;(setq hh (* (car sjb) 1))   ;从VBA接受数据
  12.   (setq hh (getdist pt1 "\n高度:"))
  13.   (setq ww (getdist pt1 "\n宽度:"))
  14.   (setq ll (getdist pt1 "\n长度:"))

  15.   (setq pt1 (Getpoint "\n选取图形左上角:"))
  16.   
  17.   (setq hh71 (* 0.71 hh))
  18.   (setq hh70 (* 0.7 hh))
  19.   (setq hh80 (* 0.8 hh))
  20.   (setq hh10 (* 0.1 hh))
  21.   (setq hh115 (* 1.15 hh80))
  22.   (setq ww4 (* 0.4 ww))       ;设纸盒部分参数
  23.   

  24.   (setq pt2 (polar pt1 0 ll))
  25.   (setq pt5 (polar pt2 (* 1.5 pi) hh))
  26.   (setq pt4 (polar pt5 0 hh80))
  27.   (setq pt3 (polar pt4 (* 0.5 pi) hh70))
  28.   (setq pt6 (polar pt5 (* 1.83 pi) hh115))
  29.   (setq pt8 (polar pt5 (* 1.5 pi) ww))
  30.   (setq pt7 (polar pt8 (* 0.17 pi) hh115))
  31.   (setq pt9 (polar pt8 0 ww4))
  32.   (setq pt10 (polar pt9 (* 1.5 pi) hh))
  33.   (setq pt11 (polar pt10 pi ww4))
  34.   (setq pt12 (polar pt11 (* 1.25 pi) hh10))
  35.   (setq pt13 (polar pt12 (* 1.75 pi) hh10))
  36.   (setq pt14 (polar pt13 0 hh))
  37.   (setq pt15 (polar pt14 0 hh))
  38.   (setq pt16 (polar pt15 (* 1.5 pi) ww))
  39.   (setq pt17 (polar pt16 pi hh))
  40.   (setq pt18 (polar pt17 pi hh))
  41.   (setq pt19 (polar pt18 (* 1.25 pi) hh10))
  42.   (setq pt20 (polar pt19 (* 1.75 pi) hh10))
  43.   (setq pt21 (polar pt20 0 ww4))
  44.   (setq pt22 (polar pt21 (* 1.5 pi) hh))
  45.   (setq pt23 (polar pt22 pi ww4))
  46.   (setq pt24 (polar pt23 pi ll))
  47.   (setq pt25 (polar pt24 pi ww4))
  48.   (setq pt26 (polar pt25 (* 0.5 pi) hh))
  49.   (setq pt27 (polar pt26 0 ww4))
  50.   (setq pt28 (polar pt27 (* 0.25 pi) hh10))
  51.   (setq pt29 (polar pt28 (* 0.75 pi) hh10))
  52.   (setq pt30 (polar pt29 pi hh))
  53.   (setq pt31 (polar pt30 pi hh))
  54.   (setq pt32 (polar pt31 (* 0.5 pi) ww))
  55.   (setq pt33 (polar pt32 0 hh))
  56.   (setq pt34 (polar pt33 0 hh))
  57.   (setq pt35 (polar pt34 (* 0.25 pi) hh10))
  58.   (setq pt36 (polar pt35 (* 0.75 pi) hh10))
  59.   (setq pt37 (polar pt36 pi ww4))
  60.   (setq pt38 (polar pt37 (* 0.5 pi) hh))
  61.   (setq pt39 (polar pt38 0 ww4))
  62.   (setq pt40 (polar pt39 (* 0.83 pi) hh115))
  63.   (setq pt42 (polar pt39 (* 0.5 pi) ww))
  64.   (setq pt41 (polar pt42 (* 1.17 pi) hh115))
  65.   (setq pt43 (polar pt42 pi hh80))
  66.   (setq pt44 (polar pt43 (* 0.5 pi) hh70))
  67.   (command "linetype" "l" "" "s" "bylayer" "")
  68.   (command "pline" pt1 pt2 pt3 pt4 pt5 pt6 pt7
  69.            pt8 pt9 pt10 pt11 pt12 pt13 pt14 pt15
  70.            pt16 pt17 pt18 pt19 pt20 pt21 pt22 pt23
  71.            pt24 pt25 pt26 pt27 pt28 pt29 pt30
  72.            pt31 pt32 pt33 pt34 pt35 pt36 pt37 pt38
  73.            pt39 pt40 pt41 pt42 pt43 pt44 "c")
  74.   (command "linetype" "l" "" "s" "acad_iso02w100" "")
  75.   (command "line" pt1 pt42 pt39 pt36 "" "line" pt11 pt8 pt5 pt2 "")
  76.   (command "line" pt39 pt8 "" "line" pt42 pt5 "")
  77.   (command "line" pt5 pt42 "")
  78.   (command "line" pt35 pt12 "")
  79.   (command "line" pt30 pt33 "")
  80.   (command "line" pt29 pt34 "")
  81.   (command "line" pt13 pt18 "")
  82.   (command "line" pt14 pt17 "")
  83.   (command "line" pt28 pt19 "")
  84.   (command "line" pt24 pt27 "")
  85.   (command "line" pt20 pt23 "")
  86. (command "LINETYPE" "bylayer" "")
  87. (command "DIMLINEAR" pt1 pt2 (polar pt1 (/ pi 2) ww4))
  88. (command "DIMLINEAR" pt1 pt42 (polar pt43 pi ww4))
  89. (command "DIMCONTNUE" PT39 "" "")
  90.   (command "zoom" "all")
  91.   (setvar "CMDECHO" 0)
  92.   (prin1)
  93. )
 楼主| 发表于 2014-5-21 17:08:02 | 显示全部楼层
ZZXXQQ 发表于 2014-5-8 20:51

版主,好像不对啊,图是画出来了,提示:无效的选项关键字,错误:函数被取消
 楼主| 发表于 2014-5-21 17:20:38 | 显示全部楼层
ZZXXQQ 发表于 2014-5-8 20:51

您看,出现这种情况

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 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)
)
发表于 2014-5-21 18:54:07 | 显示全部楼层


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2014-5-21 19:18:59 | 显示全部楼层
xyp1964 发表于 2014-5-21 18:54

好厉害啊,谢谢
 楼主| 发表于 2014-5-21 19:25:47 | 显示全部楼层
ZZXXQQ 发表于 2014-5-8 20:51

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

点评

关闭捕捉再画就行。  发表于 2014-5-21 20:13
 楼主| 发表于 2014-5-21 20:26:35 | 显示全部楼层
captainvan 发表于 2014-5-21 19:25
我已经解决了,谢谢啦!
您遇到画的图形不规则这样的情况吗?就是同样的LISP程序,我这个CAD2013有时候画 ...

好的,我试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-24 17:43 , Processed in 0.194292 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表