明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2331|回复: 4

根据明经里面的一些更改的cad快速创建标注样式,都是用command命令实现

[复制链接]
发表于 2016-10-15 10:28 | 显示全部楼层 |阅读模式
;主程序
;(princ "\n新建标注样式快捷键:nds")
  (defun c:nds( / sc a b c name CMDECHO_BACK)
            (setq cmdecho_back(getvar "cmdecho"))
            (setvar "cmdecho" 0)
      (if (not (tblsearch "style" "isocp" ))
        (C:nws)         )
          (setq sc (getreal "\n输入标注比例因子<1>:"))
      (if (= sc nil)
        (setq sc 1))
      (setq a(getint "\n关闭公差<0>或者打开公差<1>:\n<0>关闭公差,<1>打开公差<0>:"))
      (if(= a nil)
        (setq a 0))
      (dim_information)
      (cond ((= a 0)
             (dimtol_0) )
            ((= a 1)
             (dimtol_1))
       (t (alert "\n关闭公差<0>或者打开公差<1>:")
        (c:nds))        )
      (setvar "cmdecho" cmdecho_back)
      (print)
      )
;;子程序1
;;设为当前样式
(defun current_style_0( / CMDECHO_BACK );标注样式存在
  (setq cmdecho_back(getvar "cmdecho"))
  (setvar "cmdecho" 0)
        (command "dimstyle" "r" name "")
        (princ "\n将标注样式")
        (princ name)
        (princ "设为当前样式:")
(setvar "cmdecho" cmdecho_back)         
(print)
  )
;;子程序2
;;新建标注样式
(defun current_style_1( / cmdecho_back  );标注样式不存在
  (setq cmdecho_back(getvar "cmdecho"))
  (setvar "cmdecho" 0)
           (setvar "dimscale" sc) ;全局比例
            (princ "\n新建标注样式:")
      (princ name)
         (print)
         (setvar "cmdecho" cmdecho_back)
  (princ)
(print)
  )
;;子程序3
;公差关闭时设置
(defun dimtol_0(/ cmdecho_back  )
        (setq cmdecho_back(getvar "cmdecho"))
        (setvar "cmdecho" 0)
        (setvar "dimtol" 0)                  ;公差关
        (setq name(princ
                    (strcat "1-"(rtos sc)"")))
  (cond((not (tblsearch "dimstyle" name))
        (current_style_1)
      (command "dimstyle" "S" name "" "")     ;建立标注样式
      (command))
       ((tblsearch "dimstyle" name)
       (current_style_0))
       )
  (setvar "cmdecho" cmdecho_back)
(princ)
  (print)
        )
;;子程序4
;公差打开时设置
(defun dimtol_1( / cmdecho_back)
        (setq cmdecho_back(getvar "cmdecho"))
        (setvar "cmdecho" 0)
        (dimtol_information)
        (setvar "dimtol" 1)                  ;公差打开
        (setq name(princ(strcat "1-"(rtos sc)"-有公差")))
      (command "dimstyle" "S" name "" "")     ;建立标注样式
      (command)
  (setvar "cmdecho" cmdecho_back)
(princ)
  (print)
        )
;;子程序5
;公差打开时设置
(defun dimtol_information(/ b c)
             (setq b(getreal "\n请输入上偏差<0.1>:"))
             (if (= b nil)
               (setq b 0.1))
             (setq c(getreal "\n请输入下偏差<0.1>:"))
             (if (= c nil)
               (setq c 0.1))
      (setvar "dimtol" 1)                    ;公差开
      (setvar "DIMAZIN" 2)                   ;角度消零
      (setvar "DIMTFAC"1)                    ;公差文字高度比例因子
      (setvar "DIMZIN" 8)                    ;公差消零
      (setvar "DIMTOLJ" 1)                   ;公差垂直对齐
      (setvar  "DIMTDEC" 2)                  ;公差小数位数
      (setvar "DIMTP" b)                     ;上偏差
      (setvar "DIMTM" c)                     ;下偏差 ;(setvar "dimtm" c)
      (setvar "DIMALTTD" 2)                  ;换算公差小数位数
      (setvar "DIMALTTZ" 0)                  ;换算公差消零
  (print)
)

