添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
FreeCAD 发展还是比较快的。个人认为,这是真正的比较接近工厂的计算机工具。我本人为了自已想设计的项目了解情况,也到一些工厂转过。那些前几年国内基于 LinuxCNC 搞的数控机床,也见过一些。但说实话,我感觉大家用的不好。
从你提的信息来看,你的项目可能与前几年的LinuxCNC项目差不多。想有快钱与快见成果。但这种项目可能不会有长期的发展。因为功能僵化,没有发展。最终用户评价也不好说。
FreeCAD 项目是建立在许多基础科学知识之上的一个工具。有些工具,如 ccx , gmsh 等等,FreeCAD 项目开明的采取为第三方接供接口的方式来解决。因为这些工具都相当专业。前一阵我学习了一下 GMSH 这个工具,发现其对于边界查询算法技术,演进也比较快。有些是多年前论文的软件实现。这需要开发人员有相当的计算机以及其自身专业知识,才可能编写出可信赖的软件工具。
FreeCAD 软件构建逻辑大概分三层。基础层 ( C++ 代码编写,可能是与基础的三维对象运算库相兼容,因为这些基本都是 C 编写的 ); 用户界面层,用QT 来开发界面图形窗口与控件;第三方模块( 用 Python 开发,有部分模块代码用 C++ 开发 )
FreeCAD 非图形运算部分代码。一般在 App 目录中,用 C++ 开发。 图形部分用 QT 来开发, 第三方模块用 Python 来开发( Python3 与 Python2 也有不同 ) 由于 Python 语言在科学计算上比 C++ 与 C 相对要好睦。主要是运算数的范围大了不少 ( 如果 C++ 与 C 寮现,必需有相应的数学函数库支持 ) 这样的安排对于模块开发人员来说要简单些。 但 FreeCAD 开发的基础是计算机三维对象库的处理。如 OpenSCAD 也是通过脚本(script)语言来创建与维扩三维实体对象。但要将实体对象转成网格对象,这需要 GMSH, NetMesh 等工具来实现。并需要物理与数学工具来支撑。
你提到的 CAM 部分,基础是对于 G 码非常精通,有这个基础,我想才可能在理解 FreeCAD 三维对象处理的基础之上,进行你项目的开发。另外,G 码的编写,其实还涉及运动控制学以及力学的基础知识。如果只机械的按计算处理G码的话,现场生产时,会有损失或危险。因为有一次,我在一家用国产数控的工厂,就见到加工时 G 码编制问题,造成断刀的情况。
工业控制软件,结果准确才是基础的基础。如果没有可预知的基础,这样的控制软件危害也比较大。
胡说一通,希望可以我之昏昏,能令你昭昭。 :-)
felixlee868 wrote: Sun May 24, 2020 5:59 am FreeCAD 发展还是比较快的。个人认为,这是真正的比较接近工厂的计算机工具。我本人为了自已想设计的项目了解情况,也到一些工厂转过。那些前几年国内基于 LinuxCNC 搞的数控机床,也见过一些。但说实话,我感觉大家用的不好。
从你提的信息来看,你的项目可能与前几年的LinuxCNC项目差不多。想有快钱与快见成果。但这种项目可能不会有长期的发展。因为功能僵化,没有发展。最终用户评价也不好说。
FreeCAD 项目是建立在许多基础科学知识之上的一个工具。有些工具,如 ccx , gmsh 等等,FreeCAD 项目开明的采取为第三方接供接口的方式来解决。因为这些工具都相当专业。前一阵我学习了一下 GMSH 这个工具,发现其对于边界查询算法技术,演进也比较快。有些是多年前论文的软件实现。这需要开发人员有相当的计算机以及其自身专业知识,才可能编写出可信赖的软件工具。
FreeCAD 软件构建逻辑大概分三层。基础层 ( C++ 代码编写,可能是与基础的三维对象运算库相兼容,因为这些基本都是 C 编写的 ); 用户界面层,用QT 来开发界面图形窗口与控件;第三方模块( 用 Python 开发,有部分模块代码用 C++ 开发 )
FreeCAD 非图形运算部分代码。一般在 App 目录中,用 C++ 开发。 图形部分用 QT 来开发, 第三方模块用 Python 来开发( Python3 与 Python2 也有不同 ) 由于 Python 语言在科学计算上比 C++ 与 C 相对要好睦。主要是运算数的范围大了不少 ( 如果 C++ 与 C 寮现,必需有相应的数学函数库支持 ) 这样的安排对于模块开发人员来说要简单些。 但 FreeCAD 开发的基础是计算机三维对象库的处理。如 OpenSCAD 也是通过脚本(script)语言来创建与维扩三维实体对象。但要将实体对象转成网格对象,这需要 GMSH, NetMesh 等工具来实现。并需要物理与数学工具来支撑。
你提到的 CAM 部分,基础是对于 G 码非常精通,有这个基础,我想才可能在理解 FreeCAD 三维对象处理的基础之上,进行你项目的开发。另外,G 码的编写,其实还涉及运动控制学以及力学的基础知识。如果只机械的按计算处理G码的话,现场生产时,会有损失或危险。因为有一次,我在一家用国产数控的工厂,就见到加工时 G 码编制问题,造成断刀的情况。
工业控制软件,结果准确才是基础的基础。如果没有可预知的基础,这样的控制软件危害也比较大。
胡说一通,希望可以我之昏昏,能令你昭昭。 :-) 十分感谢层主的详细说明,我们的需求其实目前比较简单,只是基于公司的产品先做个简单的版本以满足客户需求,慢慢的再扩大功能。 :D 。多谢了哈