本帖最后由 作者 于 2009-2-23 14:09:40 编辑
以下程序来自 http://bbs.mjtd.com/forum.php?mod=viewthread&tid=63591 要是用好SetVariable工作效率会比较高。 Sub AddDimStyle() '对CAD尺寸标注进行设置范例程序 Dim dimStyle As AcadDimStyle Set dimStyle = acadapp.ActiveDocument.DimStyles.Add("dimStyle") acadapp.ActiveDocument.ActiveDimStyle = dimStyle With acadapp.ActiveDocument '第一组定义全局和线性比例因子 .SetVariable "DimScale", 96 '设置全局比例因子 .SetVariable "DimLFac", 1 '线性比例因子. '1'=1:1, '2'=2:1,'.5'=1:2等 '定义典型的标注特性 .SetVariable "DimADec", 5 '控制角度标注的显示精确位数 .SetVariable "DimAssoc", 2 '控制标注对象的关联性 '实际上该系统变量由图形控制 .SetVariable "DimASz", 0 '控制尺寸线、引线箭头的大小。并控制钩线的大小 .SetVariable "DimAtFit", 1 '当尺寸界线的空间不足以同时放下标注文字和箭头时,确定这两者的排列方式 .SetVariable "DimAUnit", 1 '设置角度标注的单位格式 '0 十进制度数 .SetVariable "DimAZin", 0 '对角度标注作消零处理 '0 显示所有前导零和后续零 .SetVariable "DimBlk", "" '设置尺寸线或引线末端显示的箭头块 '"" 实心闭合 .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", 3 '设置标注主单位显示的小数位位数 .SetVariable "DimDLE", 0 '当使用小斜线代替箭头进行标注时,设置尺寸线超出尺寸界线的距离 .SetVariable "DimDLI", 0.3125 '控制基线标注中尺寸线的间距 .SetVariable "DimDSep", "." '指定一个单字符作为创建十进制标注时使用的小数分隔符 .SetVariable "DimExe", 0 '指定尺寸界线超出尺寸线的距离 .SetVariable "DimExO", 2 '指定尺寸界线偏移原点的距离 '.SetVariable "DimFrac", 0 '在 DIMLUNIT 系统变量设置为 4(建筑)或 5(分数)时设置分数格式 .SetVariable "DimGap", 0.015625 '当尺寸线分成段以在两段之间放置标注文字时,设置标注文字周围的距离 .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", 1 '控制是否禁止显示第一条尺寸界线 .SetVariable "DimSE2", 1 '控制是否禁止显示第二条尺寸界线 '.SetVariable "DimSho", 1 'Defines dynamic update of dimtext as defining points are dragged. 0=Update, 1=Do not update. 'DimSho is stored by drawing, not by style. .SetVariable "DimSOXD", 0 '控制是否允许尺寸线绘制到尺寸界线之外 .SetVariable "DimTAD", 0 '控制文字相对尺寸线的垂直位置 '0 标注文字在尺寸界线之间居中放置 .SetVariable "DimTIH", 0 '控制所有标注类型(坐标标注除外)的标注文字在尺寸界线内的位置 '0 或关 将文字与尺寸线对齐 .SetVariable "DimTIX", 0 '在尺寸界线之间绘制文字 '0 或关 结果随标注类型的不同而不同。对于线性和角度标注,AutoCAD '将文字放置到尺寸界线之间(如果有足够的空间)。对于不适于放入圆 '或圆弧中的半径标注和直径标注,DIMTIX 无效并总是强制将文字放到圆或圆弧之外 .SetVariable "DimTOFL", 0 '控制是否将尺寸线绘制在尺寸界线之间(即使文字放置在尺寸界线之外) .SetVariable "DimTOH", 1 '控制标注文字在尺寸界线外的位置 .SetVariable "DimTSz", 0 '指定线性标注、半径标注以及直径标注中替代箭头的小斜线尺寸 .SetVariable "DimTVP", 0 '控制尺寸线上方或下方标注文字的垂直位置 .SetVariable "DimTxSty", "STANDARD" '指定标注的文字样式 .SetVariable "DimTxt", 0.09375 '指定标注文字的高度,除非当前文字样式具有固定的高度 .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 acadapp.ActiveDocument End Sub |