CAD/CAM
文章平均质量分 86
利白
这个作者很懒,什么都没留下…
展开
-
GIS系列专题(7):使用SPFA算法(Shortest Path Faster Algorithm)解决最短路径问题
本篇非原创,转载自SPFA求单源最短路径 - 箜瑟_qi - 博客园序 求 最短路径 的算法有很多,各有优劣。 比如Dijkstra(及其堆(STL priority_queue)优化),但是无法处理负环的情况; 比如O(n^3)的Floyd算法;比如Bellman https://www.cnblogs.com/kongse-qi/p/6902328.html序求最短路径的算法有很多,各有优劣。比如Dijkstra(及其堆(STL-priority_queue)优化),但是无法处理负环的情况转载 2022-02-22 20:49:37 · 413 阅读 · 0 评论 -
绘图软件教程(2)coreldraw12图层的使用与DXF文件的导出
1、图层的使用(1)coreldraw12主菜单-工具-对象编辑器可以调出对象管理器的页面:(2)新建图层在对象管理器的页面的左下角有按钮。(3)其他操作在对象管理器的页面,鼠标单击图层,即刻激活该图层;在对象管理器的页面,鼠标拖拽,可以修改某个图元的图层。2、DXF文件的导出coreldraw12主菜单-文件-导出注意:导出的dxf文件也会有图层信息。PLT文件是没有图层信息的。...原创 2021-04-21 18:33:07 · 3092 阅读 · 1 评论 -
绘图软件教程(1)QCAD新建并修改图元的图层
1、打开dxf文件,默认已有图层layer 12、原创 2021-03-05 21:42:42 · 1275 阅读 · 0 评论 -
GIS系列专题(6):机器人是如何规划路径的?动画演示一下吧
在机器人研究领域,给定某一特定任务之后,如何规划机器人的运动方式至关重要。最近,GitHub 上开源了一个存储库,该库实现了机器人技术中常用的一些路径规划算法,大部分代码是用 Python 实现的。值得一提的是,开发者用 plotting 为每种算法演示了动画运行过程,直观清晰。项目地址:https://github.com/zhm-real/PathPlanning该开源库中实现的路径规划算法包括基于搜索和基于采样的规划算法,具体目录如下图所示:...转载 2020-11-14 11:26:52 · 667 阅读 · 0 评论 -
开源项目推荐:3D点云处理开源库PCL/Cilantro/Open3d/Easy3D/PDAL/LAStools
Cilantro是一个精简高效的点云数据处理库,编程是C++,依赖项较少,但是相比较于PCL来说,代码更有可读性,PCL中大量的使用C++高级特性,阅读起来比较难并且不易重构拆解代码,而cilantro重点放在了3D案例上,尽量减少了样板代码的数量,包含了对点云常见的操作,是一个比较简单易懂的API,所以该库可以被广泛的模块化,并且支持多维度数据进行操作,同时保证对算法模块的模块化和可扩展性。cilantro 是一个精简且快速的 C++ 库,用于处理点云数据,重点是 3D 案例。原创 2020-09-25 11:07:01 · 14506 阅读 · 7 评论 -
开源项目推荐:3D点云处理软件CloudCompare,基于Qt和OpenGL
CloudCompare是一款基于GPL开源协议的3D点云处理软件,可以在Windows、MacOS和Linux上运行。我们可以通过阅读其源码来一窥3D点云处理的基本算法,也可以通过设计新的plugin来拓展本软件。1、官网http://www.cloudcompare.org/https://github.com/CloudCompare/CloudCompare2、源码编译https://www.jianshu.com/p/d63c31adc7b9......原创 2020-08-31 14:50:46 · 22404 阅读 · 2 评论 -
GIS系列专题(5):使用遗传算法(Genetic Algorithm)解决最优路径问题
遗传算法の解决最优路径问题旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。—Edited By Hugo1、遗传算法与生物进化学说:遗传算法(Genetic Algorithm)遵循『适者生存』、『优胜劣汰』的原则,是..原创 2020-09-13 15:14:33 · 5347 阅读 · 0 评论 -
开源项目推荐:3D点云可视化软件(Qt+OpenGL组合库);重点是ccViewer和libQGLViewer
LearnOpenGLhttps://learnopengl.com/https://github.com/JoeyDeVries/LearnOpenGLhttps://github.com/MidoriYakumo/learnopengl-qt3dTutorials for Qt5 OpenGL implementationhttps://github.com/TReed0803/QtOpenGLhttps://github.com/chenzilin/qt-opengl.原创 2020-09-04 11:47:07 · 8471 阅读 · 0 评论 -
FlatCAM_beta_8.993的Windows环境搭建及源码编译
下载并解压源码包,里面有requirements.txt文件。原则上pip install -r requirements.txt这行命令可以安装全部依赖,但是实践过程困难重重。离线安装以下涉及的python依赖包无法通过pip在线安装,只能下载离线包再安装。https://www.lfd.uci.edu/~gohlke/pythonlibs/(base) C:\Users\firecat>conda activate firecat(firecat) C:\Users\fire.原创 2020-08-02 23:56:11 · 1386 阅读 · 2 评论 -
GIS系列专题(4):使用贪心算法(Dijkstra Algorithm)解决最短路径问题(Calculating shortest path in QGIS)
1、最短路径问题介绍问题解释:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:迪杰斯特拉算法(Dijkstra算法) 弗洛伊德算法(Floyd算法) SPFA算法2、Dijkstra算法介绍算法特点:迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。算法的思路:Dijkstra算法采用的是一种贪心的策略,声明一个数组di.原创 2020-07-18 11:57:42 · 1564 阅读 · 0 评论 -
GIS系列专题(3):缓冲区算法对比研究(Buffer Algorithm),类似刀具补偿
一、介绍算法:缓冲区分析是邻近度分析的一种,缓冲区是为了识别某一地理实体或空间物体对其周围地物的影响度而在其周围建立具有一定宽度的带状区域。缓冲区作为独立的数据层进行叠加分析,可应用到道路、河流、环境污染源、居民点、辐射源等的空间分析,为某种应用目的提供科学依据,另外,结合不同的专业模型,可以在生活、军事、城乡规划等领域发挥重要的作用。针对点、线、面不同的几何类型,建立缓冲区的方式相互有所不同。建立点缓冲区比较简单,即以某点要素为圆心,以缓冲半径 R作圆,得到点要素的缓冲区;线要素的缓冲区是以线为轴原创 2020-07-18 11:28:38 · 4810 阅读 · 0 评论 -
Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法
环境准备首先你的Windows电脑需要能访问https://skia.org/和https://skia.googlesource.com/skia.git 在Windows上安装VisualStudio 2017 在Windows上安装Python v2.7.x(必须是v2系列),32位版本,例如python-2.7.18.msi 在Windows上安装Git工具下载源码和依赖库使用Windows终端命令行:>git clone https://skia.googlesou.原创 2020-05-17 16:02:16 · 2268 阅读 · 9 评论 -
Windows环境VS2017编译skia库,亲测成功,借助skui的方法
Skia是一个开源的二维图形库,提供各种常用的API,并可在多种软硬件平台上运行。谷歌Chrome浏览器、Chrome OS、Fuchsia、安卓、Flutter、火狐浏览器、火狐操作系统以及其它许多产品都使用它作为图形引擎。Skia由谷歌出资管理,任何人都可基于BSD免费软件许可证使用Skia。Skia开发团队致力于开发其核心部分, 并广泛采纳各方对于Skia的开源贡献。...原创 2020-05-05 13:25:01 · 3443 阅读 · 6 评论 -
开源项目推荐:OpenGL/Vulkan/Cairo/Skia/angle/VTK/OpenVG/MyPaint/GIMP/Krita/Pencil2D/inkspace/enve等绘图库或画图软件
https://github.com/yuanming-hu/taichi中国人写的太极图形库http://taichi.graphics/太极图形库,作者胡渊鸣https://libcinder.org/矢量图形库,2D/3Dhttps://github.com/cinder/Cinderhttps://github.com/FortAwesome/Font-Awesome...原创 2020-04-04 12:11:24 · 12942 阅读 · 5 评论 -
开源项目推荐:OpenGL之gult/freeglut/glew/glfw/glad的联系与区别
OpenGL之gult/freeglut/glew/glfw/glad的联系与区别:1.OpenGLOpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux)、实用工具库(glut),窗口库(glx、agl、wgl)和扩展函数库等。gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具......原创 2020-05-01 17:01:11 · 10610 阅读 · 0 评论 -
桌面排版软件Scribus v1.5.5源码编译,使用VS2017+Qt5.12.7环境
软件简介Scribus官方版是一款专业的桌面排版系统 (Desktop Publishing) 应用程序,可用于电子杂志制作。该软件开源,跨平台,C++/Qt编写。Scribus功能强劲,支持大多数主要的图像格式,可以轻松制作个人文件、邮件列表、电子杂志等。作为一个排版软件,Scribus具有一定的图形绘制(双击轮廓图形即可编辑)和整合功能。功能特点1、scribus官方版支持大多数主......原创 2020-04-13 10:05:38 · 2625 阅读 · 0 评论 -
开源项目推荐:GSL科学计算函数库(GNU Scientific Library),实现VS2019源码编译
GSL (GNU Scientific Library)是一个开源的科学计算的函数库,功能非常强大。有超过1000个函数,该库提供了关于数学计算的很多方面,Matlab的大部分函数几乎都能借助它实现,可以在数值计算中省却很多事情。https://www.gnu.org/software/gsl/ftp://ftp.gnu.org/gnu/gsl/https://www.gnu.org/...原创 2019-12-16 10:46:51 · 4878 阅读 · 0 评论 -
GIS系列专题(1):GDAL/Shapely/GEOS/2geom/Grass/Clipper/CGAL计算几何算法库
CGAL,Computational Geometry Algorithms Library,计算几何算法库设计目标是,以C++库的形式,提供方便,高效,可靠的几何算法。CGAL可用于各种需要几何计算的领域,如计算机图形学,科学可视化,计算机辅助设计和建模,地理信息系统,分子生物学,医学成像,机器人运动规划,网格生成,数值方法等等。 计算几何算法库(CGAL),提供计算几何相关的数据结构和算......原创 2019-12-15 11:48:32 · 4986 阅读 · 0 评论 -
OpenCASCADE之Intel TBB
OpenCASCADE使用了一个开源的第三方库IntelTBB,这个并行计算库主要用于网格化、布尔操作等复杂算法,可以明显提升速度。这个库是可选的。如果不用,可以在批处理中配置这个可选第三方库,将其设置成false。---https://github.com/intel/tbbhttps://software.intel.com/en-us/tbb...转载 2019-12-15 10:54:20 · 459 阅读 · 0 评论 -
GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm),类似刀具补偿
Clipper库中文文档(ClipperLib)_bycy0801的博客-CSDN博客_clipperlib。Clipper库是目前计算机图形领域广为使用的图形处理库,可以用于解决平面二维图形的。,在CAD、加工路径与3D打印方面都有着比较重要的应用。它是计算几何库GEOS的Python包。原创 2019-12-13 13:53:41 · 5294 阅读 · 0 评论 -
OpenCASCADE之Convert BSpline Curve to Arc Spline
1.Introduction在数控加工CNC领域,通常需要用尽量少段数的圆弧和直线段来对曲线进行拟合。有的数控绘图机也只有直线和圆弧插补器,即只能绘制直线和圆弧,所以也需要将自由曲线转换成直线和圆弧来进行绘制。在船舶制造方面,如肋骨冷弯机只有两种状态:弯和不弯,也只能加工出直线和圆弧,所以也需要将曲面型材的弯曲信息转换成肋骨冷弯机能加工的数据。如下图所示为型材模型及其基线:Figure...转载 2019-12-10 10:05:29 · 1602 阅读 · 0 评论 -
Open CASCADE之内存管理(内存泄露?)
MemoryManagementinOpenCascadehttps://dev.opencascade.org/doc/overview/html/occt_user_guides__foundation_classes.html一、C++中的内存管理MemoryManagementinC++1. 引言为了表现出多态,在C++中就会用到大量的指针和引用。指针所指的...转载 2019-12-08 10:39:52 · 872 阅读 · 0 评论 -
Open CASCADE之B-Spline Curve Library
一、 概述 Overview1946年由Schoenberg提出了B样条理论,给出了B样条的差分表达式;1972年de Boor和Cox分别独立给出了关于B样条的标准算法。Gordon和Riesenfeld又把B样条理论用于形状描述,最终提出了B样条方法。用B样条基替代了Bernstein基,构造出B样条曲线,这种方法继承了Bezier方法的一切优点,克服了Bezier方法存在的缺点,较成功地...转载 2019-12-06 22:12:40 · 1411 阅读 · 0 评论 -
Open CASCADE之拟合Smooth curve
Open CASCADE Technologyhttp://www.cppblog.com/eryar/OCCT精品博客,eryar@163.comhttps://www.cnblogs.com/opencascade/同上B样条基函数——B-Spline Basis Functions++B样条曲线(B-spline Curves)OpenCASCADE Trihedro...原创 2019-12-04 20:21:48 · 2563 阅读 · 0 评论 -
ImageMagick
使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的图像,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG。使用ImageMagick可以调整图像大小,翻转,镜像,旋转,变形,剪切和变换图像,调整图像颜色,应用各种特殊效果或绘制文本,线条,多边形,椭圆和贝塞尔曲线。ImageMa...原创 2019-12-02 20:36:41 · 341 阅读 · 0 评论 -
开源项目推荐:我个人中意的Python/C++/.Net数学库(★精品收藏★)
大名鼎鼎的Numpy和SciPyhttps://numpy.org/python版本https://github.com/numpy/numpyhttps://github.com/dpilger26/NumCppC++版本https://dpilger26.github.io/NumCpp/doxygen/html/index.htmlC++文档https://scip...原创 2019-07-18 10:33:01 · 3171 阅读 · 0 评论 -
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM
CRC刀具补偿与SoftPLC开源项目收藏(OpenCASCADE&CAD&CAM&SoftPLC)CRC/CNCCutter Radius Compensation for Milling machines.cutter radius compensationcutter comphttps://github.com/shooter64738/CRChttps...原创 2019-04-06 11:12:52 · 28688 阅读 · 0 评论 -
QCAD v3.23.0.2源码编译,使用VS2017+Qt5.12.5环境
QCAD 是一个免费、开源的计算机辅助绘图二维工具,功能强大。目前开源的二维CAD有QCAD、LibreCAD等,LibreCAD可以说是QCAD的分支版本。对比这两款开源软件,LibreCAD是纯C++开发,有boost库的依赖,源码比较重,而QCAD使用了Qt的Script模块(ECMAScript 5 - JavaScript 5),使用了C++和Javascript脚本两种开发方式。使用脚......原创 2019-09-02 11:39:11 · 7027 阅读 · 7 评论 -
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
一、简介DXF官方帮助:https://help.autodesk.com/view/OARX/2019/ENU/网络可以搜索到非常多的dxf解析博客,但是几乎没有人能完整地实现polyline/spline/ellipse等复杂图形的解析和绘制。因为dxf的解析较为复杂,涉及的元素很多,例如block解析,图形平移,缩放,参照系坐标等等,另外还有polyline/spline/ell......原创 2019-04-15 12:20:41 · 15351 阅读 · 34 评论 -
HPGL(PLT文件格式)文件解析及VS2017工程源码
HPGL即惠普图形语言,是一个被绝大多数 CAD 绘图软件所支持的输出文件格式.可以使用ViewCompanion Pro 查看、打印 HPGL, HPGL/2 图像文件。1、文件解析库http://gnuwin32.sourceforge.net/packages/hp2xx.htmHp2xx for Windowshttps://sourceforge.net/projects/...原创 2019-11-11 20:21:13 · 7875 阅读 · 7 评论 -
FreeCAD v0.19源码编译与VS2017+Qt5环境搭建
一、环境准备VS2017,x64cmake-3.14.5-win64-x64.msiFreeCADLibs_12.1.2_x64_VC15.1.7z,源码依赖库,x64位,里面已集成boost/Qt5/Python等依赖环境,点击详细说明FreeCAD LibPack Version 12.1.2 debug/release withVisual Studio 2017Qt......原创 2019-07-12 15:44:25 · 9826 阅读 · 10 评论 -
QCAD v3.23.0.3源码分析(一)准备工作,去商业插件
qcad-3.23.0.3\src\scripts\scripts.qrc和scripts_release.qrc是Qt资源文件,管理脚本文件,如新增和删除等。1、QCAD所有的UI界面都是使用js实现的,入口是:\qcad-3.23.0.3\scripts\autostart.js。2、QCAD的软件配置文件在:C:\Users\\AppData\Roaming\QCAD\QCAD3.ini。步骤:VS-IDE>项目>属性>配置属性>链接器>系统,编辑子系统,把"窗口"改为“控制台”原创 2019-10-12 16:48:35 · 2802 阅读 · 1 评论 -
LibreCAD v2.2.0源码编译,使用VS2019+Qt5.12.9+Boost1.71.0环境
LibreCAD is a fork of QCAD community edition version 2.0.5.0;therefore, any modifications of or additions to the programare also released under the GPLv2.The project's first commit on Github was Au...原创 2019-10-11 10:19:42 · 5870 阅读 · 4 评论 -
开源项目推荐:Bezier曲线、B-Spline和NURBS的区别与《THE NURBS BOOK 2nd》简介,曲线拟合可视化工具
一、基本概念B-Spline:B样条曲线NURBS(Non Uniform Rational B-Spline):非均匀有理B样条曲线B样条曲线有三种类型:当起始点和终止点的重复度为最高次数加1是,开B样条变为Clamped B样条,当起始点和终止点重合且重复度为p+1时为闭B样条曲线。如上图的clamped有 n+1个控制点(n=9)以及 p = 3. 。那么,, m 必须是......原创 2019-11-28 09:50:14 · 12683 阅读 · 8 评论