明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1577|回复: 3

[提问] 初始化绘图环境,里面的图层部分无反应,请大家帮忙看看

[复制链接]
发表于 2014-8-8 08:59 | 显示全部楼层 |阅读模式
初始化绘图环境,里面的图层部分无反应,请大家帮忙看看,还有在cad中选项里,另存为其它版本的命令或系统变量是什么啊,我想在程序里定义成,另存为2004版的dwg文件,应该怎么编写啊,有哪位知道啊,请指教,下面是初始化的源码,

  1. ;csh.lsp
  2. ;对CAD绘图的环境进行初始化,建立必要的图层及字体和标注样式
  3. ;2014/08/07
  4. ;感谢原作者wxh5330 和 tranney

  5. (defun c:csh ( / orig_blip orig_cmd orig_osnap orig_layer); 指定函式名称
  6.        (prinC "常用设置")
  7.        (setvar "CURSORSIZE" 100)             ;将屏幕十字光标的大小设为100%
  8.        (setvar "ACADLSPASDOC" 1)             ;将 acad.lsp 载入到每一个打开的图形中
  9.        (setvar "ANGDIR" 1)                   ;设置正角度的方向为顺时针
  10.        (setvar "AUNITS" 0)                   ;设置角度单位为十进位度数
  11.        (setvar "CMLSCALE" 20.0000)           ;设线宽为公制              
  12.        (setvar "GRIDMODE" 0)                 ;关闭栅格
  13.        (setvar "LTSCALE" 1.0000)             ;设置全局线型比例为1.0000
  14.        (setvar "LUNITS" 2)                   ;设置线性单位为小数
  15.        (setvar "LWDISPLAY" 1)                ;显示线宽
  16.        (setvar "LWDEFAULT" 25)               ;设置默认线宽的值为25
  17.        (setvar "LWUNITS" 1)                  ;设线宽单位以毫米显示
  18.        (setvar "MEASUREINIT" 1)              ;设置初始图形单位为公制
  19.        (setvar "PSLTSCALE" 1)                ;设图纸空间的线型比例为1:1
  20.        (setvar "SNAPMODE" 0)                 ;关闭"捕捉"方式
  21.        (setvar "TOOLTIPS" 1)                 ;显示工具栏提示
  22.        (setvar "TRACEWID" 0.2)               ;设置宽线的默认宽度为0.2MM
  23.        (setvar "TRAYICONS" 1)                ;控制是否在状态栏上显示系统托盘
  24.        (setvar "TRAYNOTIFY" 1)               ;控制是否在状态栏系统托盘上显示服务通知
  25.        (setvar "ISAVEBAK" 1)                 ;控制备份文件 (BAK) 的创建。    1,创建

  26.    0,不创建         
  27.        (setvar "SAVETIME" 15)                ;设置自动保存时间
  28.        ;(setvar "VIEWRES" 5000)               ;设置圆弧和圆的平滑度
  29.        (setvar "FILEDIA" 1)                  ;0,为命令行提示;1,为对话框提示
  30. (setvar "APERTURE" 25)                ;以像素为单位设置靶框显示尺寸。靶框是绘图命令

  31. 中使用的选择工具。初始值:10
  32.        (setvar "PICKBOX" 8)                  ;控制拾取框大小
  33.        (setvar "Vtenable" 0)                 ;窗口缓冲速度
  34.        (setvar "qaflags" 0)                  ;取消选择先后顺序
  35.        (COMMAND  "OSMODE"  "4279" )           ;常用捕捉打开
  36.        (command "VIEWRES" "y" 5000 )          ;设置圆弧和圆的平滑度
  37.     (setq orig_blip (getvar "blipmode")); 获取系统变数的初始值
  38.     (setq orig_cmd (getvar "cmdecho"))
  39.     (setq orig_osnap (getvar "osmode"))
  40.     (setq orig_layer (getvar "clayer"))
  41.     (setvar "blipmode" 0); 设置系统变数
  42.     (setvar "cmdecho" 0)
  43.     (setvar "osmode" 0)


  44. (defun csh_lay()
  45. (setvar "cmdecho" 0)
  46. (if (= (tblsearch "layer" "AXIS") nil)
  47.   (command "layer" "m" "AXIS" "c" "1" "" "lt" "ACAD_IS004W100" "" ""));              

  48.     轴线

  49. (if (= (tblsearch "layer" "AXIS_DIM") nil)  
  50. (command "layer" "m" "AXIS_DIM" "c" "3" "" "lt" "CONTINUOUS" "" ""));          轴线

  51. 标注

  52. (if (= (tblsearch "layer" "AXIS_TEXT") nil)   
  53. (command "layer" "m" "AXIS_TEXT" "c" "2" "" "lt" "CONTINUOUS" "" ""));         轴线

  54. 编号

  55. (if (= (tblsearch "layer" "COLU") nil)
  56. (command "layer" "m" "COLU" "c" "11" "" "lt" "CONTINUOUS" "" ""));             柱子

  57. (if (= (tblsearch "layer" "COLU_DASH") nil)   
  58. (command "layer" "m" "COLU_DASH" "c" "11" "" "lt" "DASHED" "" ""));              柱

  59. 子虚线
  60.   
  61. (if (= (tblsearch "layer" "COLU_BR") nil)  
  62. (command "layer" "m" "COLU_BR" "c" "52" "" "lt" "CONTINUOUS" "" ""));          构造



  63. (if (= (tblsearch "layer" "COLU_NUM") nil)  
  64.   (command "layer" "m" "COLU_NUM" "c" "2" "" "lt" "CONTINUOUS" "" ""));          柱

  65. 子编号
  66.   
  67. (if (= (tblsearch "layer" "COLU_HATCH") nil)  
  68. (command "layer" "m" "COLU_HATCH" "c" "8" "" "lt" "CONTINUOUS" "" ""));        柱子

  69. 填充

  70. (if (= (tblsearch "layer" "BEAM") nil)  
  71.   (command "layer" "m" "BEAM" "c" "4" "" "lt" "DASHED" "" ""));                    

  72. 主梁
  73.   
  74. (if (= (tblsearch "layer" "BEAM_CON") nil)  
  75. (command "layer" "m" "BEAM_CON" "c" "4" "" "lt" "CONTINUOUS" "" ""));          主梁

  76. 实线
  77.   
  78. (if (= (tblsearch "layer" "BEAM_TEXT_HOR") nil)  
  79. (command "layer" "m" "BEAM_TEXT_HOR" "c" "2" "" "lt" "CONTINUOUS" "" ""));     主梁

  80. 水平文字
  81.   
  82. (if (= (tblsearch "layer" "BEAM_TEXT_VER") nil)
  83. (command "layer" "m" "BEAM_TEXT_VER" "c" "100" "" "lt" "CONTINUOUS" "" ""));   主梁

  84. 竖直文字

  85. (if (= (tblsearch "layer" "BEAM_WA") nil)
  86. (command "layer" "m" "BEAM_WA" "c" "21" "" "lt" "DASHED" "" ""));                连



  87. (if (= (tblsearch "layer" "BEAM_WA_CON") nil)
  88.   (command "layer" "m" "BEAM_WA_CON" "c" "21" "" "lt" "CONTINUOUS" "" ""));      连

  89. 梁实线
  90.   
  91. (if (= (tblsearch "layer" "BEAM_WA_TEXT") nil)
  92. (command "layer" "m" "BEAM_WA_TEXT" "c" "100" "" "lt" "CONTINUOUS" "" ""));    连梁

  93. 文字


  94. (if (= (tblsearch "layer" "BEAM_SE") nil)
  95.   (command "layer" "m" "BEAM_SE" "c" "144" "" "lt" "DASHED" "" ""));               

  96. 次梁
  97.   
  98. (if (= (tblsearch "layer" "BEAM_SE_CON") nil)
  99. (command "layer" "m" "BEAM_SE_CON" "c" "144" "" "lt" "CONTINUOUS" "" ""));      次梁

  100. 实线
  101.   
  102. (if (= (tblsearch "layer" "BEAM_SE_TEXT_HOR") nil)
  103. (command "layer" "m" "BEAM_SE_TEXT_HOR" "c" "100" "" "lt" "CONTINUOUS" "" "")); 次梁

  104. 水平文字
  105. (if (= (tblsearch "layer" "BEAM_SE_TEXT_VER") nil)  
  106. (command "layer" "m" "BEAM_SE_TEXT_VER" "c" "2" "" "lt" "CONTINUOUS" "" ""));   次梁

  107. 竖直文字

  108.   ;(command "layer" "m" "S_WALL" "c" "94" "" "lt" "CONTINUOUS" "" "");           砼


  109.   ;(command "layer" "m" "S_WALL_DASH" "c" "94" "" "lt" "DASHED" "" "");            

  110. 砼墙虚线
  111.   ;(command "layer" "m" "S_WALL_DIM" "c" "7" "" "lt" "CONTINUOUS" "" "");        砼

  112. 墙标注
  113.   ;(command "layer" "m" "S_WALL_NUM" "c" "100" "" "lt" "CONTINUOUS" "" "");      砼

  114. 墙编号
  115.   ;(command "layer" "m" "S_WALL_HATCH" "c" "8" "" "lt" "CONTINUOUS" "" "");      砼

  116. 墙填充
  117.   ;(command "layer" "m" "S_WALL_BR" "c" "52" "" "lt" "CONTINUOUS" "" "");        砖


  118.   ;(command "layer" "m" "S_WALL_BR_DASH" "c" "52" "" "lt" "DASHED" "" "");         

  119. 砖墙虚线

  120.   ;(command "layer" "m" "STAIR" "c" "3" "" "lt" "CONTINUOUS" "" "");             楼


  121.   ;(command "layer" "m" "STAIR_TEXT" "c" "2" "" "lt" "CONTINUOUS" "" "");        楼

  122. 梯文字
  123.   ;(command "layer" "m" "STAIR_DIM" "c" "3" "" "lt" "CONTINUOUS" "" "");         楼

  124. 梯标注


  125. (if (= (tblsearch "layer" "FLOOR") nil)  
  126.   (command "layer" "m" "FLOOR" "c" "124" "" "lt" "CONTINUOUS" "" ""));           楼


  127.   
  128. (if (= (tblsearch "layer" "FLOOR_DOWN_REIN") nil)  
  129. (command "layer" "m" "FLOOR_DOWN_REIN" "c" "15" "" "lt" "CONTINUOUS" "" ""));  楼板

  130. 正筋
  131.   
  132. (if (= (tblsearch "layer" "FLOOR_DOWN_DIM") nil)  
  133. (command "layer" "m" "FLOOR_DOWN_DIM" "c" "3" "" "lt" "CONTINUOUS" "" ""));    楼板

  134. 正筋标注

  135. (if (= (tblsearch "layer" "FLOOR_DOWN_NUM") nil)  
  136. (command "layer" "m" "FLOOR_DOWN_NUM" "c" "2" "" "lt" "CONTINUOUS" "" ""));    楼板

  137. 正筋文字

  138. (if (= (tblsearch "layer" "FLOOR_UP_REIN") nil)  
  139.   (command "layer" "m" "FLOOR_UP_REIN" "c" "1" "" "lt" "CONTINUOUS" "" ""));     楼

  140. 板负筋

  141. (if (= (tblsearch "layer" "FLOOR_UP_DIM") nil)  
  142. (command "layer" "m" "FLOOR_UP_DIM" "c" "3" "" "lt" "CONTINUOUS" "" ""));      楼板

  143. 负筋标注
  144.   
  145. (if (= (tblsearch "layer" "FLOOR_UP_NUM") nil)
  146. (command "layer" "m" "FLOOR_UP_NUM" "c" "100" "" "lt" "CONTINUOUS" "" ""));    楼板

  147. 负筋文字


  148.   ;(command "layer" "m" "HOLE" "c" "190" "" "lt" "CONTINUOUS" "" "");            洞


  149.   ;(command "layer" "m" "HOLE_DIM" "c" "3" "" "lt" "CONTINUOUS" "" "");          洞

  150. 口标注
  151.   ;(command "layer" "m" "HOLE_NUM" "c" "2" "" "lt" "CONTINUOUS" "" "");          洞

  152. 口编号
  153.   ;(command "layer" "m" "HOLE_HATCH" "c" "9" "" "lt" "CONTINUOUS" "" "");        洞

  154. 口填充

  155. (if (= (tblsearch "layer" "BASE") nil)
  156.   (command "layer" "m" "BASE" "c" "4" "" "lt" "CONTINUOUS" "" ""));              基


  157.   
  158. (if (= (tblsearch "layer" "BASE_DIM") nil)
  159. (command "layer" "m" "BASE_DIM" "c" "3" "" "lt" "CONTINUOUS" "" ""));          基础

  160. 标注
  161.   
  162. (if (= (tblsearch "layer" "BASE_NUM") nil)
  163. (command "layer" "m" "BASE_NUM" "c" "2" "" "lt" "CONTINUOUS" "" ""));          基础

  164. 编号

  165. (if (= (tblsearch "layer" "PILE") nil)
  166.   (command "layer" "m" "PILE" "c" "150" "" "lt" "CONTINUOUS" "" ""));            桩
  167.   
  168. (if (= (tblsearch "layer" "PILE_DASH") nil)
  169. (command "layer" "m" "PILE_DASH" "c" "150" "" "lt" "DASHED" "" ""));             桩

  170. 虚线


  171.   ;(command "layer" "m" "STEEL" "c" "60" "" "lt" "CONTINUOUS" "" "");            钢

  172. 结构实线
  173.   ;(command "layer" "m" "STEEL_DASH" "c" "60" "" "lt" "DASHED" "" "");            

  174. 钢结构虚线

  175.   ;(command "layer" "m" "BOLT" "c" "6" "" "lt" "CONTINUOUS" "" "");              螺


  176.   ;(command "layer" "m" "BOLT_DIM" "c" "3" "" "lt" "CONTINUOUS" "" "");          螺

  177. 栓标注
  178.   ;(command "layer" "m" "BOLT_NUM" "c" "2" "" "lt" "CONTINUOUS" "" "");          螺

  179. 栓编号

  180.   ;(command "layer" "m" "WELD" "c" "40" "" "lt" "CONTINUOUS" "" "");             焊


  181.   ;(command "layer" "m" "WELD_DIM" "c" "3" "" "lt" "CONTINUOUS" "" "");          焊

  182. 缝标注
  183.   ;(command "layer" "m" "WELD_NUM" "c" "2" "" "lt" "CONTINUOUS" "" "");          焊

  184. 缝文字

  185.   ;(command "layer" "m" "BURY" "c" "140" "" "lt" "CONTINUOUS" "" "");            预

  186. 埋件
  187.   ;(command "layer" "m" "BURY_DIM" "c" "3" "" "lt" "CONTINUOUS" "" "");          预

  188. 埋件标注
  189.   ;(command "layer" "m" "BURY_NUM" "c" "2" "" "lt" "CONTINUOUS" "" "");          预

  190. 埋件编号

  191.   ;(command "layer" "m" "TAB" "c" "7" "" "lt" "CONTINUOUS" "" "");               表

  192. 格线
  193.   ;(command "layer" "m" "TAB_TEXT" "c" "2" "" "lt" "CONTINUOUS" "" "");          表

  194. 格文字

  195. (if (= (tblsearch "layer" "REIN") nil)
  196.   (command "layer" "m" "REIN" "c" "1" "" "lt" "CONTINUOUS" "" ""));              钢


  197.   
  198. (if (= (tblsearch "layer" "TEXT") nil)
  199. (command "layer" "m" "TEXT" "c" "7" "" "lt" "CONTINUOUS" "" ""));              文字

  200. (if (= (tblsearch "layer" "DIM") nil)
  201. (command "layer" "m" "DIM" "c" "3" "" "lt" "CONTINUOUS" "" ""));               尺寸
  202.   
  203. (if (= (tblsearch "layer" "NUM") nil)
  204. (command "layer" "m" "NUM" "c" "2" "" "lt" "CONTINUOUS" "" ""));               编号
  205.   
  206. ;(command "layer" "m" "FRAME" "c" "7" "" "lt" "CONTINUOUS" "" "");             图框
  207.   ;(command "layer" "m" "THICK" "c" "7" "" "lt" "CONTINUOUS" "" "");             粗

  208. 线
  209.   ;(command "layer" "m" "THIN" "c" "7" "" "lt" "CONTINUOUS" "" "");              细

  210. 线

  211.   ;(command "layer" "m" "EDGE" "c" "100" "" "lt" "CONTINUOUS" "" "");            轮

  212. 廓线
  213.   ;(command "layer" "m" "NOTE" "c" "100" "" "lt" "CONTINUOUS" "" "");            文

  214. 字说明
  215.   ;(command "layer" "m" "HATCH2" "c" "254" "" "lt" "CONTINUOUS" "" "");          图

  216. 例填充

  217. (if (= (tblsearch "layer" "st") nil)  
  218. (command "layer" "m" "st" "c" "6" "" "lt" "CONTINUOUS" "" "p" "n" "" "")); 修改、修

  219. 订(不打印)
  220.   
  221. (if (= (tblsearch "layer" "NO_PLOT") nil)  
  222. (command "layer" "m" "NO_PLOT" "c" "14" "" "lt" "CONTINUOUS" "" "p" "n" "" ""));打印

  223. 线(不打印)
  224. )
  225.    
  226. ;  (command "style" "STANDARD" "tssdeng,hztxt" "0" "0.7" "0" "" "" "");
  227. ;  (command "style" "TSSD_Rein" "tssdeng,hztxt" "0" "0.7" "0" "" "" "");      建立

  228. TSSD 字体

  229. ;|(defun wz_sty ()
  230.   (if (= (tblsearch "style" "TSSD_Rein") nil)
  231.     (progn
  232.       (princ "\n建立TSSD_Rein字体并设为当前")
  233.       (command "style" "TSSD_Rein" "tssdeng.shx,hztxt.shx" "0.0" "0.7" "" "" "" "")
  234.     )
  235.     (progn
  236.        (command "style" "TSSD_Rein" "tssdeng.shx,hztxt.shx" "0.0" "0.7" "" "" "" "")
  237.       
  238.       (princ "\n检测到TSSD_Rein字体,将其设为当前。")
  239.     )
  240.   )
  241.   (princ)
  242. )|;

  243. (defun csh_sty()
  244.   (if (= (tblsearch "style" "TSSD_Rein") nil)
  245.     (progn
  246.       (princ "\n建立TSSD_Rein字体并设为当前")
  247.       (command "style" "TSSD_Rein" "tssdeng.shx,hztxt.shx" "0.0" "0.7" "" "" "" "")
  248.     )
  249.     (progn
  250.        (command "style" "TSSD_Rein" "tssdeng.shx,hztxt.shx" "0.0" "0.7" "" "" "" "")
  251.       
  252.       (princ "\n检测到TSSD_Rein字体,将其设为当前。")
  253.     )
  254.   )
  255. (if (= (tblsearch "STYLE" "hz") nil);"判断hz字型是否存在"      
  256.   (command "style" "hz" "txt.shx,hztxt.shx" 250 0.7 0 "n" "n" "n");"设置字型hz"
  257.   )

  258. (if (= (tblsearch "STYLE" "hx") nil);"判断hx字型是否存在"   
  259.   (command "style" "hx" "huaxin.shx,hxhztxt.shx" 250 0.7 0 "n" "n" "n");"设置字型hx"
  260.   )
  261. )






  262. ;建立DIM层,归并标注到DIM层
  263. (defun csh_bzgc(/ s2)
  264.    (setvar "cmdecho" 0)
  265. ;;这部分:确定是否建立新图层
  266.    (if (= (tblsearch "layer" "DIM") nil) ;检查DIM层是否存在
  267. (command "layer" "m" "DIM" "c" "3" "" "lt" "CONTINUOUS" "" ""));if
  268. ;;;这部分主程序
  269.    (setq s2 (ssget "X" '((-4 . "<or")(0 . "leader")(0 . "dimension")(0 .

  270. "arc_dimension")(-4 . "or>"))))
  271.    (if (= s2 nil) (princ "")
  272.        (progn
  273.           (command "change" s2 "" "P" "la" "0" ""   ;改变对象图层
  274.                           "_setbylayer" s2 "" "y" "y"      ;线型改为随层
  275.                           "change" s2 "" "P" "la" "DIM" "")  ;改变对象图层
  276.         );progn
  277.     );if
  278.    (princ "\n标注已置于“DIM层”")
  279.    (princ)
  280. );defun


  281. ;建立建筑标注标注界限块
  282. (defun dimblk1(/ p1 p2 mp p3 p4 ent1 ent2 ifdimblk )
  283.   (setq p1 (list 0 0)
  284. p2 (polar p1 (* 0.25 pi) 2)
  285. mp (list (* 0.5 (car p2)) (* 0.5 (cadr p2)))
  286. p3(list (- (car mp) 1.5) (cadr mp))
  287. p4(list (+ (car mp) 1.5) (cadr mp))
  288.    )
  289.   (command "line" p3 p4 "")
  290.   (setq ent1 (entlast))
  291.   (command "pline" p1 "w" 0.5 0.5 p2 "")
  292.   (setq ent2 (entlast))
  293.   (setq ifdimblk (tblsearch "block" "ccjzDIM"))
  294.   (if ifdimblk (command "block" "ccjzDIM" "y" mp ent1 ent2 "")
  295.                (command "block" "ccjzDIM" mp ent1 ent2 "")
  296.   )
  297.   (princ)
  298. )


  299. ;标注部分设置
  300. (defun csh_ccbz (/ cm)
  301.   (setq cm (getvar "cmdecho"))
  302.   ;(setvar "cmdecho" 0)
  303.   (csh_sty)
  304.   (dimblk1)
  305.   (if (= (tblsearch "dimstyle" "TSSD_100_100") nil)
  306.     (progn (command "dimstyle" "s" "TSSD_100_100")
  307.     (setvar "DIMDSEP" ".") ;小数分隔符
  308.     (setvar "DIMADEC" 1)  ;角度小数位数
  309.     (setvar "DIMALT" 0)  ;选定的换算单位
  310.     (setvar "DIMALTD" 2)  ;换算单位小数位数
  311.     (setvar "DIMALTF" 25.4000) ;换算单位比例因子
  312.     (setvar "DIMALTRND" 0.0000) ;换算单位舍入值
  313.     (setvar "DIMALTTD" 2) ;换算公差小数位数
  314.     (setvar "DIMALTTZ" 0) ;换算公差消零
  315.     (setvar "DIMALTU" 2)  ;换算单位
  316.     (setvar "DIMALTZ" 0)  ;换算单位消零
  317.     (setvar "DIMASZ" 80) ;箭头大小
  318.     (setvar "DIMATFIT" 3) ;箭头和文字调整
  319.     (setvar "DIMAUNIT" 0) ;角度单位格式
  320.     (setvar "DIMAZIN" 2)  ;角度消零
  321.     (setvar "DIMBLK" "ccjzDIM") ;箭头块名
  322.     (setvar "DIMBLK1" "ccjzDIM") ;第一个箭头块名
  323.     (setvar "DIMBLK2" "ccjzDIM") ;第二个箭头块名
  324.     (setvar "DIMCEN" 0.0900) ;圆心标记大小
  325.     (setvar "DIMCLRD" 3)  ;尺寸线和引线颜色(绿色)
  326.     (setvar "DIMCLRE" 3)  ;尺寸界线颜色(绿色)
  327.     (setvar "DIMCLRT" 7)  ;标注文字颜色(绿色)
  328.     (setvar "DIMDEC" 0)  ;小数位数
  329.     (setvar "DIMDLE" 0.0000) ;尺寸线
  330.     (setvar "DIMDLI" 0.0000) ;尺寸线间距
  331.     (setvar "DIMEXE" 100) ;尺寸界线在尺寸线上
  332.     (setvar "DIMEXO" 100) ;尺寸界线原点偏移
  333.     (setvar "DIMFRAC" 0)  ;分数格式
  334.     (setvar "DIMGAP" 50) ;尺寸线和文字的间距
  335.     (setvar "DIMJUST" 0)  ;尺寸线上的文字对正
  336.     (setvar "DIMLDRBLK" ".") ;引线块名
  337.     (setvar "DIMLFAC" (getvar "DIMLFAC")) ;线性单位比例因子
  338.     (setvar "DIMLIM" 0)  ;生成标注界限
  339.     (setvar "DIMLUNIT" 2) ;线性单位格式
  340.     (setvar "DIMLWD" -2)  ;尺寸线和引线线宽
  341.     (setvar "DIMLWE" -2)  ;尺寸界线线宽
  342.     (setvar "DIMRND" 0.0000) ;舍入值
  343.     (setvar "DIMSAH" 0)  ;独立的箭头块
  344.     (setvar "DIMSCALE" (getvar "dimscale")) ;全局比例因子
  345.     (setvar "DIMSD1" 0)  ;隐藏第一条尺寸线
  346.     (setvar "DIMSD2" 0)  ;隐藏第二条尺寸线
  347.     (setvar "DIMSE1" 0)  ;隐藏第一条尺寸界线
  348.     (setvar "DIMSE2" 0)  ;隐藏第二条尺寸界线
  349.     (setvar "DIMSOXD" 0)  ;隐藏外侧尺寸线
  350.     (setvar "DIMTAD" 1)         ;文字位于尺寸线上方
  351.     (setvar "DIMTDEC" 1)  ;公差小数位数
  352.     (setvar "DIMTFAC" 1.0000) ;公差文字高度比例因子
  353.     (setvar "DIMTIH" 0)  ;尺寸界线内侧的文字水平放置
  354.     (setvar "DIMTIX" 1)  ;将文字放置于尺寸界线内侧
  355.     (setvar "DIMTM" 0.0000) ;下偏差
  356.     (setvar "DIMTMOVE" 2) ;文字移动
  357.     (setvar "DIMTOFL" 1)  ;强制在尺寸界线内侧画尺寸线
  358.     (setvar "DIMTOH" 0)  ;外侧文字水平放置
  359.     (setvar "DIMTOL" 0)  ;公差标注
  360.     (setvar "DIMTOLJ" 1)  ;公差垂直对齐
  361.     (setvar "DIMTP" 0.0000) ;上偏差
  362.     (setvar "DIMTSZ" 0.0000) ;标记大小
  363.     (setvar "DIMTVP" 0.0000) ;文字垂直位置
  364.     (setvar "DIMTXSTY" "TSSD_Rein") ;文字样式
  365.     (setvar "DIMTXT" 250) ;文字高度
  366.     (setvar "DIMTZIN" 0)  ;公差消零
  367.     (setvar "DIMUPT" 0)  ;用户定位的文字
  368.     (setvar "DIMZIN" 8)  ;消零
  369.     (princ "\n已新建标注样式TSSD_100_100,该样式符合本院标准,默认全局比例为1,修改

  370. 比例请输入DIMSCALE。")
  371.     )
  372.     (progn
  373. ;;;      (command "dimstyle" "s" "TSSD_100_100")
  374.       (setvar "DIMDSEP" ".")  ;小数分隔符
  375.       (setvar "DIMADEC" 1)  ;角度小数位数
  376.       (setvar "DIMALT" 0)  ;选定的换算单位
  377.       (setvar "DIMALTD" 2)  ;换算单位小数位数
  378.       (setvar "DIMALTF" 25.4000) ;换算单位比例因子
  379.       (setvar "DIMALTRND" 0.0000) ;换算单位舍入值
  380.       (setvar "DIMALTTD" 2)  ;换算公差小数位数
  381.       (setvar "DIMALTTZ" 0)  ;换算公差消零
  382.       (setvar "DIMALTU" 2)  ;换算单位
  383.       (setvar "DIMALTZ" 0)  ;换算单位消零
  384.       (setvar "DIMASZ" 80)  ;箭头大小
  385.       (setvar "DIMATFIT" 3)  ;箭头和文字调整
  386.       (setvar "DIMAUNIT" 0)  ;角度单位格式
  387.       (setvar "DIMAZIN" 2)  ;角度消零
  388.       (setvar "DIMBLK" "ccjzDIM")  ;箭头块名
  389.       (setvar "DIMBLK1" "ccjzDIM")  ;第一个箭头块名
  390.       (setvar "DIMBLK2" "ccjzDIM")  ;第二个箭头块名
  391.       (setvar "DIMCEN" 0.0900)  ;圆心标记大小
  392.       (setvar "DIMCLRD" 3)  ;尺寸线和引线颜色(绿色)
  393.       (setvar "DIMCLRE" 3)  ;尺寸界线颜色(绿色)
  394.       (setvar "DIMCLRT" 7)  ;标注文字颜色(绿色)
  395.       (setvar "DIMDEC" 0)  ;小数位数
  396.       (setvar "DIMDLE" 0.0000)  ;尺寸线
  397.       (setvar "DIMDLI" 0.0000)  ;尺寸线间距
  398.       (setvar "DIMEXE" 100)  ;尺寸界线在尺寸线上
  399.       (setvar "DIMEXO" 100)  ;尺寸界线原点偏移
  400.       (setvar "DIMFRAC" 0)  ;分数格式
  401.       (setvar "DIMGAP" 50)  ;尺寸线和文字的间距
  402.       (setvar "DIMJUST" 0)  ;尺寸线上的文字对正
  403.       (setvar "DIMLDRBLK" ".")  ;引线块名
  404.       (setvar "DIMLFAC" (getvar "DIMLFAC"))  ;线性单位比例因子
  405.       (setvar "DIMLIM" 0)  ;生成标注界限
  406.       (setvar "DIMLUNIT" 2)  ;线性单位格式
  407.       (setvar "DIMLWD" -2)  ;尺寸线和引线线宽
  408.       (setvar "DIMLWE" -2)  ;尺寸界线线宽
  409.       (setvar "DIMRND" 0.0000)  ;舍入值
  410.       (setvar "DIMSAH" 0)  ;独立的箭头块
  411.       (setvar "DIMSCALE" (getvar "dimscale")) ;全局比例因子
  412.       (setvar "DIMSD1" 0)  ;隐藏第一条尺寸线
  413.       (setvar "DIMSD2" 0)  ;隐藏第二条尺寸线
  414.       (setvar "DIMSE1" 0)  ;隐藏第一条尺寸界线
  415.       (setvar "DIMSE2" 0)  ;隐藏第二条尺寸界线
  416.       (setvar "DIMSOXD" 0)  ;隐藏外侧尺寸线
  417.       (setvar "DIMTAD" 1)  ;文字位于尺寸线上方
  418.       (setvar "DIMTDEC" 1)  ;公差小数位数
  419.       (setvar "DIMTFAC" 1.0000)  ;公差文字高度比例因子
  420.       (setvar "DIMTIH" 0)  ;尺寸界线内侧的文字水平放置
  421.       (setvar "DIMTIX" 1)  ;将文字放置于尺寸界线内侧
  422.       (setvar "DIMTM" 0.0000)  ;下偏差
  423.       (setvar "DIMTMOVE" 2)  ;文字移动
  424.       (setvar "DIMTOFL" 1)  ;强制在尺寸界线内侧画尺寸线
  425.       (setvar "DIMTOH" 0)  ;外侧文字水平放置
  426.       (setvar "DIMTOL" 0)  ;公差标注
  427.       (setvar "DIMTOLJ" 1)  ;公差垂直对齐
  428.       (setvar "DIMTP" 0.0000)  ;上偏差
  429.       (setvar "DIMTSZ" 0.0000)  ;标记大小
  430.       (setvar "DIMTVP" 0.0000)  ;文字垂直位置
  431.       (setvar "DIMTXSTY" "TSSD_Rein") ;文字样式
  432.       (setvar "DIMTXT" 250)  ;文字高度
  433.       (setvar "DIMTZIN" 0)  ;公差消零
  434.       (setvar "DIMUPT" 0)  ;用户定位的文字
  435.       (setvar "DIMZIN" 8)  ;消零
  436.       (princ "\n检测到标注样式:“TSSD_100_100”,为防止样式被改动,程序自动将其还原

  437. (全局比例不变)。")
  438.     )
  439.   )
  440.   (command "_.DIMSTYLE" "_SAVE" "TSSD_100_100" "y" "")
  441.   ;(setvar "cmdecho" cm)
  442.   (princ)
  443.   (csh_dimdayang)
  444. )

  445. ;----------建立各种比例大样图所需的标注样式
  446. (defun csh_dimdayang(/ ACADDOCUMENT ACADOBJECT CURRDIMSTYLE MSPACE)
  447.   (PRINC "\n模型空间中,建立各种比例大样图所需的标注样式 :")
  448. ;;; 首先,返回当前的标注的样式
  449. ;;; 接着,设定新的样式。
  450. ;;; 最后,将样式恢复为原来的设定值。
  451.   (VL-LOAD-COM)
  452.   (setq AcadObject(vlax-get-acad-object)
  453.         AcadDocument(vla-get-ActiveDocument AcadObject)
  454.         mSpace(vla-get-ModelSpace AcadDocument)
  455.   )
  456. ;;; 返回激活文件当前的标注样式
  457. (setq currDimStyle(vla-get-ActiveDimStyle AcadDocument))
  458. ;(princ "当前的标注型式是 ")(princ (vla-get-name currDimStyle))
  459. ;;; 建立标注样式 TSSD_10_100
  460.   (setvar "dimlfac" 0.1);因为图元放大了10倍
  461.   (setvar "DIMCLRD" 1);改变颜色以区分
  462.   (setvar "dimclre" 1)
  463.   (if (not (tblsearch "dimstyle" "TSSD_10_100"))
  464.       (command "-dimstyle" "s" "TSSD_10_100")
  465.       (command "-dimstyle" "s" "TSSD_10_100" "y")
  466.   )
  467.   ;;; 建立标注样式 TSSD_20_100
  468.   (setvar "dimlfac" 0.20)
  469.   (setvar "DIMCLRD" 2)
  470.     (setvar "dimclre" 2)
  471.   (if (not (tblsearch "dimstyle" "TSSD_20_100"))
  472.       (command "-dimstyle" "s" "TSSD_20_100")
  473.       (command "-dimstyle" "s" "TSSD_20_100" "y")
  474.   )
  475.   ;;; 建立标注样式 TSSD_25_100
  476.   (setvar "dimlfac" 0.25)
  477.   (setvar "DIMCLRD" 4)
  478.     (setvar "dimclre" 4)
  479.   (if (not (tblsearch "dimstyle" "TSSD_25_100"))
  480.       (command "-dimstyle" "s" "TSSD_25_100")
  481.       (command "-dimstyle" "s" "TSSD_25_100" "y")
  482.   )
  483.     ;;; 建立标注样式 TSSD_50_100
  484.   (setvar "dimlfac" 0.5)
  485.   (setvar "DIMCLRD" 6)
  486.     (setvar "dimclre" 6)
  487.   (if (not (tblsearch "dimstyle" "TSSD_50_100"))
  488.       (command "-dimstyle" "s" "TSSD_50_100")
  489.       (command "-dimstyle" "s" "TSSD_50_100" "y")
  490.   )
  491.   (vla-put-ActiveDimStyle AcadDocument currDimStyle);; 将标注样式设回原来的标注样式
  492.   ;(princ "标注型式重设为 ")(princ (vla-get-name currDimStyle))
  493.   (princ)
  494. )




  495.     (setvar "blipmode" orig_blip); 还原系统变数的设定值
  496.     (setvar "cmdecho" orig_cmd)
  497.     (setvar "osmode" orig_osnap)
  498.     (setvar "clayer" orig_layer)

  499. ;    (command "osmode" "191"); 打开端点,中点,中心,象限点,交点及垂点捕捉

  500. ;    (command "units" "2" "2" "" "" "" "")

  501. ;    (command "chamfera" "0"); 将chamfer命令的第一点D值设为0
  502. ;    (command "chamferb" "0"); 将chamfer命令的第二点D值设为0
  503. ;    (command "filletrad" "0"); 将fillet命令的半径R值设为0

  504. (csh_sty)
  505. (csh_bzgc)
  506. (csh_ccbz)
  507. (princ "\n***绘图环境初始化完成 2014/08/07 **** 命令: csh ***")
  508.     (princ)
  509. ); csh.lsp命令结束   
  510.     (princ)


  511. (defun c:d10 ()(command "-DIMSTYLE" "R" "TSSD_10_100")(princ "\n当前标注样

  512. 式:TSSD_10_100")(princ))
  513. (defun c:d20 ()(command "-DIMSTYLE" "R" "TSSD_20_100")(princ "\n当前标注样

  514. 式:TSSD_20_100")(princ))
  515. (defun c:d25 ()(command "-DIMSTYLE" "R" "TSSD_25_100")(princ "\n当前标注样

  516. 式:TSSD_25_100")(princ))
  517. (defun c:d50 ()(command "-DIMSTYLE" "R" "TSSD_50_100")(princ "\n当前标注样

  518. 式:TSSD_50_100")(princ))
  519. (defun c:d100 ()(command "-DIMSTYLE" "R" "TSSD_100_100")(princ "\n当前标注样

  520. 式:TSSD_100_100")(princ))
发表于 2014-8-8 10:00 | 显示全部楼层
641行 添加
  1. (csh_lay)
发表于 2014-8-8 10:17 | 显示全部楼层
  1. (setenv "DefaultFormatForSave" "24") ;设置默认保存格式2004 24的16进制=0x18 格式2000 12的16进制=0x0C 格式R12 1的16进制=01
 楼主| 发表于 2014-8-8 10:48 | 显示全部楼层
edata 发表于 2014-8-8 10:17

太感谢了,以后就能省不少事了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 18:45 , Processed in 0.334586 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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