明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2158|回复: 4

【求助】怎么样创建子样式

[复制链接]
发表于 2011-12-23 12:40 | 显示全部楼层 |阅读模式
不知道用什么命令可以创建样式1的子样式2并设置2的属性
dimstyle好像只能创建样式 创建不了子样式
望高手帮忙
发表于 2011-12-23 13:13 | 显示全部楼层
用entmake创建标注样式,用已有的基本样式名+$+数字就是子样式了。
例如:基本样式名---"bz" , 则"bz$4"为"bz"中半径标注的子样式
 楼主| 发表于 2011-12-23 13:43 | 显示全部楼层
vormittag 发表于 2011-12-23 13:13
用entmake创建标注样式,用已有的基本样式名+$+数字就是子样式了。
例如:基本样式名---"bz" , 则"bz$4"为 ...

entmake函数创建标注样式的格式是什么呢
直接(entmake 样式名)吗好像创建不了啊
发表于 2011-12-23 13:53 | 显示全部楼层
entmake函数的用法要好好看一下,这个很有用。

贴点我的代码出来。涉及到标注字体的问题,不能直接用,你自己改一下。

  1. ;;;-------------------------------------------------------------------------------
  2. ;;;创建基本标注样式
  3. ;;; (make_dimstyle (ratio draftunit unit)
  4. ;;;     ratio       ---- 比例字符串,即"1:n"中的"n"
  5. ;;;     draftunit   ---- 绘图单位 0为m  1为cm  2为mm
  6. ;;;     unit        ---- 标注单位 0为m  1为cm  2为mm
  7. ;;; 应用命令与函数:
  8. ;;;-------------------------------------------------------------------------------
  9. (defun make_dimstyle ( dim_ratio
  10.                           dim_draftunit
  11.         dim_unit
  12.       )
  13. (entmakex
  14.      (list
  15.       (cons   0 "DIMSTYLE")
  16.    (cons 100 "AcDbSymbolTableRecord")
  17.    (cons 100 "AcDbDimStyleTableRecord")
  18.    (cons   2 (strcat "BZ-" (nth dim_draftunit (list "M" "CM" "MM")) "-" dim_ratio "-" (nth dim_unit (list "M" "CM" "MM"))));
  19.    (cons  70     0);
  20.    (cons 140     2.5);DIMTXT
  21.    (cons 143  0.0394);DIMALTF
  22.    (cons  40 (/ (atof dim_ratio) (nth dim_draftunit (list 1000.0 10.0 1.0))));DIMSCALE
  23.    (cons  41       1);DIMASZ
  24.    (cons  42   0.625);DIMEXO
  25.    (cons  43    3.75);DIMDLI
  26.    (cons  44     1.2);DIMEXE
  27.    (cons  49     2.5);DIMFXL
  28.    (cons  73       0);DIMTIH
  29.    (cons  74       0);DIMTOH
  30.    (cons  77       1);DIMTAD
  31.    (cons  78       8);DIMZIN
  32.    (cons  79       2);DIMAZIN
  33.    (cons 141       0);DIMCEN
  34.    (cons 144 (/ (nth dim_draftunit (list 1000.0 10.0 1.0)) (nth dim_unit (list 1000.0 10.0 1.0)) ));DIMLFAC
  35.    (cons 147   0.625);DIMGAP
  36.    (cons 171       3);DIMALTD
  37.    (cons 172       1);DIMTOFL
  38.    (cons 174       1);DIMTIX
  39.    (cons 176       3);DIMCLRD
  40.    (cons 177       3);DIMCLRE
  41.    (cons 178     256);DIMCLRT
  42.    (cons 179       3);DIMADEC
  43.    (cons 271 (nth dim_unit (list 3 1 0)));DIMDEC
  44.    (cons 272 (nth dim_unit (list 3 1 0)));DIMTDEC
  45.    (cons 274      3);DIMAlTTD
  46.    (cons 275       0);DIMAUNIT
  47.    (cons 278      46);DIMDSEP
  48.    (cons 280       0);DIMJUST
  49.    (cons 283       0);DIMTOLJ
  50.    (cons 284       8);DIMTZIN
  51.    (cons 290       1);DIMFXLON
  52.    (cons 279       2);DIMTMOVE
  53.    (cons 340 (tblobjname "STYLE" "TJHZ"));这个把"TJHZ"换成你想要的标注字体样式
  54.    (cons 342 (cdr (assoc 330 (entget (tblobjname "BLOCK" "DIMBLK")))));;这个是标注箭头,我用了自定义的块
  55.    (cons 371       9);DIMLWD
  56.    (cons 372       9);DIMLWE
  57.   );list
  58. );entmakex
  59. )
  60. ;;;-------------------------------------------------------------------------------
  61. ;;;创建半径标注样式
  62. ;;; (make_radialdimstyle ratio draftunit unit)
  63. ;;;     ratio       ---- 比例字符串,即"1:n"中的"n"
  64. ;;;     draftunit   ---- 绘图单位 0为m  1为cm  2为mm
  65. ;;;     unit        ---- 标注单位 0为m  1为cm  2为mm
  66. ;;; 应用命令与函数:
  67. ;;;-------------------------------------------------------------------------------
  68. (defun make_radialdimstyle ( dim_ratio
  69.                                 dim_draftunit
  70.               dim_unit
  71.             )
  72. (entmakex
  73.      (list
  74.       (cons   0  "DIMSTYLE")
  75.    (cons 100  "AcDbSymbolTableRecord")
  76.    (cons 100  "AcDbDimStyleTableRecord")
  77.    (cons   2  (strcat "BZ-" (nth dim_draftunit (list "M" "CM" "MM")) "-" dim_ratio "-" (nth dim_unit (list "M" "CM" "MM")) "$4"));
  78.    (cons  70     0);
  79.    (cons 140     2.5);DIMTXT
  80.    (cons 143  0.0394);DIMALTF
  81.    (cons  40 (/ (atof dim_ratio) (nth dim_draftunit (list 1000.0 10.0 1.0))));DIMSCALE
  82.    (cons  41     2.5);DIMASZ
  83.    (cons  42   0.625);DIMEXO
  84.    (cons  43    3.75);DIMDLI
  85.    (cons  44     1.2);DIMEXE
  86.    (cons  49     2.5);DIMFXL
  87.    (cons  73       0);DIMTIH
  88.    (cons  74       0);DIMTOH
  89.    (cons  77       1);DIMTAD
  90.    (cons  78       8);DIMZIN
  91.    (cons  79       2);DIMAZIN
  92.    (cons 141       0);DIMCEN
  93.    (cons 144 (/ (nth dim_draftunit (list 1000.0 10.0 1.0)) (nth dim_unit (list 1000.0 10.0 1.0))));DIMLFAC
  94.    (cons 147   0.625);DIMGAP
  95.    (cons 171       3);DIMALTD
  96.    (cons 172       0);DIMTOFL
  97.    (cons 174       1);DIMTIX
  98.    (cons 176       3);DIMCLRD
  99.    (cons 177       3);DIMCLRE
  100.    (cons 178     256);DIMCLRT
  101.    (cons 179       3);DIMADEC
  102.    (cons 271 (nth dim_unit (list 3 1 0)));DIMDEC
  103.    (cons 272 (nth dim_unit (list 3 1 0)));DIMTDEC
  104.    (cons 274      3);DIMAlTTD
  105.    (cons 275       0);DIMAUNIT
  106.    (cons 278      46);DIMDSEP
  107.    (cons 280       0);DIMJUST
  108.    (cons 283       0);DIMTOLJ
  109.    (cons 284       8);DIMTZIN
  110.    (cons 290       1);DIMFXLON
  111.    (cons 279       0);DIMTMOVE
  112.    (cons 340 (tblobjname "STYLE" "TJHZ"));;这个把"TJHZ"换成你想要的标注字体样式
  113.    (cons 371       9);DIMLWD
  114.    (cons 372       9);DIMLWE
  115.   );list
  116. );entmakex
  117. )

 楼主| 发表于 2011-12-23 14:47 | 显示全部楼层
vormittag 发表于 2011-12-23 13:53
entmake函数的用法要好好看一下,这个很有用。

贴点我的代码出来。涉及到标注字体的问题,不能直接用,你 ...

谢谢!!                             

点评

不用客气  发表于 2011-12-24 17:09
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 14:35 , Processed in 0.181566 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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