;;子程序6
;设置标注信息
(defun dim_information( / cmdecho_back)
  (setq cmdecho_back(getvar "cmdecho"))
      (setvar "cmdecho" 0)
      (setvar "DIMADEC" 2)                   ; 角度小数位数
      (setvar "DIMALT" 0)                    ;选定的换算单位关(1为开)
      (setvar "DIMALTD" 2)                   ;换算单位小数位数
      (setvar "DIMALTRND" 0)                 ; 换算单位舍入值
      (setvar "DIMALTU" 2)                   ;换算单位
      (setvar "DIMALTZ" 0)                   ;换算单位消零
      (setvar "DIMARCSYM" 0)                 ;弧长符号
      (setvar "dimasz" 2)                     ;控制尺寸线和引线箭头的大小。并控制基线的大小
      (setvar "DIMATFIT" 3)                  ;箭头和文字调整
      (setvar "DIMAUNIT" 0)                  ;角度单位格式
      (setvar "DIMASZ" 2)                    ;箭头大小
      (setvar "DIMAZIN" 2)                   ;角度消零
      (setvar "dimblk" ".")                     ;引线箭头(建筑标记)
      (setvar "dimblk1" ".")                     ;箭头(建筑标记)
      (setvar "dimblk2" ".")                     ;箭头(建筑标记)
      (setvar "DIMCEN" 0)                    ;圆心标记大小
      (setvar "dimclrd" 150)                     ;为尺寸线、箭头和标注引线指定颜色
    (setvar "dimclre" 150)                     ;为尺寸界线指定颜色
    (setvar "dimclrt" 121)                     ;为标注文字指定颜色
      (setvar "dimdec" 2)                        ;精度小数位数
      (setvar "DIMDLI" 0.5)                  ; 尺寸线间距
      (setvar "DIMDSEP" ".")                 ;小数分隔符
      (setvar "dimexe" 0.5)                     ;指定尺寸界线超出尺寸线的距离
      (setvar "dimaltf" 25.4)
      (setvar "dimexo" 0)                    ;起点偏移量
      (setvar "DIMFRAC" 0)                   ;分数格式
      (setvar "DIMFXL" 1)                    ;固定的延伸线
      (setvar "DIMFXLON" 0)                  ;启用固定的延伸线
      (setvar "dimgap" 0.625)                     ;文字从尺寸线偏移
      (setvar "dimjust" 0)                     ;文字水平位置(居中)
      (setvar "DIMLDRBLK" ".")               ;引线块名
      (setvar "DIMLFAC" 1)                   ;线性单位比例因子
      (setvar "DIMLIM" 0)                    ;生成标注界限
      (setvar "DIMLTEX1" ".")                ;线型延伸线 1
      (setvar "DIMLTEX2" ".")                ;线型延伸线 2
      (setvar "DIMLTYPE" ".")                ;标注线型
      (setvar "DIMLUNIT" 2)                  ;线性单位格式
      (setvar "DIMLWD" 9)                    ;尺寸线和引线线宽
      (setvar "DIMLWE" 9)                    ; 延伸线线宽
      (setvar "DIMRND" 0)                    ;舍入值
      (setvar "DIMSD1" 0)                    ;隐藏第一条尺寸线
      (setvar "DIMSD2" 0)                    ;隐藏第二条尺寸线
      (setvar "DIMSE1" 0)                    ;隐藏第一条延伸线
      (setvar "DIMSE2" 0)                    ;隐藏第二条延伸线
      (setvar "DIMSOXD" 0)                   ;隐藏外侧尺寸线
      (setvar "dimtad" 1)                        ;文字垂直位置(上方)
      (setvar "DIMTFILL" 1)                  ;背景已启用
      (setvar "dimtfillclr" 0)               ;文字背景颜色
      (setvar "DIMTIH" 0)                    ;延伸线内侧的文字水平放置
      (setvar "DIMTIX" 0)
      (setvar "dimtmove" 0)                       ;文字不在默认位置时,放在 尺寸线上方,不加引线
      (setvar "DIMTOFL"0)                    ;强制在延伸线内侧画尺寸线
      (setvar "DIMTOH" 0)                     ;外侧文字水平放置
      (setvar "DIMZIN" 8)                    ;消零
      (setvar "DIMTSZ" 0)                    ;标记大小
      (setvar "DIMTVP" 0)                    ;文字垂直位置
      (setvar "dimtxsty" "isocp")             ;指定标注的文字样式
    (setvar "dimtxt" 2.5)                     ;指定标注文字的高度
    (setvar "dimtad" 1)                     ;文字垂直位置(上方)
      (setvar "DIMTXTDIRECTION" 0)           ;标注文字的方向
      (setvar "DIMUPT" 0)                    ;用户定位的文字
  (setvar "cmdecho" cmdecho_back)
  (princ)
  (print)
  )


本帖子中包含更多资源

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

x
发表于 2017-8-28 15:52 | 显示全部楼层
路过,支持楼主
发表于 2017-9-14 18:50 来自手机 | 显示全部楼层
标注上的东西全了…
发表于 2022-5-2 01:01 | 显示全部楼层
学习了,谢谢
发表于 2022-5-26 09:38 | 显示全部楼层
谢谢,新人前来学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-23 21:24 , Processed in 0.297832 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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