Writing / Dev Logs
Dev LogSango16.08.2026

From a grey fog to something you could actually make

The optimizer gives every small piece of the part a density between zero and one, and what you want is for it to make up its mind. For a long time it did not. A large chunk of every result sat somewhere in the middle, in a fog of grey, and grey is not a material. Nobody can machine forty percent of a hole. The fix is a soft threshold applied after smoothing, a curve that nudges anything above the halfway mark towards solid and anything below it towards empty, gentle at first and steepening as the run goes on. It has to be gradual, because switching it on hard from the start leaves the optimizer stuck in whatever shape it first stumbled into. In the first picture, the same part without that step and with it: undecided material dropped from around 40 percent to 6.

I expected that to be pure cosmetics, the same answer in a tidier picture. It was not. The part also came out 12 percent stiffer, and the reason is quite satisfying. Grey material is a form of cheating. It costs a slice of the material budget and hands back a slice of stiffness without ever committing to either. Take that option away and the optimizer has to spend on things that genuinely carry load, so it goes looking for a better structure and finds one.

One thing still stood between that and a real part. Density belongs to elements, so the raw answer is closer to a bitmap than a drawing and every edge comes out as a staircase. Spread the density onto the mesh corners instead, then trace the line where it crosses halfway, and that line cuts through the middle of triangles rather than running along their edges. What comes out is smooth, rounded and closed. Raw result on the left of the second picture, extracted boundary on the right. Same answer both times, except one of them is data and the other is a part.

topology-optimization