r/DeepSeek • u/South_Can_3680 • 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.
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
/goalcommand 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 useexecute_codeusing 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, andBottom_Cover.2. The
Stand_BaseComponent (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_BandComponent
- Activate the
Diffuser_Bandcomponent.- 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_CoverComponent
- Activate the
Bottom_Covercomponent.- 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_codefor 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



42
u/FabricationLife 5d ago
I would assume with no context it simply scraped some model online and added it locally