首页/文章/ 详情

AI来了,汽车工程师会失业吗?

1月前浏览1057

AI真的能取代人吗?

文章开头,小狼先表个态:

我一直坚信,AI是工具,是被人拿来用的,并不能取代人

这两年,以ChatGPT为代表的AI话题热度不减。我们CATIA VBA二次开发的讨论群里,也逐渐有人开始问一些“莫名其妙”的代码问题。后来发现,这些代码都是“面向AI的编程”的产物

也许,你会觉得这东西很遥远,或是资本炒作的概念。但信与不信,一些基于AI的产物,已经在影响我们的生活了。从你手机里的人物一键消除,到自动贩卖机基于视觉的物品识别等等

今天小狼在这篇文章里,如果针对“人工智能”这个又大又空又笼统的大话题展开,显然是不显示的。所以不如我们索性把目光聚焦在咱公众 号的主角——CATIA上,来谈一谈二者能碰撞出怎样的火花。或者说,分享一下,小狼在日常工作中,是怎样使用AI工具的。

老规矩,空谈没有意义。我们还是基于需求吧!额,如果没有需求,可以硬提一个:

我们在用代码测量装配体里某个Part中点的坐标时,通常会遇到这样的问题:代码测出来的坐标和用测量命令测出来的不一致。

仔细观察不难发现,我们代码所测得的坐标,是零件自身坐标系下的值。而使用测量命令,测得的是装配体坐标系下的值。这个差异源自于零件在装配体里的定位发生了变动。

如果你使用的是较高版本的CATIA,那无需大费周章,因为新版的Automation中为SPAWorkbench对象增加了新的获取Measurable的API,通过此函数获取的Measurable对象可直接测得指定装配体坐标系下的点坐标。

但这不是我们今天要说的重点,我们来看一下对于没有此API版本的CATIA,如何通过坐标变换得到正确的坐标值(其实这个内容以前是发过的)。


但如果纯使用VBA,作为一位大学时线性代数逃课了或睡觉了的娃,直接从封装好的numpy库里把计算公式拆出来,或者硬写出来,可能有些吃力。所以,这里我们来借助AI工具。

好,如果现在,你直接问像Chat GPT这种大语言模型“如何在CATIA VBA里实现坐标变换”这种问题,大概率得不到想要的结果。这就是我前面强调的,AI是工具,要看如何使用。

想要从AI那里得到准确的答案,首先,我们要精准地问问题!不要小瞧这个,我们交流群里大多数人提问,都做不到提问题的基本要求——把问题描述清楚。通常都需要群里其他人不断地“追问”和“引导”,才能搞清楚问题是什么;然后才是解答问题。

那么换做是我,针对这个需求,会问AI怎样的问题呢?

我会这样想:

首先,我们可以通过前文的代码,获取到点P在零件坐标系下的坐标(x,y,z)。其次,我们可以通过Product的Position对象

下面的GetComponents方法,获取到零件在装配体中的定位信息pos(11)。这12个数值,前9个分成三组,分别代表了零件轴系相对于装配坐标的x,y,z轴的方向向量,最后三个值代表零件轴系原点在装配坐标系下的坐标。

有了以上信息,问题就变成了一个纯数学问题。所以,我们可以精准地给AI提出如下需求:

然后,AI就会瞬间给出如下答案:

其实到这里,我们只需要将代码复 制到VBA中,结合之前的代码稍作改动……

或者……

我甚至改都不想改,那么可以接着提需求:

然后,把这段代码原封不动地复 制到VBA中👇

再然后,直接调用它,测试一下吧~

果然,不出意外,出意外了,代码运行到这里报错了

但这个错误很明显,因为我们数组里的三个值是0,1,2。AI代码给出的却是1,2,3。手动改一下就好,但小编要让你见识一下一个人究竟可以懒到什么程度。

重新复 制过来,再运行,你会发现,我们程序求得的坐标值,和手动用测量命令得到的值完全一致啦~

最终,给出完整代码:


来源:CATIA那点事儿
Workbench碰撞二次开发汽车CATIApythonUM人工智能装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-10-26
最近编辑:1月前
CATIA那点事儿
本科 CATIA小狼。微信公众号:CATIA那...
获赞 112粉丝 241文章 16课程 16
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