an embodiment in accordance with the present invention provides a knowledge based interior development tool , or an econfig tool , that enhances and automates the process for developing interior configurations . the tool enables configurators to easily and efficiently generate the large number of interior configurations required in the product development , sales , and customer introductions environment . additionally , the data generated by the application provides the foundation for sharing configuration data among downstream users . a full - time link to a database is established to retrieve the required input parameters and then the configuration geometry and arrangement is generated in the computer aided design system by the knowledge based interior development tool . finally , the selected rule - set is saved back to the database for future reference . specific data , such as seat and commodity locations , may also be stored in a database for future use by downstream users . the knowledge based interior development tool enables the users to easily and efficiently access and share geometry and parameter data for the development of interior designs while consistently checking and assuring compliance with certification regulations . the knowledge based interior development tool establishes a number of new approaches to interior design . the system uses a rule based approach , which allows users to select configuration requirements , or rule sets , from a series of dialog boxes . the system saves the rule set , creates the geometry of the interior , and lays out the interior arrangement , at run time , when the rule sets are chosen and / or created . the system captures knowledge , rules , and parameters in a database , and can be retrieved on demand . the interior is designed using a zonal approach , where every object in the system has a zone that defines the boundaries within which it can be placed . in a preferred embodiment , there are seven levels of zones from the layout of passenger accommodation ( lopa ) level , which represents the entire interior of the vehicle , to the monument level , which is a separate level for each individual monument , which can include galleys , lavatories and closets . zones are not defined by their location , but by relation to the neighboring zones and features of the vehicle . each zone shares boundary information with the neighboring zones and becomes the component of the parent level zone . the knowledge based interior development tool uses a database approach , whereby a full time link is established to a database holding the required parameters . the system can access the database to output the configuration rule set , the static geometry , and location data which can be accessed and utilized by downstream systems . the invention will now be described with reference to the drawing figures , in which like reference numerals refer to like parts throughout . an embodiment of the present inventive system and method is illustrated in fig1 , which illustrates the overall architecture of a system 10 . the system 10 contains a database 12 , knowledge based interior definition analysis logic 14 , a computer aided design ( cad ) system 16 , and a user interface 18 . the database 12 is stored on a computer - readable storage media , such as a hard disk drive . the analysis logic 14 , cad system 16 , and user interface 18 are also stored on storage media . in a preferred embodiment , the analysis logic 14 , cad system 16 and user interface 18 are all stored on the same storage medium as each other , but a different storage medium than the database 12 . the database 12 contains calculated interior configuration digital definitions 20 , parameters 22 , and user - defined rule - sets 24 . the parameters 22 include fixed rules that are applicable to all vehicles , or all vehicles of a particular type . these include governmental rules , industry standards , manufacturer standards , customer standards , and / or constraints based on the specific model of vehicle , or based on any specific monument to be placed within that vehicle . the system contains links so that its parts can obtain information from each other . there is a link between the calculated interior configuration digital definition 20 and the user interface 18 , so that the user can save the configuration in database format . in a preferred embodiment , the configuration is not saved as a cad file , in cad format . this format would store only the coordinate location of each object in the vehicle . instead , the configuration is saved in the database 12 , and contains the rules , parameters , and other settings that are used to create the layout . however , the parameter information in the database 12 can be exported in its native format or in a format usable by other cad systems , for use in downstream applications such as later redesign , retrofitting , or repair . there is a link between the analysis logic 14 and the calculated interior configuration digital definition 20 . the system uses this link so that the analysis logic can save changes to layout plans in the database format discussed above . there is also a link between the parameters 22 and the analysis logic 14 . the analysis logic 14 has access to the parameters 22 stored in the database 12 , so that the analysis logic 14 can apply the constraints contained in the parameters . the analysis logic 14 applies the parameters 22 to create a layout of an interior , as will be described below . the analysis logic 14 and the user - defined rule - sets 24 have links with each other in both directions . this allows the analysis logic to take rule sets created by the user and save them in the database 12 so that they can be fully accessed during a later process , and also allows the analysis logic to extract user - defined rule sets and apply them to a current layout process . the analysis logic 14 is also layered on top of the cad system 16 . this allows the analysis logic 14 to create a cad drawing of the layout , so that it can be viewed by the user in visual form , and viewed later by other users using different cad systems . the information on database 12 can be in any one of a database format and extensible markup language ( xml ) format . other formats for storage of the information on database 12 can be used . turning now to fig2 , a hierarchical diagram of zones is shown . the system according to a preferred embodiment of the present invention divides the vehicle into a number of zones . the zones are arranged in a hierarchy wherein each zone represents a smaller portion of the vehicle , and there can be one or more smaller zone inside a larger zone . fig3 a - 3g show examples of each zone . fig3 a - 3g demonstrate the zones in the context of a passenger airplane , but it should be understood by one of ordinary skill in the art that these zones are applicable to any mass transit passenger vehicle . the first zone is the layout of passenger accommodation ( lopa ) zone 26 , which is shown in fig3 a . the lopa zone is the entire passenger section of the airplane , and is bounded by the forward and aft bulkheads . all of the smaller zones are components of the lopa zone , as will be shown in the figures below . the lopa zone contains multiple zones that can be of two types . one type is the seating class zone 28 . as shown in fig3 b , the lopa zone can be divided into one or more seat class zones . examples of seat class zones are first class 30 , business class 32 , and economy class 34 . it should be understood by one of ordinary skill in the art that other seat classes can be used , including premium , economy , and tourist classes . additionally , it should be understood that some passenger vehicles may have only one seat class zone which can be commensurate in size with the lopa zone . having a passenger vehicle divided into seat class zones allows the configurator or other creators of rules to implement different rules in each seat class zone of the vehicle . examples of rules that differ between seat class zones would be the width of the seats , the distance from the front to the back of the seat , the distance between the back of one seat to the front of another ( e . g . the “ legroom ”), the amount by which the chairs are permitted to recline , and the width of aisles . the next zone in the seating branch of the hierarchy is the seating section zone 36 , which is depicted in fig3 c . the boundaries of these seating section zones are established at each door break 38 within the class zone . by dividing the class zone into seating section zones , configurators can have different rules for different segments of the plane based on the location of the doors 38 . customers or regulatory bodies may have different requirements for seating or other monuments , depending on the side of a given door on which they are located . creating separate zones for each door - to - door ( or door to end - of - plane ) segment allows configurators to implement different rules for each segment . one level lower in the seating branch of the zone hierarchy is seating area zone 40 , as illustrated in fig3 d . the seating area zones are bounded laterally at each horizontal aisle 42 . having each lateral row of seats , bounded by aisles or the sides of the plane , allows separate rules to be created for each seating area zone . once a width for a lateral zone has been established , the configurator can experiment with seat configurations , within the rules , to achieve maximum space utilization . the configuration of the seats needed to achieve maximum space utilization may be different on one side or the other or different rules may apply to center rows than apply to side rows . adding the flexibility to create different configurations based on lateral zone gives configurators the ability to better utilize space . additionally , the configurator has the option of configuring each individual seat 44 . in addition to seating class zones 28 , the lopa zone can also contain one or more service section zones 46 , as shown in fig3 e . service section zones are bounded on one or both sides by seating section zones , as depicted by the boundaries 48 . service section zones are those areas of the vehicle where service monuments are stored . service monuments include galleys ( or kitchens ), lavatories , and closets . having a zone for the commodity section as a whole , in addition to smaller zones therein ( described below ) allows the configurator to adjust the size of the zone as a whole , in relation to the seating sections , without regard to which particular type of commodity is contained within the zone . also , regulatory bodies and / or customers may have rules regarding commodity zones generally , which can more easily be applied with this more generic zone . the next zone in the service branch of the zone hierarchy is the service area zone 50 , as depicted in fig3 f . much like seating area zones 40 , service area zones 50 are separated by aisles . as depicted with the boundaries 52 , service area zones 50 are bounded by seating area zones 40 . as shown in fig3 f , the preferred embodiment uses three service area zones 50 for each service section zone 46 : a left service area 54 , a center service area 56 , and a right service area 58 . one level lower in the service branch of the zone hierarchy is the monument zone 60 , as illustrated in fig3 g . the monument zone 60 is defined by the boundaries of each individual monument , such as a lavatory , a galley , or a closet 62 . regulatory agencies or customers could impose rules that a lavatory or galley must have a minimum area , or length or width , or that a galley must , for safety reasons , be surrounded by a certain amount of unused space . these details can be handled with rules that affect the individual monument zones . additionally , a configurator can add or configure individual components 64 within a particular monument zone . because the system uses the zonal approach , a configurator is able to impose rules that affect the entire vehicle , or different portions of the vehicle based on the zone of the portion the configurator would like to change . some rules have wide - ranging applicability , applying to the entire lopa zone , including regulations regarding the width of cross - aisles or the number of lavatories . other decisions will be based on the class of service , including the dimensions of the seats , and the distance separating them . still other decisions may be based on the cabin zone within a class , including exit - row requirements . some decisions can apply on a lateral level , including the number of seats in a row . certain decisions , like the distance between a commodity and a seat , will be governed at the commodity section level . finally , other decisions may be based on the individual component itself , such as the layout of the inside of a lavatory . the ability to apply these rules at these different levels further automates the design process . turning now to fig4 , the iteration flow logic of a preferred embodiment of the present invention is shown . the configurator , when interacting with the user interface of the system , is given a number of options to change the layout of the vehicle , by changing rules for different zones , or for individual seats or rows of seats . in a preferred embodiment , there are three major categories of change that can be made to a layout by a configurator . one change a configurator can make to the layout of a vehicle is to change a seating section 66 . the configurator can change a seating section by changing any of the properties of seats in that section . for example , the configurator can change the width of the seats in a given section , the pitch of the seats in a given section , or the recline distance of all seats in a given section . it should be noted that these global changes can be made in the seat class model zone , the cabin segment zone , or the lateral zone , allowing the configurator to change the seat dimensions for larger or smaller groups of seats . additionally , the configurator can change a single row of seats , or a single seat . for instance , in a preferred embodiment , the configurator can ask the system how an extra row of seats can be added to the configuration . the system may inform the user that , if the user reduces the reclining distance of one row by a certain number of inches , an additional row of seats can be added . the configurator &# 39 ; s decision to make that individual change triggers the “ change seating section ” logic 66 . once the configurator has decided to change a seating section , the software executes the portion of the code that arranges the seating 68 . this code is able to rearrange the seating area to take the change into account . the code in this section implements the change specified by the user , and then updates the remainder of the seating section to take that change into account . because all of the components are inter - related through zones and awareness of boundaries , the update is completed automatically . following the example above , if the configurator reduces the recline distance of the seats in the last row by one inch , enough space may be freed up behind that row to insert another row of seats . the system knows this because the code is programmed to insert rows of seats behind other rows of seats if another monument ( or the aft bulkhead ) is not in the way . thus , by changing the attributes of one row of seats , another row of seats is added automatically . after the seating has been arranged to reflect the configurator &# 39 ; s change , control is passed to the section of code responsible for the function of updating the service section laterally 70 . here , the software checks if a lavatory or a galley ( i . e . a “ service area ”) may be able to be expanded as a result of an update initiated by the user . if a lavatory or galley is preexisting , and no seats can be added , the system may expand the existing service area rather than leave the space adjacent to it unused . after these updates are made , the lopa is regenerated , with new coordinate data being passed calculated and passed to the cad system , and the lopa is redrawn 72 . a configurator can also decide to make a change to a passage 74 . a passage is an empty space where people or equipment can travel , including a passageway or a cross - aisle . a cross - aisle is an aisle of lateral orientation , and usually exists near the doors of the vehicle . in the case of passenger airplanes regulated by the united states federal aviation administration , every pair of doors must be accompanied by a cross - aisle of at least 20 inches in width . manufacturers or customers may have requirements of wider cross - aisles . also , there may be a requirement that a cross - aisle be wider if it is bordered on either side by a galley or a lavatory . subject to these constraints , however , a configurator has some leeway in locating passages within the vehicle . if a passage is changed , the software determines whether the passage has been moved or resized 76 . if the passage has not been moved or resized , but has changed in some other way , the software passes control to the seating arrangement code 68 . as described above , this code rearranges the seating based on the change made to the configuration — in this case the change to the passage . when the seating has been rearranged , the code passes control to the code used to update service section laterally 70 . as described above , this updates a service section based on any seating change , and also based on the passage change . when this update is completed , control is passed to the lopa reconfiguration code 72 , which recalculates all of the coordinate data and redraws the lopa . the code then returns . if the passage has been moved or resized , control is passed to the code for updating a service section longitudinally 78 . this code is responsible for checking if a service section — a galley or a lavatory — needs to be updated as a result of the moving or resizing of a passage . because the data representing the service section has links to the data representing the passage , and knows where its boundaries are , the code is able to determine if a service section is affected by a change in a passage . for example , if a configurator decides to expand a cross - aisle beyond the required distance , a galley bordering that cross - aisle may need to be moved forward or backward , depending on the direction of the change in the cross - aisle . after the service sections bordering or otherwise affected by the moved or resized passage have been updated 78 , control is passed to the code for arranging seating 68 . as described above , this code rearranges the seating based on the change made to the configuration — in this case the change to the passage . when the seating has been rearranged , the code passes control to the code used to update service section laterally 70 . as described above , this updates a service section based on any seating change , and also based on the passage change . when this update is completed , control is passed to the lopa reconfiguration code 72 , which recalculates all of the coordinate data and redraws the lopa . the code then returns . in addition to changing seating sections or passages , a configurator can also be presented with the option of changing a service section itself 80 . as noted above , a service section is usually either a galley or a lavatory , though a closet or any other monument can also be considered a service section . when the configurator has changed a service section , the code checks if the service station has been moved or resized 82 . one way to change a service station without moving or resizing it is to re - arrange the items inside it . for example , the orientation of a commode or a sink within a lavatory can be changed without moving or resizing the lavatory itself . if the service section has not been moved or resized , the system passes control to the code responsible for updating the service section laterally 70 . when this update is completed , control is passed to the lopa reconfiguration code 72 , which recalculates all of the coordinate data and redraws the lopa . the code then returns . if the service section has been moved or resized , the system passes control to the section of code responsible for updating a passage in response to the change in the service section 84 . for example , if a galley is added to the lopa adjacent to a cross aisle , the cross - aisle must be extended to comply with safety regulations or customer rules requiring wider cross - aisles if they are bordered by a galley . this code updates the data for the passage that needs to be changed as a result of the change to , or addition or deletion of , a service section . after updating the passage , the system asks if the update to the passage was a move or a resize , or whether it was some other type of update 76 . as described above , if the passage has not been moved or resized , the seating may need to be arranged 68 , which may result in a need to update a service section laterally 70 . when this update is completed , control is passed to the lopa reconfiguration code 72 , which recalculates all of the coordinate data and redraws the lopa . the code then returns . if the passage has been moved or resized , this triggers a longitudinal update to a service section 78 , which may be another service section affected by the original change to a service station . after this has completed , control is passed to the code for arranging seating 68 , which passes control to the code for updating a service section laterally 70 . when this update is completed , control is passed to the lopa reconfiguration code 72 , which recalculates all of the coordinate data and redraws the lopa . the code then returns . because of the automated nature of the system , updates can be concluded in a much shorter amount of time than was previously possible . this allows for live configuration during a demonstration to a customer , which was impractical with longer configuration times . the present invention includes a computer aided method that is designed to use specially designed intelligent 3d graphics to place airplane commodities in the airplane interior per regulatory agency / company requirements . the logic is defined such that geometry is given an attribute value of its state . ‘ hard ’ and ‘ soft ’ geometry states are applied using rules . these rules define the relationship between hard and soft geometry , even specific to the commodity itself . for example , two hard geometries cannot collide , yet two soft geometries may . however , sometimes there are unique circumstances which override these basic rules per the commodity geometry . this logic can be applied to any kind of object . once a commodity &# 39 ; s geometry is given , its state and any exceptions are recorded , the software tool need not be altered to be able to place this commodity . this is a huge benefit in time and resources . all permutations of where a commodity may and how it can be placed are non - incidental . this logic removes the doubt if all solutions are found and programmed . the present invention provides the placement of commodities with the best solution . in addition , there is a reduction of time , resources and cost needed to place all commodities by eliminating the need of extensive permutation definition . all permutations can be resolved using the technique of the present invention . the software - programmed code does not need to be modified when new commodities are added or revised . the logic can be re - used for any computing application that uses 3d spatial placement . this method can be modified to be used in the 2d space as well . also , the software code can be re - used , not dependent on the images provided . the technique of the present invention works for example within a computing tool . its purpose is to provide a new and accurate way to place objects , which will be used , in a 3d ( three - dimensional ) space . the structure of this design is described in the following description . its purpose is to accurately define the configuration of objects in a spatial design , i . e ., what can go where , given the geometry , which defines its spatial placement requirements . all geometry is given a state attribute of either ‘ hard ’ or ‘ soft ’ geometry . ‘ hard ’ geometry are objects , which are physical in nature . for example , in a hard geometry , one cannot walk through the hard geometry . ‘ soft ’ geometry , on the other hand , is a defined space , which is a stay - out area for other objects . this is because the space will be used for physical object interaction , e . g ., opening a door space , pulling out a cart space , reclining a seat back space . base rules are defined which describe where geometry states can co - exist , for example : ( a ) hard to hard geometry can not be in the same space ; ( b ) hard to soft geometry can not be in the same space ; and one can define exception rules based on the particular type of geometry . for example , the cushion on a seat back may collide with the head moving forward from a sitting position from the seat behind it . the cushion is a ‘ hard ’ geometry , and the headspace , or head strike is ‘ soft ’ geometry . the cushion and the headspace do not follow the basic rule ( b ) between the hard and soft geometry above , and they can be in the same space . therefore , the “ cushion geometry ” can be in the same space with “ head strike geometry ”, even though it does not follow the basic rule between hard and soft geometries . other exception rules include the fact that “ attendant geometry ” cannot be in the same space with “ attendant geometry ”. “ access aisle geometry ” cannot be in the same space with “ seat storable geometry ”. further , “ setback or pitch geometry ” cannot be in the same space with “ monument storable geometry ”. in addition , “ setback or pitch geometry ” can be in the same space with “ wall mounted geometry ”. on the other hand , “ cart pull out geometry ” cannot be in the same space with “ setback or pitch geometry ”. “ cart pull out geometry ” cannot be in the same space with “ seat storable geometry ”. all geometry needs to be created with the appropriate attributes . the present invention is not limited to the geometries that are listed in the following examples . referring to fig5 , the aft facing galley includes the collision attributes of the envelope geometry 110 , which has a base rule attribute of a hard geometry . also illustrated is the workspace aisle geometry 112 with a base rule attribute of a soft geometry . additionally , the exception rule attribute for the workspace aisle geometry 112 is the monument storable geometry . therefore , the workspace aisle geometry 112 cannot be in the same space as the monument storable geometry . referring to fig5 , the forward facing portion of the lavatory is illustrated . the collision attributes on the geometry includes the envelope geometry 120 , which has a base rule attribute of a hard geometry . the access aisle 122 geometry has a base rule attribute of an access aisle geometry . furthermore , the exception rule for the access aisle 122 concerns another access aisle geometry . therefore , the access aisle geometry 122 cannot be in a space with another access aisle geometry . another illustrated geometry is the access aisle geometry 124 , which has a base rule attribute of a soft geometry . referring to fig7 , the collision attributes on the geometry include the envelope geometry 130 , the setback or pitch 132 , and the opened leg rest 134 . the envelope geometry 130 has a base rule attribute of a hard geometry , and an exception rule attribute of cushion geometry . the setback or pitch 132 has a base rule attribute of a soft geometry , while the exception rule attribute is the setback or pitch geometry . the opened leg rest 134 has a soft geometry and its exception rule is the seat storable geometry . as each commodity is placed in the space , the program uses its attributes to define if there is a collision . rules are applied for forward / aft placement or side - by - side placement . for the sake of example , only certain placement configurations and attributes are being used . the examples are designed to only show the forward / aft placement of galley to lavatory and galley to seat placements . referring to fig8 through 10 , an example of the galley to lavatory aft / forward placement is illustrated . the lavatory 140 and the aft side of a galley 150 are displayed ( step 160 ). a first geometry is moved to the space of the second geometry ( step 162 ) as seen in fig8 . therefore , while placing a lavatory 140 aft side of a galley 150 , collision checking is performed ( step 164 ). as each collision is discovered , the rules , as shown below , are used to accept or reject the placement ( step 166 ). if the placement is rejected , the commodity is moved to another location until either it cannot be placed in the defined location , or until the collision rules are satisfied as successful ( step 168 ) as seen in fig9 . the collision check is performed as follows . the collision is not allowed for galley envelope geometry versus lavatory envelope geometry because of the base rule of hard to hard geometry cannot be in the same space . the collision is not allowed for galley envelope geometry versus lavatory access aisle geometry because of the base rule of hard to soft geometry cannot be in the same place . the collision is not allowed with galley envelope geometry versus lavatory hard surface extra aisle geometry because of the base rule of a hard and soft geometry cannot be in the same place . with regard to the galley work space aisle geometry versus lavatory envelope geometry , the collision is not allowed because of the base rule of hard to hard geometry cannot be in the same place . however , the collision is allowed for galley work space aisle geometry versus lavatory access aisle geometry because of the base rule stating that the soft - to - soft geometry can be in the same space . additionally , collision is allowed for the same reason with regard the galley work space aisle geometry versus lavatory hard surface extra aisle geometry . referring to fig1 and 12 , another example is shown with regard galley to seat forward / aft placement . while placing a seat aft side of a galley , collision checking is performed . as each collision is discovered , the following rules are used to accept or reject the placement . if the placement is rejected , the commodity is moved to another location as seen in fig1 , until either it cannot be placed in the defined location , or until the collision rules are satisfied as successful . the collision check is performed using the following rules . the collision is not allowed for galley envelope geometry versus seat envelope geometry because of the base rule of hard to hard geometry cannot be in the same place . the collision is also not allowed for galley envelope geometry versus seat setback or pitch geometry because of the base rule of hard to soft geometry cannot be in the same place . the galley envelope geometry versus seat opened leg rest geometry would apply the base rule of hard to soft geometry not being allowed to be in the same space , and therefore , collision is not allowed . the collision is also not allowed with regard to galley work space aisle geometry versus seat envelope geometry because both geometries are hard geometry . on the other hand , with regard to galley work space aisle geometry versus seat setback or pitch geometry because of the geometries are soft , collision would be allowed , but an exception takes priority . therefore , because of the exception rule of setback or pitch geometry cannot be in the same space with monument storable geometry , the exception takes priority over the base rule , and therefore , collision is not allowed . with regard to the galley work space aisle geometry versus seat opened leg rest geometry , applying the base rule of soft - to - soft geometry , collision is allowed . however , in the example , the setback happens to be longer than the open leg rest geometry , thereby it does not affect the positioning . while placing a lavatory , there are options of geometries , which can be used , dependent upon where the lavatory is placed in relation to other objects in the airplane . from the rules , a lavatory collection of geometries may include the lavatory itself , plus an access aisle , hard surface extra aisle , or seat deflection . referring to fig1 , as seen in reference “ a ”, since the lavatory is placed next to another monument ( a hard surface geometry ) and the door is opened to this geometry , an access aisle is required , plus the hard surface extra aisle . another example shows a side - to - side placement in fig1 . the side - by - side placement uses the same logic to determine if collisions are allowed or not allowed between geometries . for the sake of example , the following rules apply to the geometries . reference “ a ” shows a collision condition where the seats needed to be moved aft to resolve the collision . no collision between the prior class seat lateral aisle geometry and the seat block geometry . reference “ b ” shows a collision condition where a smaller seat needed to be placed in order to resolve the collision . the collision between the side lavatory structure and the quad abreast seat lateral aisle collision geometry . a triple abreast seat block is selected as a substitute . reference “ c ” shows a collision condition where a smaller class divider needed to be placed in order to resolve the collision . a commodity would be placed with collision checking performed . when one was discovered , the application would reject the placement . the designer would then need to analyze the situation to see if it can be overridden . if so , programming would need to be updated to accept this collision . as the program developed , many collision rules would be defined , but not necessarily all of them . discovering new conditions where collisions were accepted would continually happen , requiring program updates . all permutations of all configurations would never be reached . the designing an aircraft interior , referred to as lopa , layout passenger accommodations , is shown only as an example and the present invention is not limited to such an example . the lopa as mentioned above are physical commodities , such as galleys , lavatories , closets and stowage bins , plus many others . also included in the lopa are non - physical objects such as walking areas ( in cross aisles and passageways ), clearance areas for doors , areas where flight attendants stand , and many other areas . placing lopa commodities and spatial areas in the airplane ( objects in 3d space ) must follow pre - defined placement and relational rules . the basic assumptions are , first , the objects are defined as 3 dimensional volumes . secondly , the objects are related to each other in 3 dimensional space . thirdly , the objects are placed in a 3d confined space so that they do not collide with one another . rules must be adhered to when placing objects ( including faa requirements ). the object placement and rules can be applied to any direction in space . the best solution is selected based on provided location ( 3d space ) and best use of space . the technique of the present invention can identify regions of overlap between objects that may be shared without conflict , thus increasing the utilization of space . the present invention focuses on a generic method for collision detection , incorporating additional graphics around a given object . these additional graphics define the ‘ stayout ’ clearance areas or reference point / plane . they are created as part of the graphic , but each ‘ stay - out ’ clearance area or reference point / plane has its own ‘ intelligent ’ data attached to it . for example , given a lavatory , there is space in front of the door that the door uses to open and close . the lavatory also has space around it , to provide walking space on the lateral sides . these two spaces are defined separately and comply with their own regulatory data requirements . this data is used to identify collision / separation of objects and optimize space based on specific collision / separation rules . logic is defined such that geometry is given an attribute value of its state . ‘ hard ’ and ‘ soft ’ geometry states are applied using rules . these rules define the relationship between hard and soft geometry , even specific to the commodity itself . for example two hard geometries cannot collide , yet two soft geometries may . however , sometimes there are unique circumstances , which override these basic rules per the commodity geometry . this logic can be applied to any kind of object . referring to fig1 , for each object , the technique of the present invention defines geometry to give a state attribute , for example , ‘ hard ’ or ‘ soft ’ geometry ( step 300 ). then , one must define base rules , which describe where geometry states can co - exist ( step 302 ). then after step 302 , the technique of the present invention defines exception rules based on the particular type of geometry ( step 304 ). for example , cushion geometry can be in the same space with head strike geometry , attendant geometry can not be in the same space with attendant geometry , access aisle geometry ” cannot be in the same space with seat storable geometry , etc . at least two commodities are placed in a three dimensional space ( step 306 ). thereafter , the position of each of the commodities are accepted or rejected based on the predefined base and exception rules , where collisions are resolved based on the base rules and the exception rules ( step 308 ). if the position is accepted for each object , then there is no change in the position ( step 310 ). however , if the placement is rejected , the commodity is moved to another location , until either it cannot be placed in the defined location , or until the collision rules are satisfied as successful ( step 312 ). the present invention can be realized as computer - executable instructions in computer - readable media . the computer - readable media includes all possible kinds of media in which computer - readable data is stored or included or can include any type of data that can be read by a computer or a processing unit . the computer - readable media include for example and not limited to storing media , such as magnetic storing media ( e . g ., roms , floppy disks , hard disk , and the like ), optical reading media ( e . g ., cd - roms ( compact disc - read - only memory ), dvds ( digital versatile discs ), re - writable versions of the optical discs , and the like ), hybrid magnetic optical disks , organic disks , system memory ( read - only memory , random access memory ), non - volatile memory such as flash memory or any other volatile or non - volatile memory , other semiconductor media , electronic media , electromagnetic media , infrared , and other communication media such as carrier waves ( e . g ., transmission via the internet or another computer ). communication media generally embodies computer - readable instructions , data structures , program modules or other data in a modulated signal such as the carrier waves or other transportable mechanism including any information delivery media . computer - readable media such as communication media may include wireless media such as radio frequency , infrared microwaves , and wired media such as a wired network . also , the computer - readable media can store and execute computer - readable codes that are distributed in computers connected via a network . the computer readable medium also includes cooperating or interconnected computer readable media that are in the processing system or are distributed among multiple processing systems that may be local or remote to the processing system . the present invention can include the computer - readable medium having stored thereon a data structure including a plurality of fields containing data representing the techniques of the present invention . an example of a computer , but not limited to this example of the computer 800 , that can read computer readable media that includes computer - executable instructions of the present invention includes a processor that controls the computer as shown in fig1 . the processor 802 uses the system memory 804 and a computer readable memory device that includes certain computer readable recording media . a system bus connects the processor 802 to a network interface 808 , modem 812 or other interface that accommodates a connection to another computer or network such as the internet . the system bus may also include an input and output ( i / o ) interface 810 that accommodate connection to a variety of other devices . furthermore , the computer 800 can output through , for example , the i / o 810 , data for display on a display device 820 . the present invention is defining stay - out areas as separate entities that are associated with collision rules . further , the present invention is using two - state attribute ( hard , soft ) to simplify base rules , allow rule coverage for all states , and identifying collision rules which allow the shared used of stay - out space , or avoids collisions to optimize object arrangement . although an example of the system is shown using a particular set of commodities , it will be appreciated that other commodities can be used as appropriate to the type of vehicle being configured . also , although the system is useful to configure the interior of passenger aircraft it can also be used to configure the interior of other passenger vehicles , including commuter or long - distance railcars , subway cars , and busses , and other configurable spaces such as auditoriums or stadiums . moreover , the present invention can be applied to not only three - dimensional space , but also to two - dimensional space . the many features and advantages of the invention are apparent from the detailed specification , and thus , it is intended by the appended claims to cover all such features and advantages of the invention , which fall within the true spirit , and scope of the invention . further , since numerous modifications and variations will readily occur to those skilled in the art , it is not desired to limit the invention to the exact construction and operation illustrated and described , and accordingly , all suitable modifications and equivalents may be resorted to , falling within the scope of the invention .