Jim, have you checked out Grasshopper? It is for Rhino. A lot of the automotive guys are using it for this crazy grilles and I believe a lot of the shoe guys are using it as well. http://www.grasshopper3d.com

There is also Autodesk's project dreamcatcher. But we have yet to see how much of this stuff is marketing gimmicky techdemo and how much of it is actually outputting usable results for a professional workflow.https://autodeskresearch.com/projects/dreamcatcher

There are some online tools you can use for generative design, allowing you to upload a step or iges file as a starting point. It’s a bit like FEA, but the software modifies your geometry based on weight and material inputs. I’ve played with a couple, check-out https://www.frustum.com

I have a little bit of experience. I think the unfortunate reality of it is that as its a nascent field, there's no real plug and play solution for what I think you're looking for.

Nike has a small team that seems to be dedicate to these kinds of projects. I'm guessing they're also spending a lot of time to come up with these designs and building their toolkit as they go. This link may give you some more information than what's on the Wired article. https://www.behance.net/gallery/5320866 ... thm-driven

The topology optimisation tools you'll find in most CAD tools like Inventor, Fusion 360 and Solidworks will usually just spit out the lightest mesh it could find that suits your structural requirements. Typically the mesh it outputs is not used for final products, it just gives designers a direction. The mesh will usually not be suitable for your manufacturing process or follow the aesthetic you have in mind.

This is where Grasshopper and custom tools come in allowing for full control of the geometry. This usually means setting up geometric constraints and an aesthetic for the tool to optimize the form against all kinds of criteria. Like trying to reduce weight while keeping some minimum stiffness in different directions, minimize pressure points, maximizing traction...

To learn Grasshopper, on top of IDiot's good recommendation, I'll add http://grasshopperprimer.com/en/index.html . As others have mentioned, a decent grasp on Rhino is required. Some programming experience can also really help - and not only if you're writing custom components.

I had a bit of a fun trying out some forms in a similar vain as what you were showing. These aren't really optimized against anything yet, just a parametric truss built to follow an underlying surface. The way I'm doing this is by building a simple frame and smoothing out the mesh. On the easy end, you could give Mesh Mixer a try just for illustrative purposes. Hit me up if you'd like to talk about this in more detail!

I'm curious how much demand there is for these kinds of skills right now.

Grasshopper is a magnificent tool and does not get the credit it deserves! It is a very specialized expertise and to get a product to manufacturing stage with a watertight parametric script means a lot more than just connecting a few mathematical flow charts. Grasshopper has some almost plug and play components such as voronoi, paneling and mesh manipulators. All you need to do in Rhino is load a NURBS surface and you are ready to create parametric structures on top of it. To maximize its potential, Grasshopper becomes an amalgamation of plugins and external scripts so for any company it is recommendable to appoint just one Grasshopper expert. The demand for these jobs is growing as companies are discovering the design opportunities it offers for any kind of product. Also there are many freelancers in Eastern Europe who are relatively good with this so the work is accessible. However some of the work can be done in Solidworks, if we use Grasshopper I think we do all need to charge for our expertise. Compare it to tattooing a cube vs. an organic 3D network with all kinds of effects. Even if we can revise the parametric structure, because of its complexity the design process can take much longer.

The shoe sole example can be done in several ways, for example force field operations on a hex grid or, more elegantly, Kangaroo physics simulation. Grasshopper works best going from surface to mesh. To convert the mesh back to NURBS, there is T-splines.