软件本身是采用微软的MFC技术,所以软件本身的架构是视图-文档架构,同时引用了一些开源的软件进行机械臂动态视图的渲染。如下是项目的类图,可以清楚的反应产品的架构。

MFC有标准的类架构,这些标准的类如,视图类,文档类,框架类,这里就不多做介绍,网上有大量的介绍文章,本文重点说明机械臂是如何在视图中渲染,显示出来,这里重点用到了两个类

  • STLObject:此类主要的功能是通过读取3D模型文件*.stl文件(此类文件也是3D打印的标准文件,常用的结构设计软件都可以导出此类型文件)通过GL进行渲染
  • BotDrawer:此类是机械臂的可活动组件结构类,此类头文件中将机械臂的各个可获得组件,声明为一个STObject类,在display函数同通过相对坐标,进行渲染显示:

    下图是通过OpenGL对机械臂的4个关活动组件进行渲染,并且定义了相对坐标,及相对旋转角度,这里主要用到两个OpenGL的函数
    glTranslatef(0.0, main_axis_offset_to_base_z, 0.0); 其作用是将当前绘制点平移一个(X,Y,Z)的向量
    glRotatef(degrees(angles[0]), 0.0, 1.0, 0.0);其作用是控制当前几何图形围绕哪给做旋转多少度,后3个参数分别代表x,y,z轴,取值为布尔类型,1表示围绕对应的轴旋转
    以上就是机械臂初始化渲染的过程,看似简单,但这里运用了OpenGL很多的知识,下一篇介绍如何响应鼠标事件,实现机械臂3D视图的拖动旋转。

机械臂上位机监控软件---2.软件架构相关推荐

  1. 六轴机械臂下位机(arduino)+上位机(ROS+Moveit)---(一)机械臂硬件

    六轴机械臂下位机(arduino)+上位机(ROS+Moveit)---(一)机械臂硬件 机械部分 机械臂制作时的注意点!!!(坑) 零件的3D打印 控制器接线问题 机械部分 六轴机械臂在工业领域的运 ...

  2. 上位机软件开发流程是怎样的?上位机开发软件分享

    随着科技的发展, 上位机软件开发已经成为当今社会的一个重要组成部分.上位机软件开发是一种技术,它可以帮助用户更好地控制和管理计算机系统.它可以帮助用户更有效地完成任务,提高工作效率,提高生产力. 上位 ...

  3. C#与西门子plc通讯上位机 c#软件 工控软件

    C#与西门子plc通讯上位机 c#软件 工控软件 1.该程可以实现CSharp与西门子全系列plc(200,200smart,300,1200,1500)的以太网s7通讯,通讯传输快稳定. 2.该程序 ...

  4. 司创电梯发卡软件_防复制电梯IC卡系统上位机管理软件设计

    原标题:防复制电梯IC卡系统上位机管理软件设计 防复制电梯IC卡系统上位机管理软件设计 防复制电梯IC卡系统上位机管理软件设计 上位机程序在VC++6.0开发环境下使用MFC框架类,基于单文档模式和对 ...

  5. labview GSM上位机监控系统~温度监控,液位监控,粉尘浓度监控,远程遥控~串口通讯~短信远程功能~数据采集,数据存储,报表输出~

    labview GSM上位机监控系统温度监控,液位监控,粉尘浓度监控,远程遥控串口通讯短信远程功能数据采集,数据存储,报表输出~ _:5444669332416953labview十年工控

  6. 六轴机械臂控制器 控制卡 软件 机械臂

    六轴机械臂控制器 控制卡 软件 机械臂27400624681113128教学实训设备

  7. 上位机作图软件 监测温度,单片机串口通信无压力

    上位机作图软件 监测温度,单片机串口通信无压力 本帖最后由 zb12138 于 2018-11-11 13:11 编辑 功能 1.与串口调试助手一样,可设串口,自动扫描串口,波特率等等,可收发汉字 2 ...

  8. 半导体新能源智能装备上位机工业软件设计方案

    一.什么是上位机软件 如果说PLC是工业控制的小脑,那么上位机软件就是其大脑.在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,上位机往往是数字信号的处理和命令的下发,下位机往往是模拟 ...

  9. ATECLOUD智能云测试平台-测试测量/仪器程控/工业控制/上位机开发软件

    ATECLOUD智能云测试平台是纳米软件Namisoft推出的文字化语言编程软件平台,可连接.配置并控制市面上常见的硬件仪器.设备,实现仪器设备的自动化测试测量 .工业控制.远程监控.上位机软件开发. ...

最新文章

  1. AutoMapper用法
  2. linux 下iptraf监控网卡流量
  3. iOS Appstore 版本更新
  4. MassTransit - .NET Core 的分布式应用程序框架
  5. python跳出两层(多层)循环--使用标志量
  6. Sql Server 2005资源瓶颈监控(二)
  7. phprpc的简单使用
  8. imagej软件分析划痕实验(计算划痕面积及伤口愈合百分比)
  9. Jupyter 同时支持python2、python3 kernel
  10. 谭浩强c语言程序设计作业,谭浩强《C语言程序设计》第7章习题解答(13、14题)...
  11. Codeforces--884A--Book Reading
  12. 转载:http://www.zzslxx.com/wmy/jy/Chap02/2.1.1.1.htm
  13. 公务员考试计算机专业类别,专业!公务员专业类别划分
  14. Kali [Sqlmap]
  15. Intel汇编-JMP无条件调转
  16. Tushare 学习 - tushare pro使用
  17. cmake编译参数重写(正在重写‘/MTd‘用‘/MDd‘)问题
  18. QQ(腾讯)-群空间-数据库设计
  19. sql盲注如何修补_如何修复SQL注入漏洞
  20. android videoview,旋转 视频 orientation,rotation 等

热门文章

  1. 体验文心一言AI大模型生成推特、谷歌公司、csdn、中国能建、中国兵器、华为云、瑞银集团和贝莱德集团简介
  2. jstatjmapjhat
  3. jetson nano 部署yolov5s(从配置环境到推理)
  4. 如何从下载 UCSC 的 blat 等工具
  5. 一开机就是coloros恢复模式_「系统」一加氢OS 11升级 这俩功能终于等到 | realme新UI十月见...
  6. 洛谷4438 [HNOI/AHOI2018]道路
  7. USB SATA PCIE带宽的换算公式
  8. goahead服务器性能,goahead web 服务器总体结构
  9. linux 5识别网卡,Atheros AR8151网卡识别错误在CentOS 5.5系统中的修复
  10. phpstudy本地配置--dede织梦网