{"id":1044,"date":"2026-04-04T18:06:30","date_gmt":"2026-04-04T10:06:30","guid":{"rendered":"https:\/\/www.heiweilu.top\/?p=1044"},"modified":"2026-04-04T18:13:40","modified_gmt":"2026-04-04T10:13:40","slug":"webaiqudongde-fusion-360-3dmoxingjiaobenduanzaogongfang","status":"publish","type":"post","link":"https:\/\/www.heiweilu.top\/index.php\/webaiqudongde-fusion-360-3dmoxingjiaobenduanzaogongfang\/","title":{"rendered":"\u3010Web\u3011AI\u9a71\u52a8\u7684 Fusion 360 3D\u6a21\u578b\u811a\u672c\u953b\u9020\u5de5\u574a"},"content":{"rendered":"<div align=\"center\">\n<p># \ud83d\udd25 Fusion3D-Forge<\/p>\n<p>**AI\u9a71\u52a8\u7684 Fusion 360 3D\u6a21\u578b\u811a\u672c\u953b\u9020\u5de5\u574a**<\/p>\n<p>_\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\uff0cAI\u81ea\u52a8\u751f\u6210\u53ef\u5728Fusion 360\u4e2d\u76f4\u63a5\u8fd0\u884c\u7684Python\u5efa\u6a21\u811a\u672c_<\/p>\n<\/div>\n<hr \/>\n<p>p<\/p>\n<h2>\ud83d\udcf8 Screenshots<\/h2>\n<table>\n<tr>\n<td><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/tuchuang.heiweilu.top\/picture\/text-to-3d.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/tuchuang.heiweilu.top\/picture\/text-to-3d.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" width=\"400\"\/><\/div><\/td>\n<td><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/tuchuang.heiweilu.top\/picture\/images-to-3d.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/tuchuang.heiweilu.top\/picture\/images-to-3d.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" width=\"400\"\/><\/div><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">\u6587\u672c\u8f6c3D<\/td>\n<td align=\"center\">\u56fe\u7247\u8f6c3D<\/td>\n<\/tr>\n<tr>\n<td><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/tuchuang.heiweilu.top\/picture\/fusion360-result.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/tuchuang.heiweilu.top\/picture\/fusion360-result.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" width=\"400\"\/><\/div><\/td>\n<td><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/tuchuang.heiweilu.top\/picture\/script-viewer.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/tuchuang.heiweilu.top\/picture\/script-viewer.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" width=\"400\"\/><\/div><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Fusion 360 \u8fd0\u884c\u6548\u679c<\/td>\n<td align=\"center\">\u811a\u672c\u7ba1\u7406<\/td>\n<\/tr>\n<\/table>\n<h2>\u2728 Features<\/h2>\n<ul>\n<li>\ud83c\udfa8 <strong>\u6587\u672c\u8f6c3D<\/strong> \u2014 \u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u4f60\u60f3\u8981\u76843D\u6a21\u578b\uff0cAI\u81ea\u52a8\u751f\u6210Fusion 360 Python\u811a\u672c<\/li>\n<li>\ud83d\uddbc\ufe0f <strong>\u56fe\u50cf\u8f6c3D<\/strong> \u2014 \u4e0a\u4f20\u53c2\u8003\u56fe\u7247\uff0c\u89c6\u89c9\u6a21\u578b\u5206\u6790 \u2192 LLM\u751f\u6210\u811a\u672c\uff08\u4e24\u6b65\u6d41\u7a0b\uff09<\/li>\n<li>\ud83d\udd0d <strong>AI\u63d0\u793a\u8bcd\u4f18\u5316<\/strong> \u2014 \u4e00\u952e\u5c06\u7b80\u5355\u63cf\u8ff0\u6269\u5c55\u4e3a\u8be6\u7ec6\u7684CAD\u5efa\u6a21\u63d0\u793a\u8bcd<\/li>\n<li>\ud83e\ude79 <strong>AI\u667a\u80fd\u4fee\u590d<\/strong> \u2014 \u7c98\u8d34Fusion 360\u62a5\u9519\u4fe1\u606f\uff0cAI\u5206\u6790\u539f\u56e0\u5e76\u539f\u5730\u4fee\u590d\u811a\u672c<\/li>\n<li>\ud83e\udde0 <strong>\u9519\u8bef\u77e5\u8bc6\u5e93<\/strong> \u2014 \u81ea\u52a8\u6536\u96c6\u5386\u53f2\u9519\u8bef\u6a21\u5f0f\uff0c\u6ce8\u5165\u7cfb\u7edf\u63d0\u793a\u8bcd\u907f\u514d\u91cd\u590d\u72af\u9519<\/li>\n<li>\ud83d\udd04 <strong>\u81ea\u52a8\u91cd\u8bd5<\/strong> \u2014 AST\u9a8c\u8bc1\u5931\u8d25\u65f6\u81ea\u52a8\u4fee\u590d\u4e00\u6b21\uff0c\u63d0\u9ad8\u6210\u529f\u7387<\/li>\n<li>\ud83c\udfad <strong>\u591a\u79cd\u827a\u672f\u98ce\u683c<\/strong> \u2014 \u5199\u5b9e \/ \u5361\u901a \/ \u96d5\u5851 \/ \u52a8\u6f2b \/ \u4f53\u7d20\uff0c\u81ea\u7531\u5207\u6362<\/li>\n<li>\ud83c\udf0c <strong>\u6982\u5ff5\u6e32\u67d3\u56fe<\/strong> \u2014 \u751f\u6210\u524d\u53ef\u9009AI\u9884\u89c8\u6982\u5ff5\u56fe<\/li>\n<li>\ud83d\udccb <strong>\u65e5\u5fd7\u9762\u677f<\/strong> \u2014 \u5e95\u90e8\u53ef\u6298\u53e0\u65e5\u5fd7\uff0c\u81ea\u52a8\u6355\u83b7\u6240\u6709API\u8bf7\u6c42<\/li>\n<li>\ud83d\udcc1 <strong>\u811a\u672c\u7ba1\u7406<\/strong> \u2014 \u67e5\u770b\u3001\u590d\u5236\u3001\u4e0b\u8f7d\u3001\u5220\u9664\u5df2\u751f\u6210\u7684\u6240\u6709\u811a\u672c<\/li>\n<li>\u2699\ufe0f <strong>\u53ef\u89c6\u5316\u8bbe\u7f6e<\/strong> \u2014 \u4e0b\u62c9\u9009\u62e9AI\u6a21\u578b\uff0c\u652f\u6301\u81ea\u5b9a\u4e49\u6a21\u578b\u540d<\/li>\n<\/ul>\n<h2>\ud83c\udfd7\ufe0f Architecture<\/h2>\n<pre><code class=\"\">\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510      \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510      \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502  Vue 3 +    \u2502 HTTP \u2502  FastAPI         \u2502 API  \u2502  Alibaba Cloud   \u2502\n\u2502  Naive UI   \u2502\u25c0\u2500\u2500\u2500\u2500\u25b6\u2502  Backend         \u2502\u25c0\u2500\u2500\u2500\u2500\u25b6\u2502  DashScope       \u2502\n\u2502  Frontend   \u2502      \u2502                  \u2502      \u2502                  \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518      \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518      \u2502  \u2022 wan2.7-image  \u2502\n                              \u2502                \u2502    (\u56fe\u50cf\u751f\u6210)      \u2502\n                              \u25bc                \u2502  \u2022 qwen3.6-plus  \u2502\n                     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510      \u2502    (\u811a\u672c\u751f\u6210)      \u2502\n                     \u2502  output_scripts\/ \u2502      \u2502  \u2022 qwen3-vl-plus \u2502\n                     \u2502  (F360 Scripts)  \u2502      \u2502    (\u89c6\u89c9\u5206\u6790)      \u2502\n                     \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518      \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                              \u2502\n                              \u25bc\n                     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                     \u2502  Fusion 360      \u2502\n                     \u2502  (Run Scripts)   \u2502\n                     \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n<h3>AI\u8c03\u7528\u6d41\u7a0b<\/h3>\n<p><strong>\u6587\u672c\u8f6c3D\uff1a<\/strong><br \/>\n1. \uff08\u53ef\u9009\uff09wan2.7-image \u2192 \u751f\u6210\u6982\u5ff5\u6e32\u67d3\u56fe<br \/>\n2. qwen3.6-plus \u2192 \u6839\u636e\u63cf\u8ff0(+\u56fe\u7247)\u751f\u6210Python\u811a\u672c<br \/>\n3. AST\u9a8c\u8bc1 \u2192 \u5931\u8d25\u5219\u81ea\u52a8\u4fee\u590d\u91cd\u8bd5<\/p>\n<p><strong>\u56fe\u50cf\u8f6c3D\uff08\u4e24\u6b65\u6d41\u7a0b\uff09\uff1a<\/strong><br \/>\n1. qwen3-vl-plus \u2192 \u89c6\u89c9\u6a21\u578b\u5206\u6790\u56fe\u72473D\u7279\u5f81<br \/>\n2. qwen3.6-plus \u2192 \u6839\u636e\u5206\u6790\u7ed3\u679c\u751f\u6210Python\u811a\u672c<\/p>\n<p><strong>AI\u4fee\u590d\uff1a<\/strong><br \/>\n1. qwen3.6-plus \u2192 \u5206\u6790\u9519\u8bef\u539f\u56e0 + \u8f93\u51fa\u4fee\u590d\u62a5\u544a + \u4fee\u590d\u540e\u811a\u672c<br \/>\n2. \u81ea\u52a8\u8bb0\u5f55\u9519\u8bef\u6a21\u5f0f\u5230\u77e5\u8bc6\u5e93<\/p>\n<h2>\ud83d\ude80 Quick Start<\/h2>\n<h3>Prerequisites<\/h3>\n<ul>\n<li>Python 3.10+<\/li>\n<li>Node.js 18+<\/li>\n<li><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/help.aliyun.com\/zh\/model-studio\/get-api-key\">\u963f\u91cc\u4e91\u767e\u70bc API Key<\/a><\/li>\n<li>Fusion 360\uff08\u7528\u4e8e\u8fd0\u884c\u751f\u6210\u7684\u811a\u672c\uff09<\/li>\n<\/ul>\n<h3>\u4e00\u952e\u542f\u52a8<\/h3>\n<pre><code class=\"language-bash \">git clone https:\/\/github.com\/heiweilu\/Fusion3D-Forge.git\ncd Fusion3D-Forge\n\n# \u914d\u7f6eAPI Key\ncp backend\/.env.example backend\/.env\n# \u7f16\u8f91 backend\/.env\uff0c\u586b\u5165\u4f60\u7684 DASHSCOPE_API_KEY\n\n# Windows\u4e00\u952e\u542f\u52a8\nstart.bat\n<\/code><\/pre>\n<p>\u6216\u624b\u52a8\u542f\u52a8\uff1a<\/p>\n<pre><code class=\"language-bash \"># \u540e\u7aef\ncd backend\npip install -r requirements.txt\nuvicorn app.main:app --reload --port 8000\n\n# \u524d\u7aef\uff08\u53e6\u4e00\u4e2a\u7ec8\u7aef\uff09\ncd frontend\nnpm install\nnpm run dev\n<\/code><\/pre>\n<p>\u6d4f\u89c8\u5668\u8bbf\u95ee <strong>http:\/\/localhost:5173<\/strong><\/p>\n<h2>\ud83d\udcd6 Usage<\/h2>\n<h3>\u6587\u672c\u8f6c3D<\/h3>\n<ol>\n<li>\u5728\u8f93\u5165\u6846\u63cf\u8ff0\u4f60\u60f3\u8981\u76843D\u6a21\u578b\uff08\u5982\"\u4e00\u4e2a\u624b\u673a\u652f\u67b6\uff0c\u6709\u4e24\u4e2a\u652f\u6491\u81c2\"\uff09<\/li>\n<li>\uff08\u53ef\u9009\uff09\u70b9\u51fb <strong>\u2728 AI\u4f18\u5316<\/strong> \u6269\u5c55\u63d0\u793a\u8bcd<\/li>\n<li>\u9009\u62e9\u827a\u672f\u98ce\u683c<\/li>\n<li>\u70b9\u51fb <strong>\u5f00\u59cb\u751f\u6210<\/strong><\/li>\n<li>AI\u751f\u6210\u6982\u5ff5\u6e32\u67d3\u56fe + Fusion 360 Python\u811a\u672c<\/li>\n<li>\u4e0b\u8f7d\u811a\u672c\uff0c\u5728Fusion 360\u4e2d\u8fd0\u884c<\/li>\n<\/ol>\n<h3>\u56fe\u50cf\u8f6c3D<\/h3>\n<ol>\n<li>\u4e0a\u4f20\u53c2\u8003\u56fe\u7247\uff08JPG\/PNG\/WEBP\uff0c\u6700\u592710MB\uff09<\/li>\n<li>\u53ef\u9009\u6dfb\u52a0\u6587\u5b57\u8865\u5145\u63cf\u8ff0<\/li>\n<li>\u70b9\u51fb <strong>\u5f00\u59cb\u751f\u6210<\/strong><\/li>\n<li>Step 1: \u89c6\u89c9\u6a21\u578b\u5206\u6790\u56fe\u7247 \u2192 Step 2: LLM\u751f\u6210\u811a\u672c<\/li>\n<\/ol>\n<h3>AI\u4fee\u590d<\/h3>\n<ol>\n<li>\u5728Fusion 360\u4e2d\u8fd0\u884c\u811a\u672c<\/li>\n<li>\u5982\u679c\u62a5\u9519\uff0c\u590d\u5236\u9519\u8bef\u4fe1\u606f<\/li>\n<li>\u7c98\u8d34\u5230\u4fee\u590d\u9762\u677f\uff0c\u70b9\u51fb <strong>\u4fee\u590d<\/strong><\/li>\n<li>AI\u5206\u6790\u9519\u8bef\u539f\u56e0\uff0c\u5728\u539f\u811a\u672c\u4e0a\u4fee\u590d\uff0c\u663e\u793a\u4fee\u590d\u62a5\u544a<\/li>\n<\/ol>\n<h3>\u5728Fusion 360\u4e2d\u8fd0\u884c\u811a\u672c<\/h3>\n<ol>\n<li>\u6253\u5f00Fusion 360<\/li>\n<li>\u70b9\u51fb <strong>\u5de5\u5177<\/strong> \u2192 <strong>\u811a\u672c\u548c\u52a0\u8f7d\u9879<\/strong>\uff08\u6216\u6309 Shift+S\uff09<\/li>\n<li>\u70b9\u51fb <strong>+<\/strong> \u6dfb\u52a0\u811a\u672c\u76ee\u5f55\u6307\u5411 <code>output_scripts\/<\/code> \u4e0b\u7684\u811a\u672c\u6587\u4ef6\u5939<\/li>\n<li>\u9009\u62e9\u811a\u672c\uff0c\u70b9\u51fb <strong>\u8fd0\u884c<\/strong><\/li>\n<\/ol>\n<h2>\ud83d\udee0\ufe0f Tech Stack<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u5c42\u7ea7<\/th>\n<th>\u6280\u672f<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u524d\u7aef<\/strong><\/td>\n<td>Vue 3 + Vite + Naive UI + vue-router + axios<\/td>\n<\/tr>\n<tr>\n<td><strong>\u540e\u7aef<\/strong><\/td>\n<td>Python FastAPI + uvicorn<\/td>\n<\/tr>\n<tr>\n<td><strong>AI \u56fe\u50cf\u751f\u6210<\/strong><\/td>\n<td>wan2.7-image (DashScope ImageGeneration API)<\/td>\n<\/tr>\n<tr>\n<td><strong>AI \u811a\u672c\u751f\u6210<\/strong><\/td>\n<td>qwen3.6-plus (OpenAI\u517c\u5bb9\u63a5\u53e3, stream\u6a21\u5f0f)<\/td>\n<\/tr>\n<tr>\n<td><strong>AI \u89c6\u89c9\u5206\u6790<\/strong><\/td>\n<td>qwen3-vl-plus (\u591a\u6a21\u6001\u89c6\u89c9\u6a21\u578b)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u9519\u8bef\u5b66\u4e60<\/strong><\/td>\n<td>\u81ea\u52a8\u6536\u96c6\u9519\u8bef\u6a21\u5f0f \u2192 error_knowledge.json<\/td>\n<\/tr>\n<tr>\n<td><strong>\u4ee3\u7801\u9ad8\u4eae<\/strong><\/td>\n<td>highlight.js<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\ud83d\udcc1 Project Structure<\/h2>\n<pre><code class=\"\">Fusion3D-Forge\/\n\u251c\u2500\u2500 backend\/\n\u2502   \u251c\u2500\u2500 app\/\n\u2502   \u2502   \u251c\u2500\u2500 main.py              # FastAPI \u5165\u53e3\n\u2502   \u2502   \u251c\u2500\u2500 config.py            # \u914d\u7f6e\u7ba1\u7406 (\u6a21\u578b\/\u8def\u5f84)\n\u2502   \u2502   \u251c\u2500\u2500 routers\/\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 text_to_3d.py    # \u6587\u672c\u8f6c3D + \u9884\u89c8\u56fe + \u63d0\u793a\u8bcd\u4f18\u5316\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 image_to_3d.py   # \u56fe\u50cf\u8f6c3D (\u4e24\u6b65\u6d41\u7a0b)\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 scripts.py       # \u811a\u672c\u7ba1\u7406 + AI\u4fee\u590d + \u9519\u8bef\u7edf\u8ba1\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 settings.py      # \u8bbe\u7f6e CRUD\n\u2502   \u2502   \u251c\u2500\u2500 services\/\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 qwen_omni.py     # \u6240\u6709AI\u8c03\u7528 (LLM\/Vision\/\u4fee\u590d)\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 qwen_image.py    # \u56fe\u50cf\u751f\u6210 (wan2.7-image)\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 fusion_script.py # \u811a\u672c\u63d0\u53d6\/\u9a8c\u8bc1\/\u4fdd\u5b58\/\u66f4\u65b0\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 error_knowledge.py # \u9519\u8bef\u77e5\u8bc6\u5e93\u81ea\u52a8\u6536\u96c6\n\u2502   \u2502   \u251c\u2500\u2500 models\/schemas.py    # Pydantic \u6570\u636e\u6a21\u578b\n\u2502   \u2502   \u2514\u2500\u2500 prompts\/\n\u2502   \u2502       \u2514\u2500\u2500 fusion360_system.py  # \u7cfb\u7edf\u63d0\u793a\u8bcd (15\u6761\u89c4\u5219+\u5b8c\u6574\u793a\u4f8b)\n\u2502   \u251c\u2500\u2500 requirements.txt\n\u2502   \u2514\u2500\u2500 .env.example\n\u251c\u2500\u2500 frontend\/\n\u2502   \u251c\u2500\u2500 src\/\n\u2502   \u2502   \u251c\u2500\u2500 views\/\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 TextTo3D.vue     # \u6587\u672c\u8f6c3D\u9875\u9762\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 ImageTo3D.vue    # \u56fe\u50cf\u8f6c3D\u9875\u9762\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 ScriptViewer.vue # \u811a\u672c\u7ba1\u7406\u9875\u9762\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 Settings.vue     # \u8bbe\u7f6e\u9875\u9762 (\u6a21\u578b\u4e0b\u62c9\u9009\u62e9)\n\u2502   \u2502   \u251c\u2500\u2500 components\/\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 ScriptPanel.vue  # \u4ee3\u7801\u5c55\u793a+AI\u4fee\u590d\u9762\u677f\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 PreviewPanel.vue # \u6e32\u67d3\u56fe\u9884\u89c8\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 LogPanel.vue     # \u5e95\u90e8\u65e5\u5fd7\u9762\u677f\n\u2502   \u2502   \u251c\u2500\u2500 api\/index.js         # API\u5c01\u88c5 + \u65e5\u5fd7\u62e6\u622a\u5668\n\u2502   \u2502   \u251c\u2500\u2500 stores\/logStore.js   # \u5168\u5c40\u65e5\u5fd7\u72b6\u6001\n\u2502   \u2502   \u2514\u2500\u2500 router\/index.js      # \u8def\u7531\u914d\u7f6e\n\u2502   \u2514\u2500\u2500 package.json\n\u251c\u2500\u2500 output_scripts\/              # \u751f\u6210\u7684\u811a\u672c\u8f93\u51fa\n\u251c\u2500\u2500 start.bat                    # Windows\u4e00\u952e\u542f\u52a8\n\u251c\u2500\u2500 start.ps1                    # PowerShell\u542f\u52a8\u811a\u672c\n\u2514\u2500\u2500 README.md\n<\/code><\/pre>\n<h2>\u2699\ufe0f Configuration<\/h2>\n<p>\u901a\u8fc7 <strong>\u8bbe\u7f6e\u9875\u9762<\/strong> \u6216 <code>backend\/.env<\/code> \u6587\u4ef6\u914d\u7f6e\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u73af\u5883\u53d8\u91cf<\/th>\n<th>\u8bf4\u660e<\/th>\n<th>\u9ed8\u8ba4\u503c<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>DASHSCOPE_API_KEY<\/code><\/td>\n<td>\u963f\u91cc\u4e91\u767e\u70bc API Key<\/td>\n<td>\uff08\u5fc5\u586b\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>IMAGE_MODEL<\/code><\/td>\n<td>\u56fe\u50cf\u751f\u6210\u6a21\u578b<\/td>\n<td><code>wan2.7-image<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>LLM_MODEL<\/code><\/td>\n<td>\u811a\u672c\u751f\u6210\u6a21\u578b<\/td>\n<td><code>qwen3.6-plus<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>VISION_MODEL<\/code><\/td>\n<td>\u89c6\u89c9\u5206\u6790\u6a21\u578b<\/td>\n<td><code>qwen3-vl-plus<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u652f\u6301\u5728\u8bbe\u7f6e\u9875\u9762\u4e0b\u62c9\u9009\u62e9\u6216\u624b\u52a8\u8f93\u5165\u81ea\u5b9a\u4e49\u6a21\u578b\u540d\u3002<\/p>\n<h2>\ud83e\udde0 \u9519\u8bef\u77e5\u8bc6\u5e93<\/h2>\n<p>\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4ece\u6bcf\u6b21\u4fee\u590d\u4e2d\u5b66\u4e60\uff1a<\/p>\n<ol>\n<li><strong>\u81ea\u52a8\u8bb0\u5f55<\/strong>\uff1aAI\u4fee\u590d\u811a\u672c\u65f6\uff0c\u81ea\u52a8\u63d0\u53d6\u9519\u8bef\u7c7b\u578b\u548c\u4fee\u590d\u65b9\u6848<\/li>\n<li><strong>\u6a21\u5f0f\u8bc6\u522b<\/strong>\uff1a\u7edf\u8ba1\u9ad8\u9891\u9519\u8bef\u7c7b\u578b\uff08\u5982 face invalidation\u3001profile not found\uff09<\/li>\n<li><strong>\u667a\u80fd\u6ce8\u5165<\/strong>\uff1a\u751f\u6210\u65b0\u811a\u672c\u65f6\uff0c\u5c06\u5386\u53f2\u9519\u8bef\u6a21\u5f0f\u6ce8\u5165\u7cfb\u7edf\u63d0\u793a\u8bcd<\/li>\n<li><strong>\u89c4\u5219\u6c89\u6dc0<\/strong>\uff1a\u7cfb\u7edf\u63d0\u793a\u8bcd\u5185\u7f6e15\u6761 Fusion 360 API \u5e38\u89c1\u9519\u8bef\u907f\u514d\u89c4\u5219<\/li>\n<\/ol>\n<p>\u9519\u8bef\u7edf\u8ba1 API\uff1a<code>GET \/api\/scripts\/error-stats<\/code><\/p>\n<h2>\ud83d\udcdd License<\/h2>\n<p>MIT License<\/p>\n<hr \/>\n<div align=\"center\">\n<p>**\u2b50 Star this repo if you find it useful!**<\/p>\n<p>Made with \u2764\ufe0f by heiweilu<\/p>\n<\/div>\n<p>\u5f00\u6e90\u8fde\u63a5\uff1a<br \/>\n<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/github.com\/heiweilu\/Fusion3D-Forge.git\" title=\"github\">github<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p># \ud83d\udd25 Fusion3D-Forge **AI\u9a71\u52a8\u7684 Fusion 360 3D\u6a21\u578b\u811a\u672c\u953b\u9020\u5de5\u574a** _\u7528\u81ea\u7136 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1045,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"fifu_image_url":"https:\/\/tuchuang.heiweilu.top\/picture\/text-to-3d.png","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2,170],"tags":[177,176,178],"class_list":["post-1044","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-xiangmu","category-web","tag-3djianmo","tag-fusion-360","tag-web"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i1.wp.com\/tuchuang.heiweilu.top\/picture\/text-to-3d.png?w=1920&resize=1920,904&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/posts\/1044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/comments?post=1044"}],"version-history":[{"count":0,"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/posts\/1044\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/media\/1045"}],"wp:attachment":[{"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/media?parent=1044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/categories?post=1044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.heiweilu.top\/index.php\/wp-json\/wp\/v2\/tags?post=1044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}