乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 156|回复: 10

插入公制/英寸DWG

[复制链接]

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-20 14:09:17 | 显示全部楼层 |阅读模式
Having 2006为设置插入比例提供了一些很好的选项。但我们有2004年和2006年,所以我需要一种方法,能够将我们的标准参考气泡等插入到英寸和公制中,而不是使用IAcadBlock3属性。
我认为如果绘图是公制的,通过缩放块中的实体,下面的方法会有效,但是代码0]
Alas 2006决定以25.4的比例插入一个块,这样效果会加倍。
感谢任何帮助。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-20 14:14:33 | 显示全部楼层
只是在这里即时键入,因此需要进行一些调整,但是
  1. Function is2k6() As Boolean
  2.   If Left(thisdrawing.getvariable("ACADVER"),4) = "16.2" then
  3.     is2k6 = true
  4.   End if
  5. end function

回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-20 14:35:20 | 显示全部楼层
谢谢鲍勃,我用同样的东西。
有时知道哪个版本不会阻止错误
,如果is2k6,那么
如果
这在2004年抛出错误,则将B调暗为IAcadBlock3结束
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-20 14:39:09 | 显示全部楼层
我看到你的问题了。 您可能必须运行两个不同版本的应用程序。
回复

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2006-6-20 14:43:11 | 显示全部楼层

  1. Function mmBlock(oBlock As AcadBlock)
  2.     If isMM Then
  3.         Dim Ent As AcadEntity
  4.         Dim Ins
  5.         Ins = oBlock.Origin
  6.         If not is2k6 then
  7.             For Each Ent In oBlock
  8.                 Ent.ScaleEntity Ins, 25.4
  9.             Next
  10.         End If
  11.         oBlock.units = acInsertUnitsMillimeters
  12.     End If
  13. End Function

回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-20 16:12:36 | 显示全部楼层
到目前为止,这是一个非常好的决定,鲍勃。
回复

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2006-6-20 16:15:18 | 显示全部楼层
即使是一只瞎眼的狗有时也会发现萝卜。
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-21 00:17:13 | 显示全部楼层
将单位设置为英寸,并以1的比例插入ref,最终得到的ref比例为0.0394。
因此,通过vba在公制dwg中插入英寸单位时,您需要使用25.4的比例
,而使用sendCommand时,比例为1。
我选择了下面,不知道是否会有一些长期的影响。
始终缩放公制dwg块中的元素。
  1. Function mmBlock(oBlock As AcadBlock)
  2.     If isMM Then
  3.         If AcadVer > 2004 Then
  4.             oBlock.units = acInsertUnitsMillimeters
  5.         End If
  6.         Dim Ent As AcadEntity
  7.         Dim ins
  8.         ins = oBlock.Origin
  9.         For Each Ent In oBlock
  10.             Ent.ScaleEntity ins, 25.4
  11.         Next
  12.     End If
  13. End Function

回复

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2006-6-21 22:10:11 | 显示全部楼层
不知道这对你是否重要,但我一直在使用这个号码:3.93700787401575E-02
抱歉,我无法为其他问题提供更多帮助。我仍然不检查ACAD版本。我只是在阅读你的人的东西,希望能学到该怎么做。
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-21 23:32:39 | 显示全部楼层
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,这很容易记住,所以我现在习惯使用它。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 23:25 , Processed in 0.613855 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表