【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级

欢迎来到Labview专栏~Labview-3D虚拟平台(下)


  • ☆* o(≧▽≦)o *☆~我是小夏与酒
  • 博客主页:小夏与酒的博客
  • 该系列文章专栏:Labview-3D虚拟平台
  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正
  • 欢迎大家关注! ❤️
    111

CSDN

【Labview-3D虚拟平台】- 装配体、父级与子级-目录

  • 一、前言
    • 效果展示
    • 软件版本说明
    • 前文回顾
  • 二、父级与子级
    • 介绍
    • 父级和子级的作用与影响
      • .1 宏观上下级关系
      • .2 内部对应参照关系
  • 三、Solidworks装配体的导出
    • 新坐标系原点的选择
    • 新坐标系的建立方法
    • 零件导出选项
  • 四、装配体导入Labview并实现控制
    • 导入原则
    • 经典案例vi分析
  • 五、参考文章

遇见未来

一、前言

效果展示

实现效果:

经典案例展示效果:

上述演示的VI可以通过该链接进行下载:Labview与Solidworks-机械臂的仿真与控制(包括“经典案例”和“自制案例”),
或者三连本文章联系我免费领取❤️。
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第1张图片

软件版本说明

SOLIDWORKS 2022;LabVIEW 2021。

软件 版本
SOLIDWORKS 2022
NI LabVIEW 2021 (32位)

LabVIEW 2021(32位)和LabVIEW 详细课程获取:三易电子工作室;也可以搜索并关注微信公众号【易小时课堂】或者【三易电子工作室】了解更多内容。

前文回顾

第一篇文章(上):
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(上)在Labview中使用Solidworks的3D模型——零件模型导入

第二篇文章(中):
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(中)在Labview中使用Solidworks的3D模型——3D模型的变换操作

二、父级与子级

介绍

关于父级和子级的讲解,我们通过Labview自带的vi范例来理解——太阳系三维模型

太阳系场景图由四个对象构成:
1.太阳-顶层对象(该对象用于渲染场景,通过将其引用连入场景图控件或连入场景窗口的“场景”属性实现)。该对象仅与几何体相关联。
2. “变换对象”-该对象用于为子对象提供一组一致的变换,另外子对象还可以拥有各自独特的变换,不会影响到同辈对象,比如地球和月球都需要这样的变换。该对象是太阳对象唯一的直接子对象。
3.地球-直接继承“变换对象”,且包含地球的几何信息,以及地球本身特定的变换信息(即绕轴自转)。
4.月球-直接继承“变换对象”,且包含月球的几何信息,以及月球本身特定的变换信息,即绕地球旋转并相对于地球发生偏移(变换)。

✨在较早版本的Labview中,关于三维模型之间关系的描述为父级和子级的关系,在最近的版本中,更改为了顶层对象和子对象的关系

关于太阳系的范例:太阳是父级,地球和月球是同级,它们两个都是太阳的子级

如果让我来改写该vi的话,我会这么安排对应关系:
太阳是地球的父级,地球是月球的父级;地球是太阳的子级,月球是地球的子级。为了方便描述,我们把月球称为太阳的第二子级(只是为了方便我进行描述,所以起了这个称呼)。
以此类推:地球是太阳的第一子级;月球是地球的第一子级。

可以打开范例认真研究一下范例vi:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第2张图片

父级和子级的作用与影响

.1 宏观上下级关系

首先看一下对应的关系指示图
单路支配关系

支配
支配
支配
父级
第一子级
第二子级
第n子级

多路支配关系

支配
支配
支配
支配
支配
支配
父级
第一子级1
第一子级2
...
第二子级1
第二子级2
第n子级

由上图指示:

  1. 第一子级1和第一子级2称为 同级 ;同样,第二子级1和第二子级2也称为 同级
  2. 子级对象自身的变换操作不会影响到同级对象。

关于父级和子级的作用与相互影响

父级处于主导地位,影响着其下的各个子级,对子级起支配作用;子级只对其下的子级起支配作用,完全不会对父级造成影响,也不会对同级造成影响。

哈哈哈!上述结论是我自己归纳总结的,如果有误或者存在不足可以在评论区中指出!

根据父级和子级的关系以及相互影响,说明我们可以通过改变父级的属性来达到改变子级属性的目的

