Coder Social home page Coder Social logo

hbroad / parse-gcode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from huaileitang/parse-gcode

0.0 0.0 0.0 303 KB

:art:新手C++入门项目: 解析G代码/三维轨迹仿真/机器人仿真/代码行1W+/面向对象风格/涵盖所有C++基础知识/欢迎交流!

C++ 98.56% QMake 1.44%

parse-gcode's Introduction

前前言

前言

建立本仓的目的之初是为了提供给新手C++快速入门学习, 尤其是从面向过程到面向对象设计**的转变, 本人当年也是走过了不少弯路, 通过大量阅读大佬的源码可以获得"胜读十年书"的提升. 本仓库最初只是一个3000+代码行的小程序, 后来经过不断的版本迭代, 代码量逐渐庞大, 功能的丰富存在了实际的使用价值 但是代码任然是全部开源的, 你可以拿去继续添加你需要的功能, 甚至作为你自己的个人项目.

项目简介

  1. 基于Qt框架,Qt本身可以被称作是一种C++的延伸,Qt本身已经继承了C++的快速、简易、面向对象等许多的优点.
  2. 本项目模块可分为三大块:
    • 解析G代码
    • 轨迹数据可视化
    • 机器人三维仿真
  3. 项目技术栈: 基本涵盖了所有C++基础,例如数据结构与算法,设计模式,STL库等
  4. 面向对象编程风格: <Effective C++> <More Effective C++>
  5. 大部分代码都配有注释降低上手难度
  6. 项目代码行1W+, 本人QQ: 626373788 外观

模块介绍

解析G代码

  • 本功能是通过解析数控程序G/M代码指令,获取二维的轨迹数据进行绘制
  • 增加了刀补算法: 可根据刀具宽度和计算轨迹调整实际切割轨迹
  • 增加了手势操作: 鼠标滚轮放大以及拖拽 输入图片说明 输入图片说明

轨迹数据可视化

  • 可以将TXT文件的轨迹数据导入,实现轨迹数据的显示
  • 除此以外还提供了求交面设置,可以捕捉到轨迹和任意平面的相交的点坐标
    界面 求交面设置

机器人三维仿真

  • 本功能可以实现三维机器人stl文件的导入, 通过载入关节来装配机器人
  • 设置机器人的关键参数: DH参数, 运动范围, 起始角度
  • 增加了加载工件功能: 工件提供坐标轴和环, 可以与鼠标交互实现移动和旋转
  • 增加机器人示教功能: 通过示教功能实现机器人的运动
  • 增加了轨迹运动起始姿态幻影: 每次开始运动时记录原始姿态 仿真界面

附件图片

参数设置 工件 幻影 直线 圆弧

三维场景节点组织图

  • 渲染引擎使用OSG, OSG使用的是树数据结构来管理场景内部的各个节点, 大致组织结构如下 ss

parse-gcode's People

Contributors

trunliu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.