+发表新主题
chenjuan70 发布于2024-8-3 17:01 738 次浏览 20 位用户参与讨论
跳转到指定楼层
请教各位老师,
       在inventor中,一个异形的3D模型,有什么功能,能准确,快速的找出3D模型的最大外形尺寸?(长X宽X高)
谢谢,盼复!
回复

使用道具 举报

已有20人评论

linrj11 发表于 2024-8-3 21:37:11

  • doc = ThisDoc.Document
  • Dim oCompDef As PartComponentDefinition ‘AssemblyComponentDefinition
  • oCompDef = doc.ComponentDefinition

  • Dim oPt1 As Point, oPt2 As Point
  • oPt1 = oCompDef.RangeBox.MaxPoint
  • oPt2 = oCompDef.RangeBox.MinPoint

  • Dim X As Double, Y As Double, Z As Double
  • X = Abs(oPt1.X - oPt2.X)
  • Y = Abs(oPt1.Y - oPt2.Y)
  • Z = Abs(oPt1.Z - oPt2.Z)MessageBox.Show("长宽高="&Round(X*10, 0)&"x"&Round(Y*10, 0)&“x”&Round(Z*10, 0), "最大尺寸")

复制代码
这段规则可以获取XYZ三个坐标上的最大尺寸
回复

使用道具 举报

非洲小白脸 发表于 2024-8-5 14:45:04

这个不复杂。
1. 创建临时的装配,加入要测量的模型,存盘
2. 创建临时的零件,衍生这个装配,并确定为“包括...边框”,见下图
3. 结果将形成被测模型的最小外接长方体,可测量需要的尺寸

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

lhlm 发表于 2024-8-6 23:53:56
linrj11 发表于 2024-8-3 21:37
  • doc = ThisDoc.Document
  • Dim oCompDef As PartComponentDefinition ‘AssemblyComponentDefinition
    ......
  • 把这个规则直接复制添加到inventor里面的规则,然后运行,就得出了零件的最大长乘宽乘高。不错。不知道能不能保存在inventor里面,以后直接运行。
    回复

    使用道具 举报

    chenjuan70 发表于 2024-8-7 12:20:10
    linrj11 发表于 2024-8-3 21:37
  • doc = ThisDoc.Document
  • Dim oCompDef As PartComponentDefinition ‘AssemblyComponentDefinition
    ......
  • 多谢,看来还是需要写代码。
    回复

    使用道具 举报

    chenjuan70 发表于 2024-8-7 12:28:40
    非洲小白脸 发表于 2024-8-5 14:45
    这个不复杂。
    1. 创建临时的装配,加入要测量的模型,存盘
    2. 创建临时的零件,衍生这个装配,并确定为“ ......

    好的,多谢!
    回复

    使用道具 举报

    刘柏麟 发表于 2024-8-10 03:15:08
    学习了,多谢大师!!!
    回复

    使用道具 举报

    lmlguitar 发表于 2024-8-10 04:27:29
    我想把异形模型的长宽高参数提取出来,作为其他零部件调用,怎么提取呢?貌似两位老师的做法只能查看
    回复

    使用道具 举报

    qq771436657 发表于 2024-8-10 17:56:27
    lmlguitar 发表于 2024-8-10 04:27
    我想把异形模型的长宽高参数提取出来,作为其他零部件调用,怎么提取呢?貌似两位老师的做法只能查看 ......
    前面有回复,衍生可以。
    回复

    使用道具 举报

    linrj11 发表于 2024-8-11 03:08:51
    lmlguitar 发表于 2024-8-10 04:27
    我想把异形模型的长宽高参数提取出来,作为其他零部件调用,怎么提取呢?貌似两位老师的做法只能查看 ......

    加上如下三行,创建用户参数
    • oCompDef.Parameters.UserParameters.AddByValue("长", Round(X * 1, 0), "mm")
    • oCompDef.Parameters.UserParameters.AddByValue("宽", Round(Y * 1, 0), "mm")oCompDef.Parameters.UserParameters.AddByValue("高", Round(Z * 1, 0), "mm")


    回复

    使用道具 举报

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

    本版积分规则

    QQ| Archiver|手机版|小黑屋| 碧波制图网 Published by Stonespider

    Copyright © 2021-2023 Kangli Wu   All Rights Reserved.

    Powered by Discuz! X3.4( 苏ICP备18011607号-1 )

    快速
    回复
    返回
    列表
    返回
    顶部