cad 发表于 2005-4-27 22:27

在AutoCAD同一张图上自动实现不同的标注比例

----系统变量的使用、截获鼠标消息、自定义实体知识    做机械制图的同学可能经常遇到这样的问题,装配图或者零件图的某一部分经常需要局部放大。出图时也需要出在同一张纸上。如果不涉及标注,可能并没有太大的问题,但常常不得不处理标注的比例。Auto CAD标注时可以选择自动测尺寸标注,这样当改变标注线位置时标注的尺寸数值自动变化。如果不是自动测尺寸,而是强行输入一个数值字符串,那么如果尺寸线位置变动(比如你改变设计尺寸),标注数值是不变化的,这不符合客观情况。      在同一张图上标注不同比例的实体时,虽然作为Auto CAD实体,他们的大小是不一样的,但作为实际设计模型,尺寸是一样的,不过是局部放大显示罢了!假如使用自动测尺寸,照顾了原图就照顾不了放大图,必须有一个图是使用不自动检测尺寸,这对改图又改尺寸标注是很不方便的。如果开不同视窗,又会涉及到文字比例问题,因为图放大了文字也放大,而实际需要的是图放大而文字不放大。
    解决这个问题有一个方法可以参考,就是使用DIMSCALE系统变量控制,例如,我们需要将原图一部分局部放大10倍,原图标注尺寸是150的地方,在放大图上也是150,虽然图变大了10倍,绝对不会检测成1500, 我们只要在标注时将DIMSCALE系统变量设成0.1就可以了。      改变系统变量固然可以解决尺寸自测问题,但是,DIMSCALE变量是全局的,他将影响以后所有的标注,如果在实际操作时反复切换这个变量,又为绘图添加很多新的麻烦,所以,下一步就是考虑如何自动切换标注比例问题。
    以笔者的成功范例,采用下列方式达到自动切换标注比例的功能,只要指定了一个矩形框,确定在此框内的比例,以后凡是在此框内绘图都自动设置DIMSCALE变量,在框外绘图标注比例会设回去。   第一 : 截获Auto CAD鼠标按键消息;重新编制窗口处理过程,采用SetWindowLong将此过程附加到Auto CAD绘图窗口。
    第二 : 在窗口处理过程里面判断鼠标的位置,是否落在规定的矩形框内,如果在则改变系统变量。
    第三 : 为了记录特定的矩形框位置,设计了一个新实体,新实体可以显示可以隐藏,可以移动、缩放,但不能随意删除,必须用指定的命令才可删除,如果使用Auto CAD命令删除它,在存盘时可以恢复,并设为隐藏状态,新实体的一个重要属性就是标注比例,可以随时改动,并影响框内所有实体。
    综上所述,采取这几个简单的技术,就实现了在同一张图上自动实现不同的标注比例,有关截获鼠标消息、自定义实体以及程序源码等等细节,将在后期推出。

渐行 发表于 2006-11-7 10:28

好东西,顶出来给大家分享。

红岩霸王 发表于 2006-11-7 17:31

顶,后期推出,是好久哟?

jicheng 发表于 2006-11-7 18:58

好方法,学习一下。

m418253226 发表于 2008-11-2 11:07

顶,看不明白!

matchhouse 发表于 2008-11-4 15:28

"只要指定了一个矩形框,确定在此框内的比例,以后凡是在此框内绘图都自动设置DIMSCALE变量,在框外绘图标注比例会设回去。"

我听了觉得神奇。

ksddhjlug 发表于 2008-11-4 19:41

建两个尺寸样式行吗?

shadowhaha 发表于 2009-12-24 14:19

学习还是学习 发现在学校里学的好菜

xiaosun111 发表于 2009-12-24 14:39

还是不太明白:( :(
页: [1]
查看完整版本: 在AutoCAD同一张图上自动实现不同的标注比例