首页/文章/ 详情

欧美工业软件,二次开发“哄骗”。

2天前浏览120

国内多少二次开发属于中介,欺上瞒下。


所谓二次开发,不就是主家出钱,工头带着一帮泥瓦匠给主家建房。房子建好了,不得滚蛋吗!

然后工头带着这次建房的经验,去糊弄别人。说是我发明了什么防水保温技术。下一个主家,信以为真了。然后工头自以为是,偷工减料,到最后,经过十年八年,露馅了!大家也就不相信他了!这个工头钱也赚到了,大不了退休玩鸟去了。


最后,最早的那个主家,拿着房产证,和房产照片,每家每户去宣传。我才是原创。版权归我!不就是这么一个过程嘛!哪有什么商业互吹那么高大上!听多了,有些人还真的信以为真了!真正知道历史的,看他们就像看傻子一样。

来源:山涧果子
二次开发
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-01-20
最近编辑:2天前
山涧果子
大专 签名征集中
获赞 204粉丝 52文章 1067课程 0
点赞
收藏
作者推荐

新数学:更换CAD内核带来的隐藏成本

大多数公司像德克萨斯州博蒙特的临床实验室设备和试剂制造商Helena实验室一样。该公司在过去二十年内推出的大量产品仍在市场上销售,而现在需要对这些产品进行现代化改装和重新设计。这意味着要找出旧的CAD 模型,搞清楚其创建方式,然后对其进行修改。在Helena案例中,这些模型使用传统的CAD系统创建于线框中。设计工程师Billy Oliver的任务之一是将这些零件转换为实体模型。但要使用哪种实体建模工具呢?Oliver先生尝试从旧的CAD系统中导出Parasolid文件以导入SolidWorks;但这并不能有效工作,他的团队必须回到原有系统来完成项目。他们仍然使用SolidWorks 进行新设计,但原有数据问题以及对SolidWorks宣布内核更改(从Parasolid到CGM)的不断担忧使Helena开始考虑:他们将必须对这些零件进行两次转换(从其当前系统到SolidWorks/Parasolid,然后再到Solidworks/CGM)吗?如果他们开始使用SolidWorks/Parasolid 并开发出该领域的专业技能,那么在转换为SolidWorks/CGM时学习任务将有多艰巨?由于Helena实验室无法承受继续使用SolidWorks 的风险、破坏性和不确定性,Oliver先生最终决定选择Solid Edge。通过使用具有同步建模技术的Solid Edge,Helena实验室能够快速创建导入非智能实体的可用功能模型。他做出该决定的原因以及开始使用Solid Edge以来其团队积累的经验提供了一些有价值的见解。什么是建模内核,从一个内核到另一个内核的转换对用户有何影响?CAD 的关键内核目标:模拟新组件以更换装配体中的过时要素。在Helena案例中,必须使用新组件重新设计个最受欢迎的电泳样品处理仪,以实现更有效的维护。设计师可以从类似零件入手,仅修改那些不适用于新组件的区域。他搜索了其现有的零件库,最终选定以下零件,因为它需要修改的地方很少。基座尺寸正确但法兰太小。他在零件的历史树中标识了这些法兰,以便在零件的显示图像上高亮显示它们。接下来,他单击法兰的尺寸,按退格键删除0.5英寸并在空白处插入1.0英寸,然后保存更改。法兰会立即重新生成以显示新尺寸。在随每次更改而重新生成的历史树中,会显示这些更改。他进行了一些其他编辑,然后使用新名称保存了该零件。(参见图1。)显示和更改该模型所涉及的每个步骤都通过CAD 系统的几何内核(CAD应用程序的心脏、大脑和引擎)执行。内核充当键盘、鼠标和显示器与计算机处理器之间的桥梁。内核会将复杂的命令(如“更改法兰的尺寸”)转换为机械智能指令,并收集显示结果,然后通过应用程序将其反馈给用户。其工作原理是怎样的?假设有一辆汽车。司机踩下油门踏板后,会开始向引擎提供汽油。引擎将该燃料转变为能量;该能量会驱动齿轮、滑轮和电气系统,从而使汽车开始移动以响应司机的控制。如果该汽车是一辆跑车,司机可获得瞬时加速;如果不是,可能会逐渐加速并且最高速度可能会比跑车低。司机已经对每种类型的引擎设定了期望值,并将引擎视为区分汽车的基本要素。对于CAD系统中的几何内核,情况同样如此。用户创建“扩展该法兰”(踩油门踏板)指令,并期待得到特定结果。使用某个内核时,“扩展该法兰”可能通过特定几何体和显示指令集(汽油)来执行,而在使用其他内核时,可能会采用完全不同的方法完成同一件事情(赛车燃料)都是将工作做好,只是方法不同而已。正如您无法轻松将跑车引擎放入面包车中一样,很难转换几何内核。转换几何内核对CAD软件供应商和其设计基于传统内核的客户有重大影响。每个几何内核旨在满足CAD系统类型的需求,并随着这些需求的演变而扩展。早期内核是简单的几何工具。当今的内核更加复杂并使用独特的算法确定模型质量和表面的连续性,这将影响上述示例中法兰的处理方式。在CAD设计师为所有内核更改法兰时,每个内核以不同的方式进行。几何内核的选择是CAD开发人员必须制定的首要决策之一。他们必须决定是要开发自己的产品还是使用现成的商用产品。此决策中涉及多个因素,包括成本和功能,但它通常基于CAD产品的预期用途。例如,此产品将用于什么市场?需要哪些独特的性能特征?此CAD 工具需要有哪些其他产品接口?现成的商用内核具有丰富的功能集和高度可靠性优势;其缺点在于,CAD供应商必须针对出售的每套内核向内核开发人员支付版税,并且这不在内核开发的控制范围之内。创建内部内核可能需要执行数百人力年的实施和调试,但提供了整体控制优势。威斯康星大学麦迪逊分校的教授Vadim Shapiro是CAD和几何体建模方面的专家,他建议其研究生和行业合作伙伴基于可靠性、处理几何体错误和不准确性的能力以及内核的技术支持和文档来选择内核。他还将商用内核视为更好的选择,因为该内核具有广泛的功能且可以不断增强。内核的选择将直接影响CAD用户对其CAD工具的稳定性、可靠性和性能的认识。基于同一内核的CAD产品的用户可以更轻松地共享几何体,因此现在Solid Edge 和SolidWorks用户比CATIA V6 和Pro/Engineer 的用户更易于进行协作。对于某些CAD客户,在规划其IT投资时,应重点考虑这一点。CAD 内核的简史内核从相对简单的子程序入手,由FORTRAN写成,来模拟实体的边界表示(B-rep)。B-rep由面、边和顶点组成。CAD 软件包可以使用B-rep计算属性(如重量、重心、惯性力矩和其他质量属性),从而准确、完整地描述实体。建模工具可将实体与交叉点和活接头相结合来表示复杂对象。图3显示了如何组合实体以形成一个CAD 模型。第一个商用内核是Romulus,由Evans和Sutherland于1975年发行的软件包。Romulus 是当今Parasolid内核的远祖,由Siemens PLM Software拥有和支持。大约在1985 年Romulus演变成为Parasolid的同-时间,当今Dassault Systèmes Spatial 所属的团队开始开发1989年首次发行的ACIS内核。多年以来,其他内核已陆续上市,包括Parametric Technology Pro/Engineer Granite 商用内核以及Dassault SystèmesCGM内核。使用寿命在评估每个商用内核的可行性方面起着重要作用。Spatial表示ACIS 用于350多个应用程序,全世界具有2百多万个最终用户1。Siemens PLM表示Parasolid 用于 350 多个2 应用程序,具有350多万个最终用户2Parametric TechnologyGranite,Autodesk 的ShapeManager 及 Dassault Systèmes的CGM是新上市的内核,具有较适度的安装基数。Granite不是用于几何体创建的传统内核;其主要用途是从Pro/ENGINEER数据库中提取数据,用于转换到其他系统进行查看或分析。ShapeManager 源自商用 ACIS 内核且其所有权现在归Autodesk,用作产品(如AutoCAD和Inventor)的主要建模内核,并实现跨多个Autodesk产品套件的互操作性。基于CGM的CATIA V5 版本最先发行,并于2011年成为可供其他开发人员使用的商业产品。DassaultSystèmes估算存在数十万个使用基于CGM的CATIA V5 和V6 的用户。市场上还存在一些开源(如OpenCasCade)和学术产品,尽管都还尚未达到ACIS和Parasolid 的发布级别。表1显示了本文出版前最常用的CAD产品及其内核。更换内核:供应商角度在40年的商业CAD历史中,不少解决方案提供商已更换了驱动其产品的内核。某些提供商这样做是因为他们看到正在使用的内核存在局限性,并希望提供该内核可能不支持的功能,其他供应商则是出于经济或控制原因。但每个过渡都需要成本。对于软件供应商来说,更换内核是一项复杂的工作,可以比作是更换汽车引擎一如果是取出V6并替换成完全相同的引擎则相对比较简单,但如果是将四缸柴油引擎更换为V8汽油引擎或者是将汽油引擎更换为油电混合引擎则非常困难。在每种情况下,任何一个引擎都能发动汽车,只是方式不同而已。在软件环境中,引擎或内核与其他系统之间的连接称为应用程序编程接口(API)。更换内核可能需要程序员更改API中的数百万行代码,以便确保CAD软件包进行正确的子程序调用。例如,一个内核的API采用顺时针方式查看圆弧,而另一个采用逆时针方式。在CAD软件包使用新内核工作之前,必须确定并解决所有这些差异。如果CAD软件包在更换内核后按预期执行,开发团队必须创建一个转换工具,用于帮助用户将其零件库从旧内核迁移到新内核。这通常是一个批处理过程:在装配体中打开每个零件,从历史树进行重新创建,验证“后”零件与“前”零件是否相同,并高亮显示任何需要人为干预的区域。据说,编写此转换工具非常困难,因为更换前后的两种内核使用不同的方式制作倒圆和处理边缘、表面等。历史表明,即使是最佳转换,也只可能成功转换90%到95%的零件,这意味着其他5%到10%的零件必须手动重建。换句话说,如果100,000个零件需要转换,则5,000到10,000个零件将需要重建,前提是新内核支持此几何体。从CAD供应商角度来看,最简单的作法就是先更换内核,再推出CAD产品供客户购买。例如,SolidWorks最初基于ACIS内核开发,但在客户发货之前转换为Parasolid,以解决性能和功能问题。-旦产品用于商业用途,便会对客户产生重大影响。更换内核的首款商业产品是Solid Edge,其于1998年使用Parasolid代替ACIS以提高性能并增加公司能够为其客户提供的功能。SolidEdge 开发总监 Dan Staples.我们最初将ACIS用于Solid Edge V1 至V4,后来改用Parasolid,是因为我们已确定Parasolid是较好的内核,并了解到必须在我们的客户群变得更大之前进行更换。我们与一个大团队从事内核更换达一年之久,对我们有利的一点是,Solid Edge的体系结构尚未假定一个特定内核。我们知道我们无法完全转换每个零件。为此,对于流程中的每一步,您都需要历史树在新内核中提供与旧内核相同的答案,如果众多步骤中的任何一步提供了不同的答案,则将不得不废弃整个历史树。针对现在的客户数以及客户拥有的文件数,内核更换将意味着数以万计的文件具有不可用的历史树。更换为Parasolid是正确的事情,但在短期内Solid Edge及其客户要为这一更换付出代价。1998 年,Solid Edge 开发总监 Staples先生的同事Raj Radhakrishnan带头将客户零件从ACIS 转换为Parasolid。他记得转换的真正问题是零件看起来没问题,但没有按原方式重新生成。某些问题与特定客户和配置相关,而其他问题则与内核本身相关。没有真正的方法可以预测哪些零件会出故障。我们根据经验最终确定问题可能出现的区域。对我们的客户来说,最大的风险无疑是它的不可预测性。来自Emerson Network Power JackBeeckman Solid Edge 的一个长期客户,他记得因Solid Edge决定更换内核而引起的混乱,但依然表示该公司对更换过程处理得很好:在Solid Edge使用ACIS内核时,SolidWorks便凭借其Parasolid内核进入市场。SolidWorks表示Parasolid 是其产品较出色的原因之一;Solid Edge 团队对其内核的优势大加赞赏,便决定更换为Parasolid。我们都想知道其突然决定更换内核的原因。但Solid Edge 团队表示,只有更换了内核,下一版本的某些新功能才会实现。他们对这些原因(“充分的理由”)的公开提供了很大帮助。他们还尽可能轻松地创建转换工具;再加上Parasolid内核可能实现的增强功能,无疑会改善体验。到目前为止,这些示例是相对较小的用户群使用的新产品的内核更换。更换内核的最成熟产品是CATIA,1999 年,Dassault SystèmesCATIA V5 版本引入 CGM内核。DassaultSystèmes 更换内核的原因很多,包括从带有V4 的UNIX操作系统迁移到采用V5 的UNIX和Windows。V5 内核完全不同于V4(正如Parasolid不同于 ACIS一样),并且许多用户表示转换与在两个不同供应商的软件包之间迁移零件一样困难。客户正缓慢加入,当今在涉及数百万个零件的多个大型、复杂的航空航天和汽车项目中仍在使用CATIA V4,往往是由于内核之间转换的困难。随着时间的推移,Dassault Systèmes改进了转换工具,并且在需要时服务提供商会介入以帮助重新建模,但该流程仍然很困难。在某些情况下,一些问题是由内核处理信息的方式不同而引起的,而其他问题是由可能依赖于公差或在一个内核中松动但在另一个中收紧的建模方法引起的。用户报告某些类型零件中大量数据丢失,以及最终平均约为95%的转换成功率。剩余5%的零件需要手动重建.Nemetschek Vectorworks 可能是最近更换内核的CAD供应商。首席技术官Biplab Sarkar说,Vectorworks 于2009年将以前的内核更换为Parasolid,原因是我们需要具有更高可靠性和其他功能的内核。我们需要的内核应具有经过良好测试和记录的已证实跟踪记录。几何和拓扑差异使每个内核都具有唯一性,因此我们的转换工具仅能转换大约90%的零件。在新内核中重新生成实体存在问题,因为在特征树之间没有100%的兼容性几何内核在构建可影响零件迁移方式的特征时做出不同的假设。对于内核如何确定两个表面是否相邻,公差极不相同:在Parasolid中它是一个绝对值,但在SOLIDS++中它基于实体的大小,并且每当重新生成实体时都会进行计算。该差异意味着在每个内核中,两个表面的交叉处能够以不同的方法建模一任何一种方法都正确,只是不同而已。没有办法进行自动修复;用户必须手动重建。Shapiro教授还看到一类在转换期间十分细微的问题:即使在转换工具重新生成有效的边界表示的情况下,可能也与用户期待的大不相同。孔会移动,倒圆将发生更改,将违反相切条件,且约束可能产生备选的解决方案。如果不在所有模型上进行全面检查(一项艰难的工作),确实很难发现这种故障。在2010 年,Dassault Systèmes 宣布在将来会换掉SolidWorks内核,用自身的CGM替换Parasolid.Helena 验室的Oliver 先生在SolidWorks年度用户会议后首次听说该更改;该公司在本文出版之前尚未发布明确的时间表或客户迁移计划。对于软件开发人员和用户群体来说,更换内核都是一个非常艰难的过程,必须谨慎考虑才可执行。幸运的是,以下部分汇总了从过去内核更换中吸取的教训,可以帮助用户制定决策并规划过渡。更换内核:用户角度供应商决定更换CAD 系统中的内核将会影响所有决定使用CAD工具的用户。在Helena案例中,每个用户团队必须决定是否要与供应商一起为因CAD工具的“引擎”发生更改而导致的负面影响进行辩护。对具有许多用户、大量旧零件以及更加复杂的CAD安装流程的企业的影响将远超过对具有较适度安装的企业的影响。然而,所有用户将面临以下类似问题:现有零件中潜在的大量数据(数以干计)丢失。零件转换期间可能出现的停机以及重新培训期间的生产效率损失。在内部资源不足以同时执行正在进行的工作和转换相关的任务时,租用外部数据清理服务的费用。未知的性能和可靠性。可以说转换内核面临的最大风险是,从已知的熟悉工具转换为很大程度上未经证实的工具。处理这些问题并减轻其影响需要用户群体进行规划。另外,正如Helena实验室的Oliver先生所指出,它需要相关信息:在2010年,我们开始阅读关于SolidWorks转换为其他建模内核的信息,但没有真正明确会发生什么更改或者什么时间进行更改。有很多推测;当地经销商没有告诉我其他任何事情,建议我咨询SolidWorks。他们确认正在更改内核,并向我保证SolidWorks会在未来几年支持基于Parasolid 的产品。问题是我们无法成为即将到期的SolidWorks 版本方面的专家,并且确实不想进行两次转换,现在进行一次,然后在将来SolidWorks迁移到CGM时再进行一次转换。我以前对内核更换具有错误的认识,且不想冒险从Parasolid转换为V6内核。用户:决定是否要进行更改最终,CAD 用户只能对供应商转换内核的决策作出反应。实际上只存在四个备选方案:1.继续使用CAD产品并计划从当前内核过渡到新内核。2.改用使用同一内核的其他CAD产品。3.寻找最引人注目的备选CAD 解决方案,而无需考虑内核与其他转换成本,或者4.什么也不做。不可否认的是,更换内核会产生风险。每个用户团队面临的问题是,如何通过新内核的优势权衡风险。每个备选方案有利有弊,其相对权重对每个决策组来说都不同一没有正确答案。需要考虑的一些问题:具有新内核的新版本是否会提供使内核更换有价值的功能?在以上讨论的许多情况中,更换内核实现了核心易用性增强功能。使用新内核是否可以解决与工作流程相关的问题?如果增强功能与流程无关,那么可能不利于更改。如何将特定零件完全转换到新内核?如果使用转换工具无法轻松地重新生成建模流程或最常用的功能,请考虑自己或雇佣外部公司重建这些零件。对批处理过程中未转换的所有零件进行重建或重新建模需要多少费用?如果成本高昂,请考虑寻找使用同一内核的其他CAD产品。使用当前产品的新版本需要进行何种程度的重新培训?与使您的团队有能力使用其他CAD工具所需的培训相比如何?哪些其他流程会受CAD内核更改的影响?例如,哪些第三方工具由于内核不兼容性可能不再可用?哪些接口将无法 正常工作?内部资源或合作伙伴资源将需要花多长时间来创建兼容的解决方案?将会产生多少其他成本?许多第三方产品直接通过内核连接,但其他的采用自身或独立的文件格式。根据Emerson 的Jack Beeckman所述,一个重要的附加考虑因素是证明管理决策的合理性:每个人越来越精简且需要更高的生产效率。即使转换工具是95%有效,5%的失败也意味着我们需要花时间修复。供应商是否会表示更改的优势,即论证创建了一个使更改有价值的回报?如果现在重新生成一个零件需要花费5分钟,但在转换后需要一到两分钟修复,并在每次转换后需要3.5分钟重新生成,那么就值得进行更改。作为管理员,我们需要了解这些信息以便有能力制定管理决策。但如果没有这些信息,我们将无法制定决策。决定什么都不做(以上列出的四个选项的最后个)只是延缓了危机将发生的时间。最终,CAD供应商将必须停止支持其旧产品,并且当今能够规划和管理的流程可能会变成一个应急措施演习。延缓过渡到其他CAD产品或内核是完全合理的,除非CAD团队已能够进行转换一但所有专家建议:不要推迟太久。Oliver 先生的Helena 实验室团队选择了第二个方案,选择使用具有相同内核Parasolid的Solid Edge 代替 SolidWorks。他的团队拥有良好的工作流程,将零件从SolidWorks及其旧线框建模工具迁移到Solid Edge,并认为这将帮助Helena实验室保持竞争力。他相信,在SolidWorks继续迁移到CGM 内核时,SolidEdge 开发人员将继续挑战极限,以便在SolidEdge 中创建更好、更实用的功能。对Oliver先生来说,也许最大的收益是实现过渡并消除由SolidWorks即将发生的内核更改引起的不确定性。表2展示了用于评估内核更改成本的概念框架。决定转换:现在怎么办?如果您选择与现有CAD供应商一起完成内核更改,决策后的第一步是规划。一次性转换所有零件?什么时间?还是分阶段进行?立即培训用户?然后做什么?是否希望他们进行非正式选择?规划内核转换与分段实施任何其他主要产品更新有点类似,但很难确保在设计师需要之前转换零件。些公司发现,进行一次性迁移比渐进式迁移容易。批量转换可确保所有零件都在同一内核上,并使用完全相同的设置和一致性方法进行转换。如果一切顺利,任何零件都不需要进行“动态”转换。历史表明,如果能够开发出转换工具,可能会仅成功迁移90%到95%的零件,剩余的5%到10%的零件将需要从轻微的手工编辑到重大的重新设计。通过进行预转换清理,在转换工具中选择相应的选项(如果提供),并在转换期间的关键时刻检查零件本身可增加成功的几率。为了使内核过渡具有最小程度的破坏性,专家Billy Oliver,Jack Beeckman、RajRadhakrishnan,Biplab Sarkar,Vadim Shapiro 和Dan Staples给出了以下建议:尽可能早地获得尽可能多的信息,并通过与早期使用者和参考用户谈论来验证供应商的声明。另外还要考虑,您的当前供应商以及正在寻找的其他供应商除基本CAD 之外还提供了哪些产品:CAD供应商是否提供了一个非常具有吸引力以致于胜过其他所有关注点的特征?确保您了解新内核的优势。您的供应商表示哪些流程将更加简单?进行转换的参考客户是否已经看到这些优势?使用流程和实践测试新版本的软件。设置几周的测试环境,以验证一切是否按供应商承诺的那样进行。如果测试证明了供应商的声明,请考虑如何升级到新版本。这些优势是否使您值得考虑转换零件?如果是,请尝试了解内核之间的差异。它们如何处理自交面、计算公差并处理其他几何与拓扑问题?模型的哪些零件与建模流程对新内核产生了挑战?例如,您是否能够使用不同方式模拟这些功能,或者内核是否会出现故障?如果内核能够胜任该任务,了解您的供应商零件转换工具的工作原理。基于您的建模实践,可以使用哪些设置取得最大成功?它们(和您)如何确定正确地重新生成了某个零件?您的供应商支持组织是否准备好提供全力支持?内核相关文档和转换工具是否能够帮助您解决问题?当出现问题时,供应商是否分配了资源来修复文件?在测试的基础上重新计算最关键的10个、20个或30个零件,并彻底检查结果。如果它们没有快速、利落地转换,请重新考虑。由于无法预测转换故障,请保持谨慎。按照尽可能低的特征重新计算,以确保正确地重新生成零件。在恢复生产工作之前,请非常谨慎地规划过渡,并分配足够多的时间来重建关键的零件。随即检查转换的结果。如果没有先检查是否按各个级别正确转换,请不要归档长期存储的转换零件。您不想揣摩某个零件在转换两年后未重新生成的原因是该零件没有转换成功.一次性转换所有当前零件。如JackBeeckman 所述,您不希望混淆零件的转换。版本与存档版本。了解PDM系统将如何解读该转换。是否会为您分配转换零件的新版本号?对于您的控制方案那样做意味着什么?结论CAD 系统的几何内核是应用程序的心脏、大脑和引擎。大部分CAD 系统在设计时便考虑到特定内核,但随着时间和精力的投入,可以依赖用于应用程序-机器指令的其他内核进行修改。然而,每个内核都有自身的优势、劣势和特点,这使用户很难从一个内核转换为另一个内核。必须转换零件库,必须测试与第三方项目和其他接口的连接,并且所有更改必须通过设计组织谨慎进行。最终,每个用户团队必须决定哪个方案具有较小程度的破坏性:通过转换零件充分利用新内核的优势,或者移至不同的CAD 软件包,用于维护同一内核或者因为此更改表示了有机会重新评估过去的选择。每个备用方案均存在风险,但也潜在巨大的利益。Helena 实验室的Oliver 先生使用以下方式进行了总结:我们选择Solid Edge的原因是,我们能够在Parasolid中保留Parasolid零件-它是已知的成熟技术,并且我们能运用自如。我们选择Solid Edge 的原因是,它提供建模流程所需的功能。使用同步建模技术、饭金建模工具、操作轮等,我们已大大削减了设计时间。我们实现了从SolidWorks到Solid Edge100%成功转换,并可冷静地确定一年内我们会发展到什么程度。这种感觉很好。来源:山涧果子

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