插入公制/英寸DWG
Having 2006为设置插入比例提供了一些很好的选项。但我们有2004年和2006年,所以我需要一种方法,能够将我们的标准参考气泡等插入到英寸和公制中,而不是使用IAcadBlock3属性。我认为如果绘图是公制的,通过缩放块中的实体,下面的方法会有效,但是代码0]
Alas 2006决定以25.4的比例插入一个块,这样效果会加倍。
感谢任何帮助。
**** Hidden Message ***** 只是在这里即时键入,因此需要进行一些调整,但是
Function is2k6() As Boolean
If Left(thisdrawing.getvariable("ACADVER"),4) = "16.2" then
is2k6 = true
End if
end function
谢谢鲍勃,我用同样的东西。
有时知道哪个版本不会阻止错误
,如果is2k6,那么
如果
这在2004年抛出错误,则将B调暗为IAcadBlock3结束 我看到你的问题了。 您可能必须运行两个不同版本的应用程序。
Function mmBlock(oBlock As AcadBlock)
If isMM Then
Dim Ent As AcadEntity
Dim Ins
Ins = oBlock.Origin
If not is2k6 then
For Each Ent In oBlock
Ent.ScaleEntity Ins, 25.4
Next
End If
oBlock.units = acInsertUnitsMillimeters
End If
End Function
到目前为止,这是一个非常好的决定,鲍勃。 即使是一只瞎眼的狗有时也会发现萝卜。 将单位设置为英寸,并以1的比例插入ref,最终得到的ref比例为0.0394。
因此,通过vba在公制dwg中插入英寸单位时,您需要使用25.4的比例
,而使用sendCommand时,比例为1。
我选择了下面,不知道是否会有一些长期的影响。
始终缩放公制dwg块中的元素。
Function mmBlock(oBlock As AcadBlock)
If isMM Then
If AcadVer > 2004 Then
oBlock.units = acInsertUnitsMillimeters
End If
Dim Ent As AcadEntity
Dim ins
ins = oBlock.Origin
For Each Ent In oBlock
Ent.ScaleEntity ins, 25.4
Next
End If
End Function
不知道这对你是否重要,但我一直在使用这个号码:3.93700787401575E-02
抱歉,我无法为其他问题提供更多帮助。我仍然不检查ACAD版本。我只是在阅读你的人的东西,希望能学到该怎么做。
Dave 3.93700787401575E-02与1/25.4相同
有关系吗?
我的测试显示7.777x7.777比7.777^2快,7.777X0.5比7.777/2快。
但是cad中的缩放(在命令行)不允许1/2.4,但允许10/254,这很容易记住,所以我现在习惯使用它。
页:
[1]
2