This original concept for a below-elbow prosthetic device
is called “Anatomic” and it’s rooted in skeletal structures and the idea of underlying
connections.
I was strongly inspired by vintage anatomy illustrations
while concepting this design. There’s a wealth of anatomical illustration out
there, and all of it is strangely beautiful to me. I wanted to create something
of my own design that let me express my version of anatomic illustration via 3D
modeling, as well as my appreciation for the beauty of internal organic connections.
I was not inspired by Attack on
Titan, but was made aware of the anime recently, and I’m pleased with any
comparisons that are being drawn. The art style is uncomfortably gruesome, yet gorgeous,
and that’s what I’m aiming for. A couple of pieces that inspired me are from Elisa Schorn and Ant Baena, respectively:
Prosthetic devices for upper extremity amputees
are much more complex than lower extremity devices. The technology needs to be
more complex because of how much dexterity humans have in their hands, in
addition to the twisting motion of the wrist. For the most part, this
technology varies across the board depending on which company makes the
prosthesis. On top of that, a lot of the internal mechanisms are hidden
underneath a carefully designed shell to keep it safe. Here’s a good example of
what it looks like inside a controllable prosthetic arm from Dean Kamen. The
transparent design gives us a view into the complexity of the technology
underneath the shell, and helps drive home the reason most of these prostheses
are watertight:
Therefore, it was an easy decision for me to go in
the direction of a completely closed design. Examples of some closed concepts
for below-elbow prostheses can be seen from BeBionic, ArmDynamics, and TouchBionics.
Anatomic modeling
process in Rhino:
I knew from the beginning that the
most difficult part of this design was going to be the hand. Modeling a hand in
a NURBS environment is a punishing process, and I did try it at first…but I ended
up abandoning that route, as I thought I might eventually. I always have to
make an attempt, even if it seems unlikely to work. My alternate plan was to
create a polysurface that mimicked the form of a palm, but was a little more
precise. I was semi-satisfied with the results, but also ended up abandoning
this form, because there turned out to be a much better way I hadn’t learned
about yet. For your entertainment however, here is the process I used for
modeling the first version of the palm:
I started by extracting the mesh of the arm
from my Maya character model, and exporting it as an obj. After importing it
into Rhino, I used MeshToNurbs to convert it to Nurbs surfaces, so that I could
use DupEdge from the original model and use the resulting curves to Join and create
silhouette curves. I used this method with the arm down to the wrist, and with
the fingers and thumb. Then, using my concept art as reference from the front
view, I created two parallel closed loops using InterpolatePoints curves. These
followed the outline of a separate version of concept art I had on stand-by,
and I used them as the front and back of the hand. Using cross section curves,
I used Sweep2 to make a custom bridge between the front and back of the hand (I
did try BlendSrf first, but the resulting surface was not as customized as I
wanted.) I then used Bend to arc the hand from multiple views and give it an
inward curve similar to an open palm.
All that effort resulted in a
decent palm that I felt only partially happy with. The best solution for me
ended up being this: starting with a high resolution polygonal model of a hand
(obtained via 3D scanning), import the mesh into RapidWorks, then transform the
mesh into a Nurbs polysurface made up of a large number of Patch surfaces,
which you can then Join and treat (for the most part) as a single surface in
Rhino. There are limitations to this, since it’s not really a single surface (my main issues were in using FilletEdge
and BlendSrf), but it’s preferable to trying to model a hand in a non-polygonal
environment.
As I type this, it occurs to me
again to explain the main reasons I prefer to model my prosthesis designs in
Rhino as opposed to Maya. The answer is that Rhino is simply the better
modeling environment for this purpose. Maya is a very strong software for animation
(and the modeling and rigging that comes with it), but has some drawbacks when
it comes to speed and fabrication. When I’m creating a prosthetic device, I can
create surfaces in Rhino in thirty minutes that would take me much longer to
create from a mesh in Maya. AND when I’m done, I can convert that model to one
of an unreasonable number of file types which can then be sent to a 3D printer,
or a laser cutter, or a water jet, or just about anything I want. So, I have a
bit of a soft spot for Rhino, even if it sometimes makes my life difficult in
regards to organic modeling.
Creating the finger surfaces consisted
of designing complementary cutting planes that I would be able to Intersect
with the patchwork polysurface, Rebuild, Pull, Rebuild, and then either
NetworkSrf or Loft to generate cleaner individual surfaces that interlock in an
offset position. ExtractIsocurve was very useful for modeling the detail pieces
into the ends of each digit. I also used Rebuild on these curves, adjusted
position of various control points, and used Pull to bring them back to the
surface so they could be used for Splitting. For the skeletal detail in the
front of the hand, I used Interpolate Curves on the surface, then custom radius
Pipes, BooleanDifference, and FilletEdge.
The edge of the palm where it
splits into two four fingers was achieved by creating a polysurface made up of
the knuckle shapes I wanted. I created the base shape, then duplicated it and
positioned/scaled them at each knuckle. I used Loft to connect them, then
FilletEdge to clean up the connections. This final surface was used to Split
the palm, and I then combined them with BooleanUnion.
The wrist wheel was created with a
half-circle, a Revolve command, a base cylinder, and a BlendSrf. The detail in
the wrist joint that creates the springy, flexible look was made using
TweenCurves and then projecting them onto the wrist surface, Rebuilding, and
then using Pipe and BooleanDifference. This transitional area needs to bend
horizontally and vertically, so the wheel wasn’t going to create the second
direction of motion. I liked the wheel aesthetically, so I kept it and combined
it with the articulating wrist section.
The arm portion was quite simple to
model, but it ended up being a very strong design, so I didn’t question the
simplicity. I pulled curves from my original mesh arm using DupEdge, Join, and
Rebuild, keeping the control point count equal in each loop. I scaled them flat
in the front view. Then, I used Loft to create the initial surface, making sure
the seam was even down the length of the arm. I readjusted this once or twice
using SrfSeam to make sure it was in a convenient place. I then used OffsetSrf
and BlendSrf to close the arm. I drew the skeletal curves using Curve
Interpolate Points in the front view, then Projected them onto the arm surface,
Rebuilt, Split, then OffsetSrf again on these smaller areas. Then I used Loft
and FilletEdge to connect and clean up the edges.
The finger joints are simple spheres
with rounded cylinders that rotate inside to create the finger hinge movement.
I made one set, Grouped it, then positioned them in alignment with each digit
using Orient. I used BooleanDifference to make them sit inside each digit
snuggly. The ball joint for the thumb was modeled with a sphere and two
cylinders that were nested inside and then BooleanDifferenced out. I capped off
the inner cylinder to make it like a bolt.
Rhino tools I learned and used during this process:
SelBadObjects
(used to find a bad object if you accidentally create one during a Save)
What (to verify
what type of object you have selected)
ExtractBadSrf
(removes and selects the portion of the object that’s bad)
ArrayLinear (an
array that lets you specify a vector for the objects to go through)
VariableBlendSrf
(creates a blend surface using intersecting
surfaces with varying radius values, trims the original surfaces faces, and
joins the resulting surfaces)
Smooth (a lot of
Maya’s smooth command – it evens out the spacing between selected control
points on a surface)
SoftEditSrf (like
using Transform with SoftSelect in Maya)
Interesting commands I investigated but didn’t end up using
in this model:
OrientOnSrf
(moves an object to bend it and align it with a surface’s Normal directions.
Kind of like a custom ShrinkWrap. It’s an interesting command that does similar
things to FlowAlongSrf)
Splop (copies, rotates, scales, and wraps objects on a surface, like pottery
sprigging or appliqué)
Twist (deforms objects by rotating them around an axis)
Maelstrom
(deforms an object in a spiral)
ModifyRadius
(changes the radius of an existing circle or arc)
Ribbon (takes a
selected curve and turns it into a ribbon with surfaces)
Materials in
Keyshot:
To continue with the theme of
anatomy and underlying structures, I used a very stark color palette made to be
reminiscent of bone and tendon. The skeletal parts of the arm and fingers are a
Metallic Paint in white. The joint wheels are an Axalta Paint in gun metal. The
highlights are a combination of deep red metallic paint and cherry bomb Axalta
Paint.
Here's a link to my presentation regarding this design, as well as Radiant (a transfemoral prosthetic device):
Here is a collection of reference images of prostheses, cosmesis, and general inspiration:
Companies I looked
into for this project:
http://armdynamics.com/
No comments:
Post a Comment