做机械制图时可能经常遇到这样的问题,装配图或者零件图的某一部分经常需要局部放大。出图时也需要出在同一张纸上。如果不涉及标注,可能并没有太大的问题,但常常不得不处理标注的比例。AutoCAD标注时可以选择自动测尺寸标注,这样当改变标注线位置时标注的尺寸数值自动变化。如果不是自动测尺寸,而是强行输入一个数值字符串,那么如果尺寸线位置变动(比如你改变设计尺寸),标注数值是不变化的,这不符合客观情况。在同一张图上标注不同比例的实体时,虽然作为AutoCAD实体,他们的大小是不一样的,但作为实际设计模型,尺寸是一样的,不过是局部放大显示罢了!假如使用自动测尺寸,照顾了原图就照顾不了放大图,必须有一个图是使用不自动检测尺寸,这对改图又改尺寸标注是很不方便的。如果开不同视窗,又会涉及到文字比例问题,因为图放大了文字也放大,而实际需要的是图放大而文字不放大。

解决这个问题有一个方法可以参考,就是使用DIMSCALE系统变量控制,例如,我们需要将原图一部分局部放大10倍,原图标注尺寸是150的地方,在放大图上也是150,虽然图变大了10倍,绝对不会检测成1500,我们只要在标注时将DIMSCALE系统变量设成0.1就可以了。

改变系统变量固然可以解决尺寸自测问题,但是,DIMSCALE变量是全局的,他将影响以后所有的标注,如果在实际操作时反复切换这个变量,又为绘图添加很多新的麻烦,所以,下一步就是考虑如何自动切换标注比例问题。

以笔者的成功范例,采用下列方式达到自动切换标注比例的功能,只要指定了一个矩形框,确定在此框内的比例,以后凡是在此框内绘图都自动设置DIMSCALE变量,在框外绘图标注比例会设回去。

第一:截获AutoCAD鼠标按键消息;重新编制窗口处理过程,采用SetWindowLong将此过程附加到AutoCAD绘图窗口。

第二:在窗口处理过程里面判断鼠标的位置,是否落在规定的矩形框内,如果在则改变系统变量。

第三:为了记录特定的矩形框位置,设计了一个新实体,新实体可以显示可以隐藏,可以移动、缩放,但不能随意删除,必须用指定的命令才可删除,如果使用AutoCAD命令删除它,在存盘时可以恢复,并设为隐藏状态,新实体的一个重要属性就是标注比例,可以随时改动,并影响框内所有实体。