天天看点

开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(一)

尊重作者,支持原创,如需转载,请附上原地址:

https://blog.csdn.net/libaineu2004/article/details/89053246

先来看看B站的视频

https://www.bilibili.com/video/BV1Bt4y1y74P

CRC/CNC

Cutter Radius Compensation for Milling machines.

cutter radius compensation

cutter comp

https://github.com/shooter64738/CRC https://github.com/grbl

-- rs274/ngc parser,不支持G40/G41/G42

https://github.com/synthetos/g2 https://github.com/modmaker/BeBoPr http://gerbv.geda-project.org/ https://github.com/eduard-x/cnc-qt https://github.com/vlachoudis/bCNC https://github.com/Smoothieware/Smoothieware

++

http://smoothieware.org/ https://github.com/OpenBuilds https://github.com/winder/Universal-G-Code-Sender https://github.com/arkypita/LaserGRBL https://github.com/svenhb/GRBL-Plotter https://github.com/cncjs/cncjs

LinuxCNC

http://www.linuxcnc.org/

-- Supports rigid tapping, cutter compensation, and many other advanced control features.

https://github.com/LinuxCNC/linuxcnc https://github.com/LinuxCNC/linuxcnc/tree/master/src/emc https://github.com/LinuxCNC/linuxcnc/blob/master/src/emc/rs274ngc/interp_convert.cc

-- 刀具补偿

https://github.com/LinuxCNC/simple-gcode-generators http://linuxcnc.org/dists/lucid/emc2.4/

linuxcnc老版本名称叫EMC2,Enhanced Machine Controller (EMC2)

Open CASCADE Technology(简称OCCT)

opengl是基础图形库,open cascade是一个高级的CAD开发库,OCC基础就是OpenGL。

https://www.opencascade.com/

官网

https://www.opencascade.com/content/download-center

下载中心

https://www.opencascade.com/content/latest-release

 最新版本下载,只提供x64版本的库,不提供x86

https://www.opencascade.com/content/previous-releases

 历史版本下载

https://www.opencascade.com/content/3rd-party-components

第三方依赖库,其中Freetype和Tcl/Tk是必须的

https://dev.opencascade.org/

开发者平台

https://dev.opencascade.org/doc/overview/html/index.html

开发文档

https://dev.opencascade.org/doc/overview/html/occt_dev_guides__building.html

环境搭建

https://github.com/topics/opencascade

github相关

重量级应用:

1、FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发平台。

https://github.com/FreeCAD/FreeCAD https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Import/App/ImpExpDxf.cpp

Dxf文件解析

https://www.freecadweb.org/ https://www.freecadweb.org/wiki/CompileOnWindows

源码编译说明

https://github.com/FreeCAD/FreeCAD-ports-cache/releases

依赖库官方发布

https://github.com/apeltauer/FreeCAD/releases

依赖库非官方纯私人发布,版本比较新

https://github.com/FreeCAD/FreeCAD_Conda

依赖库新方式

2、heekscad

HeekCAD是一个免费,开源CAD应用程序,作者是Dan Heeks,[email protected]

https://www.opencascade.com/content/heekscad https://github.com/Heeks/heekscad https://github.com/Heeks/heekscad/blob/master/src/HDxf.cpp https://github.com/Heeks/heekscnc https://github.com/danheeks/dxfconv

dxf文件读写

https://github.com/danheeks/HeeksCAM https://github.com/danheeks/PyCAD https://github.com/danheeks/PyCAM https://code.google.com/archive/p/heekscad/downloads https://code.google.com/archive/p/heekscnc/downloads https://sites.google.com/site/heekscad/

3、PythonOCC

Python wrapper for Open CASCADE Technology.

http://www.pythonocc.org/

4、cadquery

CadQuery2.0是pythonocc的高级封装库,使用了Qt语言作为界面语言,是一款正在起步的命令行建模软件,由于pythonocc的使命在于封装opencascade而非关注界面,那么对于有界面需求的开发人员,便可以好好关注一下cadquery。

https://github.com/CadQuery/cadquery

5、OpenShapefactory

OpenShapefactory is a Qt-based Geometry Factory that provides a single-point of entry to the most of OCCT geometrical operations.It is a Middle-Man between you, OpenCascade and QT, it serves as a Geometry Factory wrapping OpenCascade, and providing a single-point of entry to the creation of most geometrical operations.

http://code.google.com/p/openshapefactory

6、declaracad

https://github.com/codelv/declaracad

7、mayo

https://github.com/fougue/mayo

-- 3D viewer based on OpenCascade,Support of STEP/IGES assemblies (colors and tree structure)

https://github.com/cbernardo/libIGES

-- IGES解析

编译源码之前,需要在mayo源工程的opencascade.pri文件手动添加OpenCascade路径:

# Declare pure QMake variables out of OCC envvars

COMMON_PATH = "D:/My Resources/OpenCASCADE-7.5.0-vc14-64/opencascade-7.5.0"#注意斜杆的方向;引号;

CASCADE_INC_DIR = $${COMMON_PATH}/inc

CASCADE_LIB_DIR = $${COMMON_PATH}/win64/vc14/lib

CASCADE_BIN_DIR = $${COMMON_PATH}/win64/vc14/bin

CASCADE_SRC_DIR = $${COMMON_PATH}/src

开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(一)

8、eryar

https://github.com/eryar/occQt

Qt demo

http://www.cppblog.com/eryar/

OCCT精品博客,[email protected]

https://www.cnblogs.com/opencascade/

同上

x、其他相关的博客和轻量级应用:

https://github.com/miho/OCC-CSG

-- Simple but powerful CSG tool based on OpenCascade

https://github.com/lvk88/OccTutorial https://github.com/tpaviot/oce

OCE,在OCC基础上扩展

https://github.com/tianxiao/occsamplemfc

MFC demo

http://www.zyh1690.org/cadcg/

博客

https://blog.csdn.net/augusdi/article/category/695059