Web开发

注册

 

发新话题 回复该主题

对于CAD来说哪个更好插件还是应用程序 [复制链接]

1#
白癜风在什么医院好 https://wapyyk.39.net/bj/zhuanke/89ac7.html

LEDAS的许多项目都是作为CAD软件程序的插件开发的,从功能强大的系统(如CATIA)到重量较轻的解决方案(如Rhino)。通常,会帮助客户决定他们的想法最适合发展的方向:以插件的形式还是作为一个独立的程序。

在这篇文章中,思考了为什么插件开发比从头开始构建应用程序更好。还将讨论在不同情况下有用的插件形式。进一步了解LEDAS的CAD插件开发专业知识。

1.插件的利弊

插件可以解决特定问题,也可以添加CAD系统中缺少的功能。HCL的CAMWorks就是一个很好的例子,它是一个先进的插件,可以将计算机辅助制造功能添加到SolidWorks设计系统中。

在将插件与独立应用程序进行比较时,我们发现插件更适合设计工程师内部使用的软件,目的是帮助他们进行日常工作。在某些情况下,插件方法显著降低了开发成本。现成的CAD系统通过其API与插件一起工作。

插件的缺点是它们必须在主机应用程序上运行。在使用插件之前,您必须支付许可证费用,然后安装软件。用于更广泛分发的插件的需求受到目标CAD系统的座位数量的限制。

我们发现,一般来说,最终用户插件通常不在我们客户的愿望列表的首位。更常见的是,这种软件是作为台式机的独立软件制作的,近年来更常见的是作为客户机-服务器Web应用程序制作的。

2.独立应用程序的优缺点

在考虑为桌面或Web开发独立应用程序时,请记住,它需要一个几何内核,用于构造、表示和细分3D对象。内核订阅许可证的年成本通常远高于插件可以运行的轻量级或中级CAD系统的单个许可证的一次性支付。

另一个成本来源是实现3D场景:可视化、摄影机操作(缩放、平移、旋转)和对象操作(选择、移动等。通过插件,主机应用程序通过其API提供所有这些功能;如果是独立应用程序,则必须在低级别编程或借助许可的可视化组件进行编程。

3.插件解决方案的类型

CAD系统提供的API通常被认为是为系统本身扩展和定制功能的一种方式,而不是创建用于解决特定问题的定制过程。此外,制作一个覆盖宿主应用程序的用户界面并替代其自己的工作流的重点插件并不总是一件容易的事情。

根据LEDAS的经验,Rhino就是这样一个系统的一个很好的例子。它允许我们隐藏大多数默认面板和工具栏,然后使用WPF(WindowsPresentationFoundation)轻松创建我们自己的面板。这使LEDAS几乎可以像独立的WPF应用程序一样控制Rhino的用户界面。

在其他CAD系统中,这可能会成为问题,因为它们可能使用过时的GUI框架(您听说过WxWidgets吗?),或者仅限于API提供的预定义UI控件。

但是,如果应用程序具有可从另一个进程(例如,通过COM或WCF)调用的外部API,我们可以将插件UI构建为通过API与宿主CAD系统交互的外部应用程序。(从技术上讲,这不是一个严格意义上的插件。)这允许我们使用现代技术构建UI,完全匹配所需的过程,但仍然使用宿主CAD应用程序的几何内核和3D场景功能。这种方法很受欢迎,尽管有点复杂。

4.如何决定

因此,我们可以通过了解同步软件用户的数量来解决权衡问题:当主机CAD系统副本的总成本不超过定制应用程序的成本(具有几何内核、可视化组件和3D场景实现的许可证)时,插件是更便宜的选择。

值得注意的是,有时许可主机应用程序的成本可以被认为是零,因为公司工程师已经在他们的过程中使用了该软件。在这种情况下,基于这样一个系统的插件具有适应熟悉环境的额外好处。

因此,根据我们的经验,插件解决方案对于由一小群工程师执行的某些CAD相关过程的半自动化非常流行,或者由已经使用合适CAD系统的一大群人执行。例如,我们的许多数字医学项目都是以插件的形式进行的。

5.结论

总而言之,插件开发最适合员工已经使用特定CAD系统的内部应用程序。它以需要支付主机软件许可证的费用为代价,显著降低了开发成本。

分享 转发
TOP
发新话题 回复该主题