让AI来做结构设计

AI百科2个月前更新 快创云
31 0

  起因仅源于我购置了一批钻头,打算随手绘制一个盒子。我希望能直接在模型上标注钻头的直径,以此省去贴标签的步骤。接着,我意识到经常需要购买不同规格的钻头组合,每次手动建模修改颇为繁琐,于是决定使用OpenSCAD创建参数化模型。我的目标是只需输入一系列钻头直径,模型便能自动生成相应的设计。于是,我决定尝试借助AI的力量来实现这一目标。

  我打开了Claude 3.5 Sonnet,并输入了我的需求。渲染结果显示:

  结果确实颇有趣味,但存在一些小瑕疵,比如文字未正确雕刻。我检查后发现,问题出在文字坐标偏差了1mm,导致雕刻位置错误。然而,这些小问题无伤大雅,我提醒它自检后,它便自行修正了错误。

  尽管修正后的结果勉强可用,但显得过于呆板。我希望文字能雕刻在带有倒角的部分以增加可见度。我提出这一需求后,它几乎做到了正确:

  实际上,文字并未真正刻在模型上,此处仅高亮显示文字雕刻区域以确认问题所在。它稍微调整坐标后几乎完成了我的要求,但仍有细微误差。随后,我更换了另一个AI进行测试,其输出结果如下:

  除了文字位置未对准等细节问题外,这个AI未能理解我为何要做倒角。因此,它整体做了倒角处理,而未能精确满足我的需求。相比之下,Claude 3.5 Sonnet在细节上虽有小误差(如坐标值差了几毫米),但它更贴近我的设想。不过,我仍需微调参数值以确保准确性。

  接下来,我计划实现多排堆叠功能。我告知它:“由于小钻头和大钻头体积差异极大,我需要分两排设计。请修改代码以支持多排布局。”然而,它的初步尝试并未达到预期效果:

  我指出:“你理解有误。第一排应比第二排矮,以便实现多排堆叠且互不干扰。”但它仅调整了顺序,模型整体结构仍有问题。我进一步说明:“你应该了解OpenSCAD的功能性特点。这种y_offset=y_offset+xxx的形式是不正确的。”它意识到错误后进行了修正:

  三排间距是它自行设定的,通过调整参数可使其贴合。尽管刻字和钻孔问题暂不考虑,但这些是坐标和数值上的微调。核心逻辑正确后,我继续指导:“我看到了初步效果,但仍存在根本性问题。宽度值需根据三排中的最大值来设定,并在create_row中传入此宽度值,以均匀分布钻头孔。”然而,它的输出与上次相似,内部使用了复杂的坐标系转换逻辑导致混淆。我提醒它:“create_row无需传入y_pos,应从默认圆点开始计算,最后整体平移拼接。”这次尝试虽看似更糟,实则已在逻辑层面做对,仅是坐标值上的偏移未算好。稍作调整便达到理想效果:

  后续对话中,我不断微调细节,如要求孔位中心对齐、均匀分布、考虑两侧留白以及调整每层高度等。经过多次沟通后,模型基本符合我的预期:

  打印后发现钻头长度估算过于简单直接,按直径乘以系数导致粗钻头被高估。我指出这一问题并请求改进:“钻头的长度估算不准确。例如,3.2mm钻头长约60mm,而5.2mm长70mm等。显然它们并非直径与长度完全相等的关系。你能否依据DIN 338标准建立一个更准确的函数来估算钻头长度呢?”它迅速响应并实现了这一功能:

  最后打印出的效果(顺便一提,这种镶嵌钻头质量不佳。镶嵌的并非合金钢,而是M35高速钢。总之,这类几块钱一支的声称镶嵌合金钢的钻头不建议购买)

  这一例子可能看似简单且直观,但实际上通过与AI的对话和微调参数即可快速实现目标。这种效率是手动建模难以比拟的。对于复杂模型如多口挤出头的设计需求(这是我朋友的项目),通过与AI沟通7个版本后成功实现:

  与之前的例子一样这里未涉及任何手动编码工作一切均由AI完成只需进行参数微调即可。尽管外观可能不尽如人意但重点在于内部腔道的均匀分配考虑到近端的距离比远端短导致近端挤出压力小中心挤出量会大于两边因此需要进行压力补偿我将这些问题和思路描述给AI让它自行构建函数以动态调整近端和远端的管道直径从而精确补偿压力值:

  具体的补偿值仍需实验确定但重要的是这样的模型代码可以通过聊天在半小时内由AI准备完毕我们只需调整参数进行多次实验即可这在以往是不可想象的事。GPT4刚问世时其3D建模能力被我形容为幼儿园小朋友画画水平完全无法实用。但如今Claude 3.5 Sonnet已能解决实际问题尽管这些模型相对简单但请记住AI并不具备像人类一样的代码运行和模型观察能力这里的所有调整都需要依靠我们的想象和直觉即使是我也不一定能仅凭想象力在不运行OpenSCAD观察结果的前提下正确编写代码过去我曾判断AI对三维世界的理解力有限但现在这一观点已无法成立。

© 版权声明

相关文章