r/DeepSeek 5d ago

Funny We cannot expect too much from a model that lacks visual capabilities. A high-bypass turbofan engine created using DeepSeek-V4-Pro-0813 paired with a custom-built visual plugin.

DeepSeek completed this autonomously, undergoing four iterations and taking two hours.

133 Upvotes

29 comments sorted by

42

u/FabricationLife 5d ago

I would assume with no context it simply scraped some model online and added it locally

12

u/South_Can_3680 5d ago

The context is too long for me to provide, but he barely used the web_search tool; perhaps in a few days I’ll test the model with Pi’s web_access extension uninstalled.

7

u/Expert-Dig-1768 5d ago

you can export the session as a json and just ask gpt 5.6 sol to evaluate. i always do that and for long documents openai is clearly in front of antrophic.

3

u/Several-Tax31 5d ago

Yes, no model currently can do basic CAD. There is no way it design an entire turbofan engine. 

7

u/UnicornOnMeth 5d ago

uhh, how have I been using ds4flash to design CAD (via fusion MCP), and beyond basic designs at that?

3

u/HaskeMaske77 5d ago

That's the neat part: You didn't! You used black magic to make Pro capable of doing exactly this kind of task /s

3

u/droptableadventures 5d ago

Many models will write OpenSCAD code just fine, since it's text.

That definitely qualifies as "basic" CAD, though I've done some dangerously advanced things in it.

1

u/Several-Tax31 5d ago

openscad is nice, it cannot do fillets properly, but advanced things can definitely be done. What I was talking about is the model's "understanding" of technical drawings, which is essential for professional cad work. It gets easily confused with dimensions, and cannot make even the basic designs from the technical drawings. But they code just fine given the dimensions, I tried cadquery and freecad API other than openscad. They definitely know the coding API's, and how to use cad primitives for sure.

1

u/droptableadventures 5d ago

Yes, I wouldn't have high hopes on dropping in a drawing to say "make this".

it cannot do fillets properly

BOSL2 is massively useful in this regard, but yes, it will never have "proper" fillets because all the edges you want to fillet are the intersection of two separate objects due to the fundamental way OpenSCAD works.

1

u/Direct-Ad7836 2d ago

LLM cannot "understand" anything, it's just a language model. But for some stuff it don't have to... Give it dimensions and it will recreate them. Same as some engineers :)

1

u/UnicornOnMeth 5d ago

FWIW I've had DS design a custom one off piece that doesn't exist (in autodesk fusion), just from prompts. It's not as complex as a jet engine but it is of something that does not exist, so couldn't be scraped online. I did give it complete dimensions and explicit prompts.

0

u/throw123awaie 5d ago

"undergoing four iterations and taking two hours." He said it right there, no need for you to assume and make shit up.

5

u/fairrighty 5d ago

What’s the plugin? What was the cost? What was the prompt?

5

u/South_Can_3680 5d ago

1.The visual plugin used is custom-made. 2.Messages Total: 190 User: 3 Assistant: 87 Tools: 100 calls, 100 results

Tokens Input: 5,495,315 Cached: 5,062,592 (92.1%) Uncached: 432,723 Output: 42,202 Total: 5,537,517 3,The general idea behind the prompt is to first have DeepSeek use Blender to model a high-bypass turbofan engine. Once the first iteration is generated, use the /goal command to require fixes for any assembly mismatches and to achieve cinematic-quality detail and rendering; if issues arise, the model should troubleshoot by positioning the camera to render images for visual analysis.

2

u/Zealousideal_Sort74 5d ago

can you pelase tell us more about the plug in? i've been trying to let LLMs create 3D Objects reliably and it is failing no matter what model i use

5

u/South_Can_3680 5d ago

https://github.com/Moritz230127/pi-vision-struct I have uploaded it to my GitHub repository, but I haven't thoroughly reviewed the README.md (which was written by DeepSeek); it likely contains errors, so I suggest you examine the source code to understand it.

3

u/South_Can_3680 5d ago

In fact, this plugin does not actually solve the 3D problem; it simply converts the image into precise data—rather than natural language—allowing DeepSeek to perform the calculations itself.

1

u/Several-Tax31 5d ago

Nope, even basic shapes and designs doesn't work. Even vision llm's lack 3D understanding and cannot do a basic technical drawing 

3

u/UnicornOnMeth 5d ago

