fig1 a provides an overview of the process flow 100 according to an embodiment of the invention , and fig1 b provides an overview of the system 50 according to an embodiment of the invention . the system 50 and process 100 may all be implemented by standard computer components that include a processor 90 , a display 60 , and user input devices 70 . by way of example , the processor 90 could be a networked desktop or laptop pc , the display 60 could be a traditional monitor , and the input devices 70 could include a keyboard , mouse , and the like . the various embodiments discussed below are advantageous in that they provide very simple , quick , and straightforward mechanisms for implementing the various described functions of the system . according to a preferred embodiment of the process 100 illustrated in fig1 a , a user loads 110 a work order 82 stored in a database 80 for a particular user &# 39 ; s shell into the computer system . the shell definition 84 , which is defined by data representing a three - dimensional shape , is presented 62 on the display 60 to the user . after possibly executing other operations related to the work order 82 or the shell , the user invokes 120 a software fill process 92 that is used to specify fill regions 14 of the shell . when this routine 92 is invoked , in a preferred embodiment , the shell that is displayed 62 can be rendered transparent or transluscent . next the user identifies the desired fill region 14 of the shell 130 . referring to fig2 a , in an exemplary embodiment , in order to define 140 a boundary plane 12 , the user moves a mouse 70 outside of the displayed shell 10 and draws a line ( plane ) 12 ( e . g ., by clicking and dragging the mouse 70 , by separately clicking on two endpoints , or specifying the line or endpoints in some other known manner using the user input devices ) respresentative of a plane having an axis in a direction perpendicular to the display 60 and having another perpendicular axis going through the displayed shell 10 . a portion 14 of the shell that is bounded by the plane 12 is shaded or colored with some indicia that indicates it is the defined fill region . this could be done by the use of a color , degree of transparency , or any other form of distinguishing the fill portion of the shell 10 from the non - fill portion . by default , the smallest part of the two regions bounded by the plane 12 would be selected as the fill region 14 . in order to further inspect the selected fill region 14 , the three - dimensional model of the shell 10 may be rotated on the display with the user interface of the computer so that the selected fill region can be better displayed . in fig2 b , the line 12 that was originally formed becomes a plane , and the linear intersection line becomes an ellipse or other shape 16 defined by the intersection of the plane 12 and the shell 10 as specified by the user . as indicated above , the fill region 14 can either default to the smaller of the split shell regions , or the user can be required to select the region 150 . in either case , however , the non - selected region can be chosen , e . g ., by clicking the mouse 70 over the non - selected region , as the selected region by the user via the user interface , if desired . furthermore , if the user is not satisfied with the position 160 of the plane 12 , the user can repeat the steps described above to specify the new position of the filled area 14 . the user interface can be designed so that the drawing of a further line 12 removes the region selected by the drawing of a previous line 12 . when the user is satisfied with the position of the filling plane 12 , the user can provide some confirmation 170 , via the user interface , indicating that this is the actual desired fill region 14 . for example , the user can click a “ fill ” button 68 presented on the display 60 . this provides an indication to the software 92 that the indicated region 14 should be the fill region , and this fill region is identified by data on the system representative of the three - dimensional fill region . although any form of such an indication could be provided , a one - mouse - button click provides , in a preferred embodiment , a very simple and easy mechanism for performing this function . the software may comprise a routine 93 that ensures all surfaces forming the internal shape of the shell are removed in the area where filling is applied . these surfaces include all surfaces in the region 14 except outer shell surface , inner venting channel surface and the selective fill plane . if the line 12 for selection of the fill plane 12 as drawn by the user intersects the shell 10 more than two times , an individual fill plane 12 can be created for each intersection . changes of the part selected for filling on one of the selective fill planes can automatically change the filling part 14 in all other filling planes 12 . if the line 12 for selection of the selective fill plane 12 as drawn by the user doesn &# 39 ; t intersect the shell more than one time , but if a logical continuation of this line 12 does intersects the shell 10 more than one time , the fill plane ( s ) 12 located on the logical continuation of the line can be ignored . this process could be repeated to define multiple fill regions 14 for the shell 10 , and the multiple fill regions 14 so defined could either be displayed simultaneously or individually . a selectable display option could be provided so that the current , all , or some ( defined by a user selection ) of the fill regions are displayed . in further embodiments of the invention , the fill boundary can take on more complex shapes , e . g ., spheres , ellipsoids , or any other three - dimensional surface shapes . standard computer aided drafting ( cad ) techniques could be used to define more complex boundary shapes . a reset function can be provided , e . g ., by way of a reset button 66 , so that any or all of the selective fill regions 14 defined can be removed . the selective fill routines 100 should be able to take into account some critical parts of the inner shell topology of the shell and avoid applying selective fill operations , which could damage the critical parts of the inner shell topology . these critical parts of the inner shell topology can be for example any kind of suspension systems integrated into the shell . in the event that a fill region 14 has been defined , and subsequent modifications have been performed on the shell shape , the software has a mechanism 64 for alerting the user that the fill region 14 may need to be modified . by way of example , this could be done by a “ traffic light ” display element 64 having , e . g ., red , yellow , and green light elements . a red light would indicate that the shell shape has been modified and that the selective fill process should be performed again to accommodate any changes affecting the fill region 14 . a status bar 63 could provide some explanatory text , such as , “ changes in the previous functions have invalidated the selective fills . please either press reset to confirm that selective fills are not needed or make new selective fills .” the user could then either press reset 66 to confirm that selective fills are not needed or make new selective fills . on pressing reset 66 , the traffic light element 64 could become yellow . the traffic light element 64 can be added to a procedure dialog or toolbar of the display 90 or elsewhere . after each ( re -) selection of the area selected to be filled , the traffic light 64 should show whether this selection is allowed . various other rules 95 may be utilized in the software for ensuring that only permissible fills are implemented . for example , if the area selected for filling contains the receiver hole , then the “ fill ” button 68 should be disabled , and an explanatory message can be provided in the status bar 63 . if the area selected for filling 14 contains the complete opening of the shell , then the “ fill ” button 68 should be disabled , and an explanatory message can be provided in the status bar 63 . if the tip of the shell contains any openinings in addition to the standard opening on the bottom of the shell and the area selected for the filling 14 contains any part of the opening ( s ) on the tip of the shell , the “ fill ” button 68 should be disabled , and an explanatory message can be provided in the status bar 63 . as illustrated in fig3 a , if the area for filling 14 is selected and the selective fill plane 12 intersects the opening 19 on the bottom of the shell , then the plane 13 , which defines the bottom of the shell 10 , can be used for closing the selective fill plane contour 16 and for the filling operation as the additional boundary of the filled part 14 . this case can happen in the case where a non - semi - modular shell is built , as illustrated by fig3 a . for a semi - modular shell , as illustrated in fig3 b , if the area for filling 14 is selected and the selective fill plane 12 intersects the faceplate opening 18 geometry , then the “ fill ” button 68 should be disabled , and an explanatory message can be provided in the status bar 63 . if selective fill plane does not intersect the faceplate opening , then selective fill can be allowed . this design does not allow use of the cutting plane 12 for the selective fill operation . in the case where the selective fill area 14 has the shell material everywhere except the selective fill plane 12 itself , then selective fill should be allowed . when the selective fill area 14 has some areas , where it borders neither shell material nor the selective fill plane 12 ( like in the case when the selective fill plane 12 intersects the faceplate , opening 18 ), then a fill should not be allowed . if the area seleted for filling 14 contains any of floating components ( such as , but not limited to a receiver , hearing aid electronics , hybrid , wl coil , etc . ), then the “ fill ” button 68 could be disabled , and an explanatory message can be provided in the status bar 63 . various preferences on how the final fill region should be can be provided in the software via , e . g ., a configuration edit dialog or preferences table 86 . for example , a selective filling color or degree of transparency for rendering the part 14 of the shell 10 selected for filling may be specified in preferences 86 . the preferences table 86 can also indicate whether the receiver , faceplate , electronics , and wireless coil are rendered in the display 60 or not by default , and it is also possible to indicate in the preferences table 86 whether a grid is rendered on the display 60 by default in the procedure 92 . in further developments , a feature recognition routine 96 , such as that disclosed in u . s . application ser . no . 11 / 347 , 151 , herein incorporated by reference , may be used to automatically or assist in identifying the shell fillable areas such as helix , canal , anti - tragus , and to automatically fill these area on the device basis . for the purposes of promoting an understanding of the principles of the invention , reference has been made to the preferred embodiments illustrated in the drawings , and specific language has been used to describe these embodiments . however , no limitation of the scope of the invention is intended by this specific language , and the invention should be construed to encompass all embodiments that would normally occur to one of ordinary skill in the art . the present invention may be described in terms of functional block components and various processing steps . such functional blocks may be realized by any number of hardware and / or software components configured to perform the specified functions . for example , the present invention may employ various integrated circuit components , e . g ., memory elements , processing elements , logic elements , look - up tables , and the like , which may carry out a variety of functions under the control of one or more microprocessors or other control devices . similarly , where the elements of the present invention are implemented using software programming or software elements the invention may be implemented with any programming or scripting language such as c , c ++, java , assembler , or the like , with the various algorithms being implemented with any combination of data structures , objects , processes , routines or other programming elements . furthermore , the present invention could employ any number of conventional techniques for electronics configuration , signal processing and / or control , data processing and the like . the particular implementations shown and described herein are illustrative examples of the invention and are not intended to otherwise limit the scope of the invention in any way . for the sake of brevity , conventional electronics , control systems , software development and other functional aspects of the systems ( and components of the individual operating components of the systems ) may not be described in detail . furthermore , the connecting lines , or connectors shown in the various figures presented are intended to represent exemplary functional relationships and / or physical or logical couplings between the various elements . it should be noted that many alternative or additional functional relationships , physical connections or logical connections may be present in a practical device . moreover , no item or component is essential tot he practice of the invention unless the element is specifically described as “ essential ” or “ critical ”. numerous modifications and adaptations will be readily apparent to those skilled in this art without departing from the spirit and scope of the present invention .