首页/文章/ 详情

CATIA到底能不能接入Deepseek?

9月前浏览930

内容声明:

本文作为小狼近期对LLM与CATIA结合的一些研究心得分享,仅代表作者个人观点。本人纯理工男,非专业程序员,如有错误之处还请理解指正,谢谢!


成果展示:

这是我给AI的指令:
而这,是AI将我的指令拆分成了三个命令:建草图,在草图里画线,拉伸凸台,与人类手动用CATIA建模时的理解与思路一致。
并且,基于以上绘图思路,AI可以直接调用对用的Tools,执行CATIA中的建模动作,我们得到了以下模型。


往期回顾

今年早些时候,我曾经发过一篇文章,或者在某种意义上叫“论文”,里面详细介绍了如何通过调用Deepseek api,结合function calling功能,来实现简单的自然语言指令控制CATIA建模。
基于DeepSeek通用LLM的CATIA自然语言指令建模技术


提出问题

仔细思考,你会发现,如果想让上述内容在实际的工作中产生意义,那么还存很多问题问题:
1、我在问问题时,要预先假设,我这个问题,恰好是AI可以调用现有工具满足的;换句话说,我问它的问题,前提是我知道它能实现,这就给代码和对话带来了很大的局限性。
2、很多时候,AI并不能直接调用某个工具完成用户的需求。它可能先调用工具A,再把工具A的处理结果用作工具B的参数,再把工具B的处理结果用作工具C的参数…最终满足用户的需求。那么这个调用工具的轮次是不确定的,也就是说,大模型并不知道什么时候应该停止调用工具,来最终给出回答
3、和AI对话时,我们的输入,和它的输出,都只能是文字。而对于CATIA二次开发,我们用的都是一个object(通常是comobject),那就涉及到一个问题:比方说,create_sketch创建了一个草图,我们如何将这个草图传递给AI,让它作为拉伸凸台的轮廓参数。
事实上,上面只是几个比较大的逻辑上需要解决的问题,我们在实际的执行中,还会有更多的细节需要处理考虑。


解决方案

为了解决上面的问题,首先我们会引入一个叫做Agent(智能体)的概念。如果说LLM只是一个会思考的大脑,那么Agent则是给这个大脑装备了“手脚”和“记忆”的功能。它可以自主理解任务、规划执行步骤、调用外部工具,从而自主地完成复杂的目标。
对于文章开头提到的案例,这个Agent很简单,就是个简单的循环。对于用户的一个指令,我们通过和大模型的若干次交互,判断每次交互是否返回了Tools,来判断是否与大模型继续交互,还是停止交互,给出最终回答。
而关于参数的传递,我们则是通过一个公共的字典实现:当一个sketch的comobject被创建时,我们将它存入字典,并生成一个uuid(一个独一无二的ID)作为它的key。这样后续tools通过这个uuid就可以访问到对应的sketch对象。
代码分享
对于上述全部内容,小编已经录制了6h的视频课程,包含了
- Deepseek Api调用
- Function Calling的各种方式
- 简单Agent的构建,实现任务的规划与拆分

最终,课程以画凸台为例,大模型自动将用户“画一个六棱柱”的任务,像人类用CATIA建模一样,拆分成“创建草图”-->在草图里画六根直线,形成六边形-->用这个草图拉伸凸台;并于大模型多次交互,调用对应的Tools,最终实现用户的建模需求。


来源:CATIA那点事儿
二次开发通用CATIA控制曲面工程图
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-27
最近编辑:9月前
CATIA那点事儿
本科 CATIA小狼。微信公众号:CATIA那...
获赞 140粉丝 291文章 61课程 16
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