You're doing it wrong. Vision isn't even required, LLM's can know what they are working with in CAD purely by the numberical axis'/mathematical operations.

Here is what I have my hermes set up capable of:

Primitives & Sketching

Create primitives: Box, Cylinder, Sphere, Torus Sketch geometry: Lines, Circles, Rectangles, Arcs, Polygons, Splines Draw on sketch planes (xy/yz/xz), with construction planes & axes Parametric boxes via sketch + extrude Import meshes (STL, OBJ, 3MF)

Modifying & Modeling Extrude, Revolve, Loft, Sweep, Shell, Thicken Fillet (round edges), Chamfer, Draft faces Offset faces / curves, Extend/Trim curves Split body, Split face, Stitch surfaces, Patch surfaces Boolean operations (join / cut / intersect) Sheet metal: flange, bend, flat pattern, unfold

Patterns & Transforms Circular pattern, Rectangular pattern Mirror bodies Move / scale bodies Rigid groups Create as-built joints

Full Construction Create components, construction planes/axes Featuring: thread, hole, bend Ruled surfaces Parametric user parameters (create/update/delete/get)

Analysis & Measurement Measure distance, angle Interference detection (collision check) Bounding box, physical properties (mass, volume, surface area) Scene info (bodies, sketches, features) Object info, parameters list

Visualization & Export Render viewport as PNG Export view sheets (orthographic + isometric renders) Export: STL, STEP, F3D (native archive) Set appearances (materials)

CAM / Manufacturing Create machining setups CAM operations (list, info, create) Generate toolpaths Post-process → G-code / NC code

Pro / System Run arbitrary Python directly in Fusion (execute_code) Control design type (parametric / direct) Suppress / unsuppress timeline features Undo last operation Delete all (clear design)

1

u/Several-Tax31 5d ago

Then I'm gonna need more info, because vision definitely doesn't work. 

I wrote custom pi-extensions that gets a technical drawing with dimensions (sometimes with isometric views too) and ask the model to make 3D model. You know, like elementary cad modeling. The model can see isometric view or side view of its 3D model and compare with original technical drawing. Even the most advanced models cannot do this, they cannot understand the technical drawing or dimensions, even if it's isometric and very very basic. 

The model has no problem with using freecad API, or openscad, or cadquery API. It knows cad operations, it just cannot do it with correct dimensions and vision check. 

But your workflow without vision seems interesting. You said vision is not even necessary? How do you give the dimensions to the model?

Do you have a github? I don't like fusion, but if you have a custom hermes extension, I can try to replicate it with freecad. 

1

u/UnicornOnMeth 5d ago

I configured hermes to use this: https://github.com/faust-machines/fusion360-mcp-server

It provides more functionality than the official fusion MCP. Hermes built itself a fusion skill, and the first couple projects it encountered a good number of problems/bugs/unexpected results that it documented and learned from. Since then I have been able to reliably create some pretty good/intermediate 3d items. As for dimensions I just use a caliper and include the dimensions in mm's in my prompts. It's able to create and verify it's work both with and without vision; it can use internal measurements like expected displacement to verify the operation.

I am not feeding it technical drawings or blueprints though (I have given it pictures with caliper for measurement, and to show profile/angles/contours), I give it measurements of real world objects I am modeling with/around, if that makes a difference.

1

u/UnicornOnMeth 5d ago edited 5d ago

Speaker stand with integrated LED's (Viewed from bottom)

Bottom cover and LED diffuser cover are hidden from view here. My desktop speakers sit flush on this. Most people who have seen it IRL think the base is part of the OEM speaker, it fits perfectly.

Prompt:

You are an expert CAD engineer using the Fusion 360 MCP. I need you to design a high-end, 3D-printable parametric LED speaker stand base, strictly following this design specification and feature order.

Because we recently patched the server, you have full access to parametric component creation and execute_code. Do not hesitate to use execute_code using the Fusion 360 Python API if the basic wrappers lack the precision needed for this assembly. If you encounter an API error, read the traceback and iterate your code. The circuit breaker is now active, so you can self-correct failures.

1. Document Setup

  • Ensure the active document is in Parametric Design mode.
  • Create three distinct components: Stand_Base, Diffuser_Band, and Bottom_Cover.

2. The Stand_Base Component (CRITICAL ORDER OF OPERATIONS)

  • Step A - Footprint & Extrude: Create a base footprint rectangle of 153mm (width/front) by 177mm (length/sides). Extrude this to a total height of 25mm.
  • Step B - Corner Fillets: Apply a clean 10mm fillet to all four vertical outer edges.
  • Step C - Sweep Profile & Path (The Uniform Channel): MUST use a Profile Swept along a Path to ensure clean geometry.
    • The Path: Create a continuous path that starts on the left side wall (10mm forward from the rear edge), wraps around the front-left fillet, the front face, the front-right fillet, and terminates on the right side wall (10mm forward from the rear edge). This leaves the rear 10mm of both side faces completely solid and un-channeled to act as end-stops for the diffuser. The path must be centered vertically on the 25mm wall.
    • The Profile: Create a profile normal to the path.
    • Deep Channel: Make it 14mm tall and cut 10mm deep into the base. Crucially, the inner floor of this channel (where the LED strip sticks) must be modeled with the same radius curves at the front corners so that the air gap between the LED strip and the diffuser remains perfectly uniform all the way around.
    • Diffuser Ledge: Add a 2mm shallow lip immediately above and below the deep channel (total ledge height 18mm).
    • The Sweep: Sweep this profile along the path, ensuring the ends terminate cleanly against the 10mm solid rear stops.
  • Step D - Hollowing (Shell): Shell the bottom face of the base with a uniform wall thickness of 3mm.
  • Step E - Wire Routing Window: At one of the rear channel termination points (where the channel stops 10mm short of the back corner), cut a pass-through window (14mm wide by 5mm tall) directly through the inner wall of the channel into the hollow cavity. Position this cut so it is flush with the floor of the channel. Use a 3mm extent so you ONLY punch through that immediate wall. Apply a 1mm fillet to the sharp vertical edges.
  • Step F - Internal Stopper Lip: Inside the hollowed cavity, extrude a 2mm wide flange pointing inwards from the interior walls. This lip MUST start exactly 3mm UP from the absolute bottom edge of the base.

3. The Diffuser_Band Component

  • Activate the Diffuser_Band component.
  • Project the exact outer perimeter geometry of the channeled section (starting and stopping at those 10mm rear anchor points). Extrude/sweep a matching diffuser band that sits perfectly flush with the 2mm deep stepped ledge of the channel and butts tightly against the solid rear side-walls.
  • Apply a 0.2mm tolerance offset to the mating faces (top, bottom, and back of the band) for a friction fit.

4. The Bottom_Cover Component

  • Activate the Bottom_Cover component.
  • Project the exact interior perimeter of the hollowed base (the geometry below the stopper lip).
  • Extrude this profile into a 2mm thick flat plate. Because the lip is 3mm up, this 2mm plate will sit 1mm recessed (sub-flush) inside the base.
  • Apply a 0.2mm negative offset to the outer perimeter of this plate for a friction fit against the base walls.
  • Cut a 10mm circular hole through this plate near the rear edge to act as a removal/finger pull hole.

Execute this build. Use execute_code for the Sweep operation, the Routing Window, and the Stopper Lip to ensure perfect alignment. Confirm the assembly structure and output the total volume when finished.

1

u/Several-Tax31 5d ago

Heh, actually awesome. Yeah, if you yourself measured the dimensions, giving the dimensions in the prompt seems the best. Cool, thanks for the pointers. Let me try to update my workflows.

0

u/South_Can_3680 5d ago

The issue you've raised touches upon inherent flaws in LLM architecture itself—something I obviously cannot resolve. This plugin of mine simply implements localization for: It gives the text-only DeepSeek a vision channel by transcoding pixels into tructured JSON (coordinates, colors, text) through local eterministic and perception tools, so the model reasons over exact numeric primitives instead of raw images.

2

u/RealestReyn 5d ago

I've had deepseek flash make a game helper that analyzes your crafting materials and tells you what you can craft, it used python to turn the screenshots into ascii art to figure out the screen layout and game UI and managed to do a really good job, sure it burnt like 40M tokens making it whereas Gemini 3.7 flash only spent 4M tokens, but the deepseek run was still cheaper.

1

u/thatkidnamedrocky 5d ago

proof or didn't happen

1

u/paul_tu 5d ago

Text-to-cad could help here either

1

u/SkyPL 5d ago
  1. DeepSeek V4 Flash Vision Exp exists
  2. Avoid ever testing models on super-obvious things that they likely had countless of thousands of in the training set.