关于多路支配关系是如何在labview中实现的,还是参考labview自带范例vi 太阳系 :通过创建多个三维对象,并将它们按照对应关系嵌套在一起来实现多路支配:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第3张图片
文中关于机械臂的仿真与控制,使用的是单路支配关系。

.2 内部对应参照关系

如果只是单独分析模型中的一部分,从 父级和子级的内部对应关系(一个子级和它的下一个子级的关系) 来说,这个子级可以被称为该部分的父级,而它的下一个子级可以称为它的第一子级,即对应参照关系。

注意:在该部分的理论讲解和分析中,为了方便理解原理,我使用了一些比较奇怪的专业名词,但这些不重要,重要的是理解使用原理!

三、Solidworks装配体的导出

新坐标系原点的选择

✨根据我的经验和建议,新坐标系的原点一般选择在旋转轴的中心位置,如下图的标注:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第4张图片

当然,也可以根据实际需求选择其它位置的坐标系原点。

对于下图零件,在使用时它可以绕着A点按照轴的方向顺时针或逆时针旋转,也可以绕着B点按轴旋转,因此可以在该零件上添加三个坐标系,以方便在不同情况下的使用:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第5张图片

新坐标系的建立方法

使用Solidworks打开零件或者装配体,看如下操作步骤:
零件:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第6张图片

装配体:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第7张图片
选择并建立好新坐标系:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第8张图片

注意 :在此需要特别特别注意,对于零件或者装配体新坐标系的建立,是十分繁琐但也是至关重要的一步。在Labview的显示界面中,默认Y轴指向上方(即笛卡尔坐标系右手坐标系),所以在建立新坐标系的时候一定分析清楚几何关系和运动关系!!!
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第9张图片
关于新坐标系的建立可以去网上搜索更加详细的介绍。

零件导出选项

当新坐标系建立好之后,在导出时一定一定要选择好你需要使用的坐标系!不然将会导出默认坐标系:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第10张图片

当然,以上介绍的新坐标系的建立方法和零件的导出只是我常用的方法,也可以去网上搜索或学习其它更高效的方法。

四、装配体导入Labview并实现控制

导入原则

为什么要提一下导入原则这个事情呢?是因为如果随意导入模型,会很难把握其中父级和子级的关系,导致控制对象出错!

导入原则父级优先,然后依次导入其他子级

从我自制的简单案例来举例:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第11张图片

底座是整个机械臂的父级,如果底座旋转或者平移,将会带动整个机械臂旋转或者平移;依次向上,旋转面为第一子级,支配着旋转面以上的零件进行运动,而不会影响到底座;舵机为第二子级;连接轴为第三子级…

支配
支配
支配
底座
旋转面
舵机
...

经典案例vi分析

控制机械臂的经典案例完整vi:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第12张图片
首先是显示界面背景颜色的设置:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第13张图片
按照零件之间的父级和子级关系进行导入:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第14张图片
下一步vi的作用是为了设置各个零件的初始位置:
【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(下)在Labview中使用Solidworks的3D模型——装配体、父级与子级_第15张图片

重点注意:这里的初始位置,指的是该零件坐标系原点和它的父级零件坐标原点的相对位置。

当对应关系和初始位置处理完毕之后,就可以在while循环中写控制程序了。

五、参考文章

❤️感谢以下大佬的资料分享!

labview学习笔记–3D模型(1)

labview学习笔记–3D模型(2)

labview学习笔记–3D模型(3)

机械类——Labview 调用 Solidworks 模型,制作机械臂控制方式探索

LabVIEW学习分享(2)

labview调用solidworks3维模型

订阅该系列文章专栏,不错过精彩内容~
csdn

结尾


  • ❤️ 感谢您的支持和鼓励!
  • 您可能感兴趣的内容:
  • 【FPGA零基础学习之旅#4】定时器设计与蜂鸣器驱动
  • 【Go黑帽子】使用Golang编写一个TCP扫描器(高级篇)
  • 【Labview机器视觉】- USB摄像头识别和解码二维码 - 学习记录
  • 【Labview-3D虚拟平台】Labview与Solidworks联合仿真(保姆级)(一)在Labview中使用Solidworks的3D模型——零件模型的导入
    遇见未来

你可能感兴趣的:(Labview-3D虚拟平台,3d,人工智能,labview,labview和SW,机械臂仿真与控制)