Function AddDimStyle(DimScale As Long)
Dim DimStyle As AcadDimStyle
Dim StyleName As String
StyleName = "TCBZ_" & DimScale
Set DimStyle = ThisDrawing.DimStyles.Add(StyleName)
ThisDrawing.ActiveDimStyle = DimStyle
With ThisDrawing
'第一组定义全局和线性比例因子
.SetVariable "DimScale", DimScale '设置全局比例因子
.SetVariable "DimLFac", 1 '线性比例因子. '1'=1:1, '2'=2:1,'.5'=1:2等
'定义典型的标注特性
.SetVariable "DimADec", 2 '控制角度标注的显示精确位数
.SetVariable "DimAssoc", 2 '控制标注对象的关联性
'实际上该系统变量由图形控制
.SetVariable "DimASz", 1.5 '控制尺寸线、引线箭头的大小。并控制钩线的大小
.SetVariable "DimAtFit", 1 '当尺寸界线的空间不足以同时放下标注文字和箭头时,确定这两者的排列方式
.SetVariable "DimAUnit", 0 '设置角度标注的单位格式
'0 十进制度数
.SetVariable "DimAZin", 0 '对角度标注作消零处理
'0 显示所有前导零和后续零
.SetVariable "DimBlk", "ArchTick" '设置尺寸线或引线末端显示的箭头块
'"" 实心闭合
.SetVariable "DimBlk1", "" '当 DIMSAH 系统变量打开时,设置尺寸线第一个端点的箭头
.SetVariable "DimBlk2", "" '当 DIMSAH 系统变量打开时,设置尺寸线第二个端点的箭头
.SetVariable "DimCen", 0.09375 '控制由 DIMCENTER、 DIMDIAMETER 和 DIMRADIUS 命令绘制的圆或圆弧的圆心标记和中心线图形
'>0 绘制圆心标记的尺寸
.SetVariable "DimClrD", 256 '为尺寸线、箭头和标注引线指定颜色
.SetVariable "DimClrE", 256 '为尺寸界线指定颜色。此颜色可以是任意有效的颜色编号
.SetVariable "DimClrT", 256 '为标注文字指定颜色
.SetVariable "DimDec", 0 '设置标注主单位显示的小数位位数
.SetVariable "DimDLE", 0 '当使用小斜线代替箭头进行标注时,设置尺寸线超出尺寸界线的距离
.SetVariable "DimDLI", 0.5 '控制基线标注中尺寸线的间距
.SetVariable "DimDSep", "." '指定一个单字符作为创建十进制标注时使用的小数分隔符
.SetVariable "DimExe", 2.5 '指定尺寸界线超出尺寸线的距离
.SetVariable "DimExO", 8 '指定尺寸界线偏移原点的距离
'.SetVariable "DimFrac", 0 '在 DIMLUNIT 系统变量设置为 4(建筑)或 5(分数)时设置分数格式
.SetVariable "DimGap", 0.05 '当尺寸线分成段以在两段之间放置标注文字时,设置标注文字周围的距离
.SetVariable "DimJust", 0 '控制标注文字的水平位置
' 0 将文字置于尺寸线之上,并在尺寸界线之间置中对正
.SetVariable "DimLdrBlk", "" '指定引线箭头的类型
.SetVariable "DimLim", 0 '将极限尺寸生成为默认文字
.SetVariable "DimLUnit", 2 '为所有标注类型(除角度标注外)设置单位制
' 2 小数
.SetVariable "DimLwd", acLnWtByLayer '指定尺寸线的线宽
.SetVariable "DimLwe", acLnWtByLayer '指定尺寸界线的线宽
.SetVariable "DimPost", "" '指定标注测量值的文字前缀或后缀(或者两者都指定)
.SetVariable "DimRnd", 0 '将所有标注距离舍入到指定值
.SetVariable "DimSAh", 0 '控制尺寸线箭头块的显示
.SetVariable "DimSD1", 0 '控制是否禁止显示第一条尺寸线
.SetVariable "DimSD2", 0 '控制是否禁止显示第二条尺寸线
.SetVariable "DimSE1", 0 '控制是否禁止显示第一条尺寸界线
.SetVariable "DimSE2", 0 '控制是否禁止显示第二条尺寸界线
'.SetVariable "DimSho", 1 '该系统变量已经废弃
.SetVariable "DimSOXD", 0 '控制是否允许尺寸线绘制到尺寸界线之外
.SetVariable "DimTAD", 3 '控制文字相对尺寸线的垂直位置
'0 标注文字在尺寸界线之间居中放置
.SetVariable "DimTIH", 0 '控制所有标注类型(坐标标注除外)的标注文字在尺寸界线内的位置
'0 或关 将文字与尺寸线对齐
.SetVariable "DimTIX", 0 '在尺寸界线之间绘制文字
'0 或关 结果随标注类型的不同而不同。对于线性和角度标注,AutoCAD
'将文字放置到尺寸界线之间(如果有足够的空间)。对于不适于放入圆
'或圆弧中的半径标注和直径标注,DIMTIX 无效并总是强制将文字放到圆或圆弧之外
.SetVariable "DimTOFL", 0 '控制是否将尺寸线绘制在尺寸界线之间(即使文字放置在尺寸界线之外)
.SetVariable "DimTOH", 0 '控制标注文字在尺寸界线外的位置
.SetVariable "DimTSz", 0 '指定线性标注、半径标注以及直径标注中替代箭头的小斜线尺寸
.SetVariable "DimTVP", 0 '控制尺寸线上方或下方标注文字的垂直位置
.SetVariable "DimTxSty", "STANDARD" '指定标注的文字样式
.SetVariable "DimTxt", 3.5 '指定标注文字的高度,除非当前文字样式具有固定的高度(如不放在中间,至少应该大于字高吧)
.SetVariable "DimUPT", 0 '控制用户定位文字的选项
.SetVariable "DimZIn", 0 '控制是否对主单位值作消零处理
'定义换算单位的特性
.SetVariable "DimAlt", 0 '控制标注中换算单位的显示
.SetVariable "DimAltD", 4 '控制换算单位中小数位的位数
.SetVariable "DimAltF", 25.4 '控制换算单位乘数
.SetVariable "DimAltRnd", 0 '舍入换算标注单位
.SetVariable "DimAltTD", 4 '设置标注换算单位公差值小数位的位数
.SetVariable "DimAltTZ", 0 '控制是否对公差值作消零处理
.SetVariable "DimAltU", 2 '为所有标注样式族(角度标注除外)换算单位设置单位格式
.SetVariable "DimAltZ", 0 '控制是否对换算单位标注值作消零处理
.SetVariable "DimAPost", "" '为所有标注类型(角度标注除外)的换算标注测量值指定文字前缀或后缀(或两者都指定)
'定义尺寸标注的公差特性
.SetVariable "DimTol", 0 '将公差附在标注文字之后
.SetVariable "DimTDec", 4 '为标注主单位的公差值设置显示的小数位位数
.SetVariable "DimTFac", 1 '按照 DIMTXT 系统变量的设置,相对于标注文字高度给分数值和
'公差值的文字高度指定比例因子
.SetVariable "DimTM", 0 '在 DIMTOL 系统变量或 DIMLIM 系统变量为开的情况下,为标注文字设置最小(下)偏差
.SetVariable "DimTolJ", 1 '设置公差值相对名词性标注文字的垂直对正方式
.SetVariable "DimTP", 0 '在 DIMTOL 或 DIMLIM 系统变量设置为开的情况下,为标注文字设置最大(上)偏差
.SetVariable "DimTZin", 0 '控制是否对公差值作消零处理
End With
'标注样式的特性从图形已有样式中获得
DimStyle.CopyFrom ThisDrawing
End Function