百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

对于CAD来说哪个更好:插件还是应用程序

ccwgpt 2024-11-21 11:29 57 浏览 0 评论

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(Windows Presentation Foundation)轻松创建我们自己的面板。这使LEDAS几乎可以像独立的WPF应用程序一样控制Rhino的用户界面。

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

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

4.如何决定

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

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

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

5.结论

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

相关推荐

NestJS入门教程系列一

介绍Nest(NestJS)是用于构建高效,可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,内置并完全支持TypeScript(但开发人员仍然能够使用JavaScrip...

【推荐】一个网盘资源搜索与转存工具,支持移动端与PC端!

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍CloudSaver是一个基于Vue3和Express的网盘资源搜索与转存开源实用工具。它支持...

Appium原理精讲

目前使用Appium新版本和旧版本的企业数目都很多,而两个版本的安装过程和api的使用又有较大的区别。但是无论表面上的东东如何变化,内部原理都是一样的。在这里我给大家介绍一下appium的核心,增进大...

Kubernetes最小部署单元Pod

一、Kubernetes与Pod简介在当今云计算和容器化技术盛行的时代,Kubernetes已然成为容器编排领域的中流砥柱。它是一个开源的容器编排平台,由Google基于其内部使用的Bo...

最常用的四种跨域解决方案

前置知识什么是跨域?浏览器发送的请求地址(URL)与所在页面的地址不同(端口/协议/域名其一不同)。简言之,浏览器发出的请求url,与其所在页面的url不一样。此时,同源策略会让浏览器拒收服务器...

Bolt.New —— 全栈AI Web自动编程

Bolt.New是由StackBlitz公司推出的,全栈AI工具,代码编辑、运行、部署,通通一站式搞定。它使用WebContainers技术,无需任何本地安装或配置,在浏览器中,就可以运行完整的No...

Nodejs Express新手教程&高手进阶

NodejsExpress新手教程&高手进阶Express是一个NodeJS平台的框架,主要用于构于Web服务器项目。本文将通过示例介绍适合新手入门的Express基础使用,以及高手进阶知识,如:c...

Express.js 创建Node.js Web应用

Express.js是一个基于Node.js的Web应用框架,框架的设计目的是构建应用的架构和简化应用的开发。框架会解决一些通用的问题,在Express.js中,Express框架会处理如:中间件、代...

JavaScript 的 Express.js 功能及应用场景详解

Express.js是一个基于Node.js的轻量级Web应用框架,主要用于快速构建服务器端应用和API。它的核心功能包括以下关键点:1.路由管理URL路径与HTTP方法映射:通过...

nodejs的express4文件下载

在nodejs的express框架中,下载变得非常简单,就一个方法,res.download()首先express命令行生成项目基本框架:不会的看这里:http://blog.csdn.net/zz...

Express 系列:快速生成一个项目

系列预告本系列将以一个项目入手结合相关技术细节来带领大家一起学习Express这个基于Node.js的后端框架。本文首先将介绍:如何快速的生成一个具有一定结构的Express项目。Express项目结...

nodejs的express自动生成项目框架

nodejs版本为:4.X,express版本为4.X1.全局安装2个模块express、express-generator在命令行输入:npminstall-gexpressnpminsta...

express开发(一)简介与搭建

上周末去了趟上海书城,不愧是上海数得上号的书城,流行的科技书应有尽有,话不多说直接上图。最经典的C语言O(∩_∩)O最流行的java(づ ̄3 ̄)づ超酷的R语言/(ㄒoㄒ)/~~然而,身为一个坚定的前...

Vue+Echarts可视化大屏系统后端框架搭建(附代码)

各位同学,大家好。上节课,前面我们讲解了Vue+Echarts前端部分的设计方法。这节课程,我们开始讲解使用Express进行后端设计的方法。01项目相关理论介绍什么是expressExpress是...

Shopify电商API接口开发

Shopify电商API接口开发上线流程主要包括以下步骤。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎洽谈合作。前期准备-注册Shopify账号:在Shopify官网注册,用于后续开发测试...

取消回复欢迎 发表评论: