Prosecution Insights
Last updated: July 17, 2026
Application No. 18/023,833

METHOD AND SYSTEM FOR PERFORMING CLEARANCE ANALYSIS OF A PRODUCT ASSEMBLY IN A COMPUTER AIDED-DESIGN (CAD) ENVIRONMENT

Non-Final OA §101§103§112
Filed
Feb 28, 2023
Priority
Aug 31, 2020 — nonprovisional of PCTUS2020048807
Examiner
WHITE, JAY MICHAEL
Art Unit
3622
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Siemens Aktiengesellschaft
OA Round
1 (Non-Final)
33%
Grant Probability
At Risk
1-2
OA Rounds
8m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants only 33% of cases
33%
Career Allowance Rate
4 granted / 12 resolved
-18.7% vs TC avg
Strong +100% interview lift
Without
With
+100.0%
Interview Lift
resolved cases with interview
Typical timeline
4y 1m
Avg Prosecution
23 currently pending
Career history
46
Total Applications
across all art units

Statute-Specific Performance

§101
1.7%
-38.3% vs TC avg
§103
82.6%
+42.6% vs TC avg
§102
13.2%
-26.8% vs TC avg
§112
2.5%
-37.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 12 resolved cases

Office Action

§101 §103 §112
CTNF 18/023,833 CTNF 100655 DETAILED ACTION Claims 1-20 are presented for examination. This action is made in response to the communication filed March 22, 2023. Claims 1-20 are rejected under 35 USC 101 as ineligible. Claims 1-20 are rejected under 35 USC 112(a) as lacking written description and enablement. Claims 1-20 are rejected under 35 USC 112(b) as indefinite. Claims 1-3, 9-10, 11-13, and 19-20 are rejected under 35 USC 103 over Klosowski and Schnaars. Claims 4-8 and 14-18 are rejected under 35 USC 103 over Klosowski, Schnaars, and Qi. Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Examiner Note On Contingent Limitations Claims 4, 6-7 include method steps that are contingent on conditions that may not be satisfied. Under the broadest reasonable interpretation, these features have no patentable weight. For purposes of compact prosecution, art has been applied to these limitations. However, the Applicant should consider amending these method claim features to ensure the conditions are satisfied in the claim in order to the limitations to be given patentable weight at litigation. This does not apply to the coupled “if” limitations that provide alternative conditions, one of which must be satisfied. This also does not apply to the analogous apparatus claims, as the configuration to conduct the condition exists whether or not the step is ever carried out. See MPEP 2111.04(II). Specifically, the following are the claim limitations that currently carry no patentable weight: Claim 4 – “if the predicted clearance analysis cost is less than or equal to the threshold clearance analysis cost, decomposing the bounding box into at least two equal-sized bounding boxes along cartesian coordinate axes;” Claim 6 – “if there are no components remaining in the flat list, storing information associated with the bounding boxes in a partition database.” Claim 7 – “if there are one or more components remaining in the flat list, generating a bounding box for the remaining components in the flat list of components;” This is neither a rejection nor an objection, just a suggestion. Claim Rejections - 35 USC § 112(a) 07-30-01 AIA The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112: The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention. Written Description 07-31-01 Claims 1-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Unique Identifiers of Components In Request Claims 1 and 11 were amended to recite, “wherein the request comprises an unique identifier of each component of the product assembly” and “obtain product data associated with the components of the product assembly from a product data management (PDM) database based on the unique identifier of the components of the product assembly. “ The specification only discloses unique identifiers for the components in a flat list ( See Specification Paragraph [0045]-[0046]). There is no teaching that the unique identifiers in the flat list are used for anything. There is no support in the specification for these limitations that include unique identifies of the components themselves in data retrieval requests, so these limitations are new matter. Timing And Costs of Clearance Workers Claims 1 and 11 were amended to recite, “wherein, based on the partitioning strategy, each clearance worker of the plurality of clearance workers takes a substantially same amount of compute time to evaluate the clearance, such that an overall time, cost, or time and cost for performing the clearance analysis is reduced.” These are ends to be achieved without specifying the means by which the claims achieve the ends. However, the specification does not provide even a single example of how to accomplish these ends, let alone a sufficiently broad disclosure of examples to show possession of the entire genus of possibilities of how to accomplish these ends. Accordingly, under MPEP 2161.01(I), the claims, as amended, lack sufficient written description. NOTE: For purposes of examination, these features will be interpreted to be covered by any processor that could potentially accomplish the claimed ends, which likely includes any processor that can parallelize operations or otherwise load-balance (e.g., a GPU, multi-core processor, multi-thread processor, and/or multi-processor, server, processor network, combinations of CPUs and graphics processers, etc.). Dependent claims that depend from rejected claims are rejected based on their dependency. Enablement 07-31-02 AIA Claim s 1-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA), first paragraph, as failing to comply with the enablement requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to enable one skilled in the art to which it pertains, or with which it is most nearly connected, to make and/or use the invention. Timing And Costs of Clearance Workers Similar to the written description rejection, the recitation in claims 1 and 11 of “wherein, based on the partitioning strategy, each clearance worker of the plurality of clearance workers takes a substantially same amount of compute time to evaluate the clearance, such that an overall time, cost, or time and cost for performing the clearance analysis is reduced,” is not limited to any particular structure for performing the recited function. Because the claims include within their scope all possible devices and structures for achieving the functional results recited in the claim, the specification does not and cannot possibly contemplate, let alone enable, the scope of the claims. Because the scope of the claim is not reasonably supported by the specification, under MPEP 2161.01(III), the claims are not enabled. Further, the specification fails to provide any guidance as to how the limitation, “wherein, based on the partitioning strategy, each clearance worker of the plurality of clearance workers takes a substantially same amount of compute time to evaluate the clearance, such that an overall time, cost, or time and cost for performing the clearance analysis is reduced” is accomplished. When assessing the Wands factors for enablement, the following are the most relevant considerations: (E) The level of predictability in the art – For this limitation, the partition are supposed to be variably sized, and it is unclear how one would ensure that the distribution of elements to clearance workers would ensure they take the same amount of time to process the partitions and reduce overall processing time relative to something unspecified. (F) The amount of direction provided by the inventor: The inventor provides no guidance in the specification as to how to accomplish this limitation. (G) The existence of working examples – There are no working examples in the specification. (H) The quantity of experimentation needed to make or use the invention based on the content of the disclosure – The specification provides no guidance at all as to what constitutes a clearance worker (merely stating in paragraph [0052] that, in an embodiment, the workers run on container clusters and that they are configured to reduce redundancy without specifying what the workers themselves are), let alone how the clearance workers operate or ensure that the computational time for processing the variable-sized partitions is substantially equal and reduce the overall time of processing relative to an unknown standard. Therefore, this limitation is not enabled. Clearance Analysis Cost Determination Claims 4-8 and 14-18 use clearance analysis cost as features, but the specification provides little guidance as to how the cost is determined and how one would determine an appropriate threshold for the cost. The most relevant Wands factors are: (F) The amount of direction provided by the inventor: The inventor provides no guidance in the specification as to how to determine clearance analysis costs and thresholds therefore other than a recitation in paragraph [0060] that, At act 506, the clearance analysis cost for evaluating clearance of the product assembly in the bounding box is predicted using a trained machine learning model. The predicted clearance analysis cost is a function of geometric complexity and location of components in the product assembly. In an embodiment, a feature vector is generated from properties associated with each component pair in the product assembly. The feature vector includes a size of the bounding box, a count of geometric entities in each component, geometric properties of a pair of components (e.g., area, perimeter, and type of geometries (analytic faces, non-analytic faces, etc.)). The feature vector is inputted to the trained machine learning model (e.g., a random forest model). The machine-learning model is trained using a feature vector of different component pairs. The clearance analysis cost computed by the machine learning model is compared with expected clearance analysis cost. The machine learning model is a black box that is trained, through supervised learning, to output a label. However, the Applicant has provided no meaningful standard for determining what scores would be assigned to what input feature vectors. That is, it is unclear from the specification how to determine the relationship between features of the components and the computational cost for determining clearance. This is not readily known in the art. The guidance provided is insufficient. (G) The existence of working examples – There are no working examples in the specification. (H) The quantity of experimentation needed to make or use the invention based on the content of the disclosure – The specification provides limited guidance as to the relationship between the parameters of the components and a predicted computational cost for the clearance determination. This is complicated by the fact that one must go through a number of inferences to arrive a computational cost from dimensions or other data of components in a product assembly. It is clear that a significant amount of experimentation would be needed to arrive at an objectively meaningful predicted computational cost for a given set of properties of the components. Further still, not a single example was provided, so it is clear that the whole scope of predicting a computational cost based on components of the assembly is not enabled. Therefore, these limitations are not enabled. Dependent claims that depend from rejected claims are rejected based on their dependency. Claim Rejections - 35 USC § 112(b) 07-30-02 AIA The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. 07-34-01 Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Reduced Claims 1 and 11 recite, “ such that an overall time, cost, or time and cost for performing the clearance analysis is reduced .” However, the claim does not describe relative to what time and/or cost are “reduced” by the limitation or what “overall” means. This limitation is a relative term of degree, so a person of ordinary skill in the art would not be able to discern the metes and bounds of the limitation. Timing And Costs of Clearance Workers Similar to the written description rejection, the recitation in claims 1 and 11 of “wherein, based on the partitioning strategy, each clearance worker of the plurality of clearance workers takes a substantially same amount of compute time to evaluate the clearance, such that an overall time, cost, or time and cost for performing the clearance analysis is reduced,” is not limited to any particular structure for performing the recited function, and it leaves the person of ordinary skill in the art in doubt as to what elements would infringe on this limitation, Accordingly, a person of ordinary skill in the art would not be able to discern the metes and bounds of the limitation. Dependent claims that depend from rejected claims are rejected based on their dependency. Claim Rejections - 35 USC § 101 07-04-01 AIA 07-04 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed subject matter is directed to an abstract idea without significantly more. The claims recite mental processes that are capable of being performed in the mind and/or with the aid of pen and paper and are also mathematical concepts, abstract ideas. Independent Claims Claim 11 (Statutory Category – Machine) Step 2A – Prong 1: Judicial Exception Recited? Yes, the claims recite mental processes, which are abstract ideas. Claim 11 recites: iteratively decompose a product space comprising the product assembly in the CAD environment into a plurality of variable-sized partitions based on the product data and a partitioning strategy ; ( Mental Process – The decomposition of a space in an environment into a plurality of partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea). select one or more variable-sized partitions for evaluating clearance between the components in the product assembly from the plurality of the variable-sized partitions; and ( Mental Process – Selecting one or more partitions among a plurality of partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea). evaluate […] clearance between the components in the selected variable-sized partitions , ( Mental Process – Selecting one or more partitions among a plurality of partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea). Claim 16 recites mental processes and mathematical concepts, which are abstract ideas. Claim 11 recites an abstract idea. Step 2A – Prong 2: Integrated into a Practical Application? No. Claim 11 recites the following additional limitations: A data processing system for performing clearance analysis of a product assembly in a computer-aided design (CAD) environment, comprising: a processing unit; and a memory unit communicatively coupled to the processing unit, wherein the memory unit comprises a clearance analysis module configured to: […] […] by a plurality of clearance workers […] […] wherein, based on the partitioning strategy, each clearance worker of the plurality of clearance workers takes a substantially same amount of compute time to evaluate the clearance, such that an overall time, cost, or time and cost for performing the clearance analysis is reduced . The use of a processor and memory with instructions that parse operations between sub-processors/cores to parallelize operations are generic computing operations recited at a high level, which, under MPEP 2106.05(f), fail to integrate the abstract idea into a practical application. The specific data processed also merely limits the abstract idea to a particular technological environment, which, under MPEP 2106.05(h), fails to integrate the abstract idea into a practical application. receive a request for evaluating clearance between components of a product assembly in a CAD environment from a user device, wherein the request comprises an unique identifier of each component of the product assembly; obtain product data associated with the components of the product assembly from a product data management (PDM) database based on the unique identifier of the components of the product assembly; This is mere data gathering akin to the MPEP 2106.05(g) examples: “i. Performing clinical tests on individuals to obtain input for an equation” “v. Consulting and updating an activity log, Ultramercial, ” “i. Limiting a database index to XML tags” “iii. Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display.” Accordingly, this is extra-solution activity and fails to integrate the abstract ideas into a practical application. The specific data used in this and other elements also merely limit the abstract idea to a particular technological environment, which, under MPEP 2106.05(h), fails to integrate the abstract idea into a practical application. Claim 11 fails to recite any additional limitations that integrate the abstract idea into a practical application. Claim 11 is directed to the abstract idea. Step 2B: Claim provides an Inventive Concept? No. Claim 11 recites the following additional limitations: A data processing system for performing clearance analysis of a product assembly in a computer-aided design (CAD) environment, comprising: a processing unit; and a memory unit communicatively coupled to the processing unit, wherein the memory unit comprises a clearance analysis module configured to: […] […] by a plurality of clearance workers […] […] wherein, based on the partitioning strategy, each clearance worker of the plurality of clearance workers takes a substantially same amount of compute time to evaluate the clearance, such that an overall time, cost, or time and cost for performing the clearance analysis is reduced . The use of a processor and memory with instructions that parse operations between sub-processors/cores to parallelize operations are generic computing operations recited at a high level, which, under MPEP 2106.05(f), fails to combine with the other elements of the claim to provide significantly more than the abstract idea that would be indicative of an inventive concept at Step 2B. The specific data used also merely limits the abstract idea to a particular technological environment, which, under MPEP 2106.05(h), fails to combine with the other elements of the claim to provide significantly more than the abstract idea that would be indicative of an inventive concept at Step 2B. receive a request for evaluating clearance between components of a product assembly in a CAD environment from a user device, wherein the request comprises an unique identifier of each component of the product assembly; obtain product data associated with the components of the product assembly from a product data management (PDM) database based on the unique identifier of the components of the product assembly; This is well-understood, routine, and conventional (WURC) activity akin to the MPEP 2106.05(d) examples: “iii. Electronic recordkeeping” “iv. Storing and retrieving information in memory” “v. Electronically scanning or extracting data from a physical document” “i. Determining the level of a biomarker in blood by any means “ “v. Analyzing DNA to provide sequence information or detect allelic variants” “vi. Arranging a hierarchy of groups, sorting information, eliminating less restrictive pricing information and determining the price.” Because these limitations are WURC, they fail to combine with the other elements of the claim to provide significantly more than the abstract idea that would confer an inventive concept. The specific data used in this and other elements also merely limit the abstract idea to a particular technological environment, which, under MPEP 2106.05(h), fails to combine with the other elements of the claim to provide significantly more than the abstract idea that would be indicative of an inventive concept at Step 2B. The additional limitations fail to combine with the other elements of the claim to provide significantly more than the abstract idea that would confer an inventive concept. Claim 11 is ineligible. Regarding claim 1, claim 1 substantially recites the method the system of claim 11 is configured to execute, so claim 1 is rejected for at least the same reasons as claim 11. Claim 1 is ineligible. Dependent Claims Dependent claims 2-10 and 12-20 are also ineligible for the following reasons. Claims 2 and 12 wherein in iteratively decomposing the product space comprising the product assembly in the CAD environment into the plurality of variable-sized partitions, the clearance analysis module is configured to: generate a flat list of the components in the product assembly based on the product data, wherein the flat list of the components comprises information related to unique identifier of each component, location of each component in the product space, and bounding box associated with each component; compute a bounding box for the product assembly in the product space based on the flat list of components in the product assembly; and iteratively decompose the bounding box comprising the product assembly in the product space into the plurality of variable-sized partitions. As demonstrated, the iteratively decomposing step is a evaluation, a mental process, an abstract idea. The sub-steps of computing bounding boxes for components and iteratively decomposing bounding boxes into variable size partitions is practically performable in the mind or with the aid of pen and paper, so the steps are evaluations, mental processes, abstract ideas. The generate step is mere data gathering and is extra-solution activity and WURC for the same reasons as the receiving and obtaining steps of the independent claim, so the generate step fails to confer eligibility for the same reasons. Claims 2 and 12 fail to provide any additional limitations that confer eligibility. Claims 2 and 12 are ineligible. Claims 3 and 13 wherein in iteratively decomposing the bounding box comprising the product assembly in the product space into the plurality of variable-sized partitions, the clearance analysis module is configured to: As demonstrated, the iteratively decomposing step is a mental process, an abstract idea. The clearance module is a generic computing element that fails to confer eligibility for the same reasons as the generic computing elements of the respective independent claim. decompose the bounding box into two equal sized bounding boxes along each cartesian coordinate axis; Dividing a bounding box in two relative to axes is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determine a direction along which the two equal sized bounding boxes is to be sub-divided based on maximum objective function value associated with the cartesian coordinate axes; Determining a direction along which the two equal sized bounding boxes is to be subdivided based on a maximum objective function value associated with the cartesian coordinate axes is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. divide the two equal-sized bounding boxes along the determined direction into a number of variable-sized partitions; Dividing the equal sized bounding boxes along the determined direction into a number of variable-sized partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determine whether the number of components in any of the variable-sized partitions is greater than the pre-defined number of components; Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if the number of components in any of the variable-sized partitions is greater than the pre-defined number of components, repeat the steps of decomposing, determining, dividing, and determining till the number of components in each variable-sized partition is less than or equal to the pre-defined number of components; and Repeating existing steps fails to confer eligibility for the same reasons the steps failed to confer eligibility the first time around. if the number of components in any of the variable-sized partitions is not greater than the pre-defined number of components, store information associated with the variable-sized partitions in a partition database. Storing determined data in a location is a generic computing operation and fails to confer eligibility for the same reasons as the generic computing elements of the independent claims. Further, storage of data is insignificant extra-solution activity similar to the MPEP 2106.05(g) examples: “v. Consulting and updating an activity log” “iii. Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display” “ii. Printing or downloading generated menus.” The storage of data is also WURC similar to the 2106.05(d) examples: “i. Receiving or transmitting data over a network” “iii. Electronic recordkeeping” “iv. Storing and retrieving information in memory” “vi. Arranging a hierarchy of groups, sorting information, eliminating less restrictive pricing information and determining the price.” For at least these reasons, claims 3 and 13 fail to recite additional limitations that confer eligibility. Claims 3 and 13 are ineligible. Claims 4 and 14 wherein in iteratively decomposing the bounding box comprising the product assembly in the product space into the plurality of variable-sized partitions, the clearance analysis module is configured to: As demonstrated, the iteratively decomposing step is a mental process, an abstract idea. The clearance module is a generic computing element and fails to confer eligibility under MPEP 2106.05(f) predict clearance analysis cost for evaluating clearance of the product assembly in the bounding box; Predicting costs of an arrangement is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determine whether the predicted clearance analysis cost is less than or equal to a threshold clearance analysis cost; Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if the predicted clearance analysis cost is less than or equal to the threshold clearance analysis cost, decompose the bounding box into at least two equal-sized bounding boxes along cartesian coordinate axes; Dividing a bounding box in two relative to axes is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. compute combined clearance analysis cost for evaluating clearance of the components of the product assembly in the two equal-sized bounding boxes along each of the cartesian coordinate axes; Predicting costs of an arrangement is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determine a direction along which the two equal-sized bounding boxes is to be sub-divided along one of the cartesian coordinate axes which has least combined clearance analysis cost; Determining a direction along which the two equal sized bounding boxes is to be subdivided based on a maximum objective function value associated with the cartesian coordinate axes is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. divide each bounding box along the determined direction into two variable-sized partitions; Dividing the equal sized bounding boxes along the determined direction into a number of variable-sized partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determine whether the at least combined clearance analysis cost associated with the variable-sized partitions is less than the predicted clearance analysis cost; Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if the least combined clearance analysis cost associated with the variable-sized partitions is not less than the predicted clearance analysis cost, repeat the steps of determining, decomposing, computing, determining, dividing, and determining till the at least combined clearance analysis cost for the variable-sized partitions becomes less than the predicted clearance analysis cost; and The repetition of steps fails to confer eligibility for the same reasons as the first instances of the steps. Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if the least combined clearance analysis cost associated with the variable-sized partitions is less than the predicted clearance analysis cost, store information associated with the variable-sized partitions in a partition database. Storing determined data in a location is a generic computing operation and fails to confer eligibility for the same reasons as the generic computing elements of the independent claims. Further, storage of data is insignificant extra-solution activity similar to the MPEP 2106.05(g) examples: “v. Consulting and updating an activity log” “iii. Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display” “ii. Printing or downloading generated menus.” The storage of data is also WURC similar to the 2106.05(d) examples: “i. Receiving or transmitting data over a network” “iii. Electronic recordkeeping” “iv. Storing and retrieving information in memory” “vi. Arranging a hierarchy of groups, sorting information, eliminating less restrictive pricing information and determining the price.” For at least these reasons, claims 4 and 14 fail to recite additional limitations that confer eligibility. Claims 4 and 14 are ineligible. Claims 5 and 15 wherein predicting the clearance analysis cost for evaluating clearance of the product assembly in the bounding box comprises: Predicting costs of an arrangement is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. predicting the clearance analysis cost for evaluating clearance of the product assembly in the bounding box using a trained machine learning model. Predicting costs of an arrangement is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. The high level recitation of using a machine learning model to conduct an inference practically performable in the mind or with the aid of pen and paper is a generic computing operation that fails to confer eligibility under MPEP 2106.05(f). For at least these reasons, claims 5 and 15 fail to recite additional limitations that confer eligibility. Claims 5 and 15 are ineligible. Claims 6 and 16 wherein iteratively decomposing the product space comprising the product assembly in the CAD environment into the plurality of variable-sized partitions, comprises: As demonstrated, the iteratively decomposing step is a mental process, an abstract idea. The clearance module is a generic computing element and fails to confer eligibility under MPEP 2106.05(f) The CAD environment merely limits the abstract idea to a particular field, so it fails to confer eligibility under MPEP 2106.05(h) generating a flat list of the components in the product assembly based on the product data, wherein the flat list of the components comprises information related to unique identifier of each component, location of each component in the product space, and bounding box associated with each component; Generating a list from several sources of data is practically performable in the mind or with the aid of pen and paper, so it is a mental process. Should it be found otherwise, the generating is insignificant extra-solution activity (similar to MPEP 2106.05(g) “iii. Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display,”) and WURC (similar to MPEP 2106.05(d) “Arranging a hierarchy of groups, sorting information, eliminating less restrictive pricing information and determining the price,” “Electronic recordkeeping”). predicting clearance analysis cost for evaluating clearance of each component in the product assembly; Predicting costs of an arrangement is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. identifying one or more components whose predicted clearance analysis cost is greater than a predetermined threshold value; Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. computing a bounding box around each of the components whose predicted clearance analysis cost is greater than the predetermined threshold value based on the flat list of components, wherein the bounding box associated with each component comprises one or more components which are within the bounding box of said each component; Determining boundaries that contain certain elements is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determining whether there are one or more components remaining in the flat list whose predicted clearance analysis cost is less than or equal to the pre-determined threshold value; and Comparing lists to see if elements differ between the lists is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if there are no components remaining in the flat list, storing information associated with the bounding boxes in a partition database. Comparing lists to see if elements differ between the lists is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. Storing determined data in a location is a generic computing operation and fails to confer eligibility for the same reasons as the generic computing elements of the independent claims. Further, storage of data is insignificant extra-solution activity similar to the MPEP 2106.05(g) examples: “v. Consulting and updating an activity log” “iii. Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display” “ii. Printing or downloading generated menus.” The storage of data is also WURC similar to the 2106.05(d) examples: “i. Receiving or transmitting data over a network” “iii. Electronic recordkeeping” “iv. Storing and retrieving information in memory” “vi. Arranging a hierarchy of groups, sorting information, eliminating less restrictive pricing information and determining the price.” For at least these reasons, claims 6 and 16 fail to recite additional limitations that confer eligibility. Claims 6 and 16 are ineligible. Claims 7 and 17 wherein determining whether there are one or more components remaining in the flat list whose predicted clearance analysis cost is less than or equal to the pre-determined threshold value comprises: Comparing lists to see if elements differ between the lists is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if there are one or more components remaining in the flat list, generating a bounding box for the remaining components in the flat list of components; Determining boundaries that contain certain elements is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. decomposing the bounding box into at least two equal sized bounding boxes along each cartesian coordinate axis; Dividing a bounding box in two relative to axes is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determining a direction along which the two equal sized bounding boxes is to be sub-divided based on maximum objective function value associated with the cartesian coordinate axes; Determining a direction along which the two equal sized bounding boxes is to be subdivided based on a maximum objective function value associated with the cartesian coordinate axes is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. dividing the two equal-sized bounding boxes along the determined direction into a number of variable-sized partitions; Dividing the equal sized bounding boxes along the determined direction into a number of variable-sized partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. determining whether the number of components in any of the variable-sized partitions is greater than the pre-defined number of components; Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if the number of components in any of the variable-sized partitions is greater than the pre-defined number of components, repeating the steps of decomposing, determining, dividing, and determining till the number of components in each variable-sized partition is less than or equal to the pre-defined number of components; and Repeating existing steps fails to confer eligibility for the same reasons the steps failed to confer eligibility the first time around. Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. if the number of components in any of the variable-sized partitions is not greater than the pre-defined number of components, storing information associated with the variable-sized partitions in the partition database. Storing determined data in a location is a generic computing operation and fails to confer eligibility for the same reasons as the generic computing elements of the independent claims. Further, storage of data is insignificant extra-solution activity similar to the MPEP 2106.05(g) examples: “v. Consulting and updating an activity log” “iii. Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display” “ii. Printing or downloading generated menus.” The storage of data is also WURC similar to the 2106.05(d) examples: “i. Receiving or transmitting data over a network” “iii. Electronic recordkeeping” “iv. Storing and retrieving information in memory” “vi. Arranging a hierarchy of groups, sorting information, eliminating less restrictive pricing information and determining the price.” For at least these reasons, claims 7 and 17 fail to recite additional limitations that confer eligibility. Claims 7 and 17 are ineligible. Claims 8 and 18 wherein selecting the one or more variable- sized partitions for evaluating clearance between the components in the product assembly comprises: Selecting one or more partitions among a plurality of partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea selecting the one or more variable-sized partitions from the plurality of variable- sized partitions based on at least one of pre-defined number of components in the variable-sized partitions and threshold clearance analysis cost associated with the variable-sized partitions. Selecting one or more partitions among a plurality of partitions is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. Comparing a number to another number is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. Predicting costs of an arrangement is practically performable in the mind or with the aid of pen and paper, so it is an evaluation, a mental process, an abstract idea. For at least these reasons, claims 8 and 18 fail to recite additional limitations that confer eligibility. Claims 8 and 18 are ineligible. Claims 9 and 19 wherein evaluating the clearance between the components in the respective variable-sized partitions comprises: distributing the selected variable-sized partitions among a plurality of clearance workers in the data processing system, wherein each of the selected variable-sized partitions comprises one or more component pairs on which clearance analysis needs to be performed; performing a clearance analysis on said each component pair in the respective variable-sized partitions using the clearance workers; and generating results of the clearance analysis performed on said each component pair in the respective variable-sized partitions. Parallelization of operations by distributing the operations among agents/workers/processors/threads/cores/virtual machines/containers is a generic computing operation recited at a high level that, under MPEP 2106.05(f), fails to confer eligibility. For at least these reasons, claims 9 and 19 fail to recite additional limitations that confer eligibility. Claims 9 and 19 are ineligible. Claims 10 and 20 wherein the clearance analysis module is configured to: The clearance module is a generic computer component recited at a high level, so it fails to confer eligibility under MPEP 2106.05(f). generate a consolidated clearance result set for the product assembly based on the results of the clearance analysis for the respective variable-sized partition from the clearance workers; and Generating a consolidated clearance result set for a product assembly based on results of analysis is practically performable in the mind or with the aid of pen and paper, so the limitation is an evaluation, a mental process, an abstract idea. output the consolidated clearance results set for the product assembly on a graphical user interface. This is insignificant extra-solution activity (e.g., similar to the MPEP 2106.05(g) examples: “ e.g., a printer that is used to output a report of fraudulent transactions” “ii. Printing or downloading generated menus” “iii. Selecting information, based on types of information and availability of information in a power-grid environment, for collection, analysis and display”) and WURC (e.g., similar to the MPEP 2106.05(d) examples: “iii. Electronic recordkeeping” “iv. Presenting offers and gathering statistics” Should it be found otherwise, outputting data for display is a generic computing function recited at a high level, and, under MPEP 2106.05(f) (“v. Requiring the use of software to tailor information and provide it to the user on a generic computer”), fails to confer eligibility. Claim Rejections - 35 USC § 103 07-20-aia AIA The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-3, 9-10, 11-13, and 19-20: Klosowski and Schnaars 07-21-aia AIA Claim (s) 1-3, 9-10, 11-13, and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over NPL: “Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs” by Klosowski et al. ( Klosowski ) in view of NPL: “How to Build Assemblies Faster” by Schnaars ( Schnaars ) . Claims 1 and 11 Regarding Claim 11, Klosowski Teaches: A data processing system for performing clearance analysis of a product assembly in a computer-aided design (CAD) environment, comprising: a processing unit; and a memory unit communicatively coupled to the processing unit, wherein the memory unit comprises a clearance analysis module configured to: ( Klosowski Page 21, Introduction “The collision detection problem takes as input a geometric model of a scene or environment (e.g., a large collection of complex CAD models.” Page 30, 5.1 Experimental Setup “For all of the results reported here, we used a Silicon Graphics Indigo², with a single 195 MHz IP28/R10000 processor, 192 Mbytes of main memory, and a Maximum Impact Graphics board.“ – This is a multiprocessor computer with processor and memory that does CAD. ) receive a request for evaluating clearance between components of a product assembly in a CAD environment from a user device, wherein the request comprises an unique identifier of each component of the product assembly; ( Klosowski Page 21, Introduction “Real-time collision detection is of critical importance in computer graphics, visualization, simulations of physical systems, robotics, solid modeling, manufacturing, and a molecular modeling […] one may, for example, wish to interact with a virtual world that models a cluttered mechanical workspace, and ask how easily one can assemble, access, or replace component parts within the workplace,” – A wish or request is made to determine collision detection in a CAD environment. ) obtain product data associated with the components of the product assembly from a product data management (PDM) database based on the unique identifier of the components of the product assembly ; ( Klosowski Page 23, 3 BV-Trees “We assume as input a set S of n geometric “objects,” which, for our purposes, are generally expected to be triangles in 3D that specify the boundary of some polygonal models. Much of our discussion, though, applies also to more general objects.” – The components/geometric objects are obtained. ) iteratively decompose a product space comprising the product assembly in the CAD environment into a plurality of variable-sized partitions based on the product data and a partitioning strategy ; ( Klosowski Page 25, 3.3.2 Top-Down Versus Bottom Up “In constructing a BV-tree on a set, S , of input primitives, we can do so in either a top-down or a bottom-up manner. A bottom-up approach begins with the input primitives as the leaves of the tree and attempts to group them together recursively (taking advantage of any local information), until we reach a single root node which approximates the entire set S . One example of this approach is the “BOXTREE,” by Barequet et al. [6]. A top-down approach starts with one node which approximates S , and uses information based upon the entire set to recursively divide the nodes until we reach the leaves. OBBTrees [21] are one example of this approach.” – The space is decomposed iteratively/recursively. ) select one or more variable-sized partitions for evaluating clearance between the components in the product assembly from the plurality of the variable-sized partitions; and ( Klosowski Page 24, Left Column, Last Paragraph “To keep the associated costs as small as possible, we have been using only k -dops whose discrete orientation normals come as pairs of collinear, but oppositely oriented, vectors. Kay and Kajiya referred to such pairs as bounding slabs [29]. Thus, as an AABB bounds (i.e., finds the minimum and maximum values of) the primitives in the x , y , and z directions, our k -dops will also bound the primitives but in k /2 directions.” See Fig. 2 (shown below)– Variable-sized partitions for clearance between objects are selected ) PNG media_image1.png 339 1068 media_image1.png Greyscale evaluate , by a plurality of clearance workers, clearance between the components in the selected variable-sized partitions , wherein, based on the partitioning strategy, each clearance worker of the plurality of clearance workers takes a substantially same amount of compute time to evaluate the clearance, such that an overall time, cost, or time and cost for performing the clearance analysis is reduced . ( Klosowski Pages 26-27, 4.1 Tumbling the BV-Trees “For each position of the flying object in the scene, we will need to have a BV-tree representing the flying hierarchy, in order to be able to perform CD queries efficiently. If the flying object were only to translate , then the BV-tree that we construct for its initial position and orientation would remain valid, modulo a translation vector, in any other position. However, the flying object also rotates . This means that if we were to transform (translate and rotate) each bounding k -dop, b ( Sn ), represented at each node of the flying hierarchy, we would have a new set of bounding k -dops, forming a valid BV-tree for the transformed object, but the normal vectors defining them would be a different set of k vectors than those defining the k -dops in the environment hierarchy (which did not rotate). This would defeat the purpose of having k -dops as bounding volumes, since the overlap test between two k -dops having different defining normal vectors is far more costly than the conservative disjointness test used for aligned k -dops. Thus, it is important to address the issue of “tumbling” the bounding k -dops in the flying hierarchy. The cost of each such updating operation has been denoted by Cu in (2).” – The system performs clearance analysis, which includes evaluating clearance between objects. Page 21, Introduction “The collision detection problem takes as input a geometric model of a scene or environment (e.g., a large collection of complex CAD models.” Page 30, 5.1 Experimental Setup “For all of the results reported here, we used a Silicon Graphics Indigo², with a single 195 MHz IP28/R10000 processor, 192 Mbytes of main memory, and a Maximum Impact Graphics board.“ – This is a multiprocessor computer with processor and memory, so it will have multiple “clearance workers” or processing elements compute the collisions in parallel. As indicated in the prior 35 USC 112 rejections, the terms of the claims and the specification’s disclosure describing the processing of partitions in the same amount of time and/or to reduce overall processing time is nothing more than standard multiprocessor load balancing under BRI, which is a standard element of systems that parallelize determinations. ) Klosowski teaches the use of multicomponent CAD systems for clearance analysis, which would require identification of elements in at least some form, but does not appear to explicitly teach, but Klosowski in view of Schnaars teaches: receive a request for evaluating clearance between components of a product assembly in a CAD environment from a user device, wherein the request comprises an unique identifier of each component of the product assembly ; obtain product data associated with the components of the product assembly from a product data management (PDM) database based on the unique identifier of the components of the product assembly; ( Schnaars Page 2 “When creating a bounding box for an assembly, you will see a property manager that is similar to the one you use when you are creating a bounding box for a single part. You will also see some new options, such as whether the bounding box should include hidden components, envelope components, or surface bodies, as shown in Figure 1.” See Figures 2 and 6 (Shown Below) – It is a standard feature of modern CAD packages to provide component parts with unique identifiers, and they would have to be used to reference each pair or group of parts expected to interact for conducting clearance analysis. Solidworks is a good example of this. ) PNG media_image2.png 496 706 media_image2.png Greyscale PNG media_image3.png 783 713 media_image3.png Greyscale It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the high level CAD descriptions of objects for collision detection of Klosowski by the specific grouping and bounding of objects as CAD features of Schnaars because the person of ordinary skill in the art would be motivated by the aim of Klosowski to efficiently decompose objects for collision detection analysis to look to Schnaars , which dynamically resizes groups of components as individual components. ( Klosowski Abstract “In this paper, we develop and analyze a method, based on bounding-volume hierarchies, for efficient collision detection for objects moving within highly complex environments.”; Schnaars Page 1 “SOLIDWORKS 2018 added a handy new feature that allowed users to create a bounding box around a single part. This bounding box would dynamically update so that it always calculated the minimum rectangular prism into which a part could fit. In SOLIDWORKS 2019, this functionality has been here expanded to enable users to create a bounding box around assemblies and subassemblies.” Page 12, Conclusion, “Users who frequently work with assemblies will be happy to see some of the great new tools that have been added to SOLIDWORKS 2019. The ability to create a bounding box around an assembly enables users to quickly keep track of the minimum envelope an assembly will fit into.”) Regarding claim 1, claim 1 recites the method executed by the system of claim 11, so claim 1 is rejected for at least the same reasons as claim 1. Claims 2 and 12 Regarding claim 12, Schnaars in view of Klosowski teached the features of claim 11 and further teaches: wherein in iteratively decomposing the product space comprising the product assembly in the CAD environment into the plurality of variable-sized partitions, the clearance analysis module is configured to: ( Klosowski Page 25, 3.3.2 Top-Down Versus Bottom Up “In constructing a BV-tree on a set, S , of input primitives, we can do so in either a top-down or a bottom-up manner. A bottom-up approach begins with the input primitives as the leaves of the tree and attempts to group them together recursively (taking advantage of any local information), until we reach a single root node which approximates the entire set S . One example of this approach is the “BOXTREE,” by Barequet et al. [6]. A top-down approach starts with one node which approximates S , and uses information based upon the entire set to recursively divide the nodes until we reach the leaves. OBBTrees [21] are one example of this approach.” – The space is decomposed iteratively/recursively. ) generate a flat list of the components in the product assembly based on the product data, wherein the flat list of the components comprises information related to unique identifier of each component, location of each component in the product space, and bounding box associated with each component; compute a bounding box for the product assembly in the product space based on the flat list of components in the product assembly; ( Schnaars Page 2 “When creating a bounding box for an assembly, you will see a property manager that is similar to the one you use when you are creating a bounding box for a single part. You will also see some new options, such as whether the bounding box should include hidden components, envelope components, or surface bodies, as shown in Figure 1.” See Figures 2 and 6 (Shown Below) – It is a standard feature of modern CAD packages to provide component parts with unique identifiers in flat lists, and they would have to be used to reference each pair or group of parts expected to interact for conducting clearance analysis. ) PNG media_image2.png 496 706 media_image2.png Greyscale PNG media_image3.png 783 713 media_image3.png Greyscale and iteratively decompose the bounding box comprising the product assembly in the product space into the plurality of variable-sized partitions. ( Klosowski Page 25, 3.3.2 Top-Down Versus Bottom Up “In constructing a BV-tree on a set, S , of input primitives, we can do so in either a top-down or a bottom-up manner. A bottom-up approach begins with the input primitives as the leaves of the tree and attempts to group them together recursively (taking advantage of any local information), until we reach a single root node which approximates the entire set S . One example of this approach is the “BOXTREE,” by Barequet et al. [6]. A top-down approach starts with one node which approximates S , and uses information based upon the entire set to recursively divide the nodes until we reach the leaves. OBBTrees [21] are one example of this approach.” – The space is decomposed iteratively/recursively into variable sized partitions. ) Regarding claim 2, claim 2 recites the method executed by the system of claim 12, so claim 2 is rejected for at least the same reasons as claim 2. Claims 3 and 13 Regarding claim 13, Klosowski in view of Schnaars teaches the features of claim 12 and further teaches: wherein in iteratively decomposing the bounding box comprising the product assembly in the product space into the plurality of variable-sized partitions, the clearance analysis module is configured to: ( Klosowski Page 25, 3.3.2 Top-Down Versus Bottom Up “In constructing a BV-tree on a set, S , of input primitives, we can do so in either a top-down or a bottom-up manner. A bottom-up approach begins with the input primitives as the leaves of the tree and attempts to group them together recursively (taking advantage of any local information), until we reach a single root node which approximates the entire set S . One example of this approach is the “BOXTREE,” by Barequet et al. [6]. A top-down approach starts with one node which approximates S , and uses information based upon the entire set to recursively divide the nodes until we reach the leaves. OBBTrees [21] are one example of this approach.” – The space is decomposed iteratively/recursively. ) decompose the bounding box into two equal sized bounding boxes along each cartesian coordinate axis; ( Klosowski Page 27, Right Column, Last Paragraph “This means that we must compute the intersection of k halfspaces. This is done by appealing to the following fact (see, e.g., [36]): The intersection of a set of halfspaces can be determined by computing the convex hull of a set of points (in 3D), each of which is dual 6 to one of the planes defining the halfspaces, and then converting the convex hull back to primal space; a vertex, edge, facet of the convex hull corresponds to a facet, edge, vertex of the intersection of halfspaces. We compute the convex hull of the dual points in 3D using a simple incremental insertion algorithm (see [36]).” – The decomposition is done in half spaces, essentially dividing the bounding boxes in two. ) determine a direction along which the two equal sized bounding boxes is to be sub-divided based on maximum objective function value associated with the cartesian coordinate axes; divide the two equal-sized bounding boxes along the determined direction into a number of variable-sized partitions; ( Klosowski Page 26, Choice of Axis “We choose a plane orthogonal to the x -, y -, or z -axis based upon one of the following objective functions: Min Sum: Choose the axis that minimizes the sum of the volumes of the two resulting children. Min Max: Choose the axis that minimizes the larger of the volumes of the two resulting children. Splatter: Project the centroids of the triangles onto each of the three coordinate axes and calculate the variance of each of the resulting distributions. Choose the axis yielding the largest variance. Longest Side: Choose the axis along which the k -dop, b ( Sn ), is longest. […] “We have investigated in depth two natural choices for the splitting point: the mean of the centroid coordinates (along the chosen axis), or the median of the centroid coordinates. “– Axes of division for decomposition is chosen for dividing the bounding box, e.g., in half at a median or centroid. ) determine whether the number of components in any of the variable-sized partitions is greater than the pre-defined number of components; if the number of components in any of the variable-sized partitions is greater than the pre-defined number of components, repeat the steps of decomposing, determining, dividing, and determining till the number of components in each variable-sized partition is less than or equal to the pre-defined number of components; ( Klosowski Page 27 “Fig. 2 shows a two-dimensional example of method 2. In this example, k = 8, and the original object and eight-dop are shown in Fig. 2a. Fig. 2b depicts the object rotated 30 degrees (counterclockwise) and the corresponding eightdop.” See Also Fig. 2 (shown below) – The partitions in Klosowski contain only one object each, making one object/component the threshold that is satisfied in each of the cases, as is shown in FIG. 2. ) PNG media_image4.png 354 1096 media_image4.png Greyscale and if the number of components in any of the variable-sized partitions is not greater than the pre-defined number of components, store information associated with the variable-sized partitions in a partition database. ( Klosowski Page 29, Memory Requirements “For an environment dataset of n input triangles, we store in one array (72 n bytes) the vertices of the triangles (whose coordinates are eight-byte floating point numbers), and in another array (12 n bytes) the integer indices into the vertex array, indicating for each of the n triangles which three vertices comprise it” – The final objects are stored. That said, when a computer processes anything, each intermediate and output is stored in some form of database. ) Regarding claim 3, claim 3 recites the method executed by the system of claim 13, so claim 3 is rejected for at least the same reasons as claim 3. Claims 9 and 19 Regarding claim 19, Klosowski in view of Schnaars teaches the features of claim 11 and further teaches: wherein in evaluating the clearance between the components in the respective variable-sized partitions, the clearance analysis module is configured to: distribute the selected variable-sized partitions among a plurality of clearance workers in the data processing system, wherein each of the selected variable-sized partitions comprises one or more component pairs on which clearance analysis needs to be performed; perform a clearance analysis on said each component pair in the respective variable-sized partitions using the clearance workers; and generate results of the clearance analysis performed on said each component pair in the respective variable-sized partitions. ( Klosowski Pages 26-27, 4.1 Tumbling the BV-Trees “For each position of the flying object in the scene, we will need to have a BV-tree representing the flying hierarchy, in order to be able to perform CD queries efficiently. If the flying object were only to translate , then the BV-tree that we construct for its initial position and orientation would remain valid, modulo a translation vector, in any other position. However, the flying object also rotates . This means that if we were to transform (translate and rotate) each bounding k -dop, b ( Sn ), represented at each node of the flying hierarchy, we would have a new set of bounding k -dops, forming a valid BV-tree for the transformed object, but the normal vectors defining them would be a different set of k vectors than those defining the k -dops in the environment hierarchy (which did not rotate). This would defeat the purpose of having k -dops as bounding volumes, since the overlap test between two k -dops having different defining normal vectors is far more costly than the conservative disjointness test used for aligned k -dops. Thus, it is important to address the issue of “tumbling” the bounding k -dops in the flying hierarchy. The cost of each such updating operation has been denoted by Cu in (2).” – The system performs clearance analysis, which includes evaluating clearance between objects. Page 21, Introduction “The collision detection problem takes as input a geometric model of a scene or environment (e.g., a large collection of complex CAD models.” Page 30, 5.1 Experimental Setup “For all of the results reported here, we used a Silicon Graphics Indigo², with a single 195 MHz IP28/R10000 processor, 192 Mbytes of main memory, and a Maximum Impact Graphics board.“ – This is a multiprocessor computer with processor and memory, so it will have multiple “clearance workers” or processing elements compute the collisions in parallel. As indicated in the prior 35 USC 112 rejections, the terms of the claims and the specification’s disclosure describing the processing of partitions in the same amount of time and/or to reduce overall processing time is nothing more than standard multiprocessor load balancing under BRI, which is a standard element of systems that parallelize determinations. ) Regarding claim 9, claim 9 recites the method executed by the system of claim 19, so claim 9 is rejected for at least the same reasons as claim 9. Claims 10 and 20 Regarding claim 20, Klosowski in view of Schnaars teaches the features of claim 19 and further teaches: wherein the clearance analysis module is configured to: generate a consolidated clearance result set for the product assembly based on the results of the clearance analysis for the respective variable-sized partition from the clearance workers; and ( Klosowski Page 31, Left Column, Second Paragraph “Based solely upon these times, our 14-, 18-, and 26-dop methods perform well in comparison with RAPID’s OBB method, running faster on all five of the datasets; the only exception being the 14-dop method during the 747’s flight on our own generated data. As expected, the six-dop method (i.e., axis-aligned bounding boxes) did not perform as well as these other methods, nor as well as when using OBBs in the RAPID implementation. Out of all of our methods, using an 18-dop for our bounding volume in the BV-trees, appears to be the best. In addition, most of the collision detection times are below two milliseconds (many are even below one millisecond), which allows us to perform these queries at real-time rates.” – The results of the collision analysis are determined for all partitions. ) output the consolidated clearance results set for the product assembly on a graphical user interface. ( Klosowski Page 33, Conclusion “Our methods have been implemented and tested, for a variety of datasets and various choices of the design parameters (e.g., k ). Our results show that our methods compare favorably with a leading system (“RAPID,” presented at ACM SIGGRAPH ’96 [21]), whose hierarchy is based on oriented bounding boxes. Further, our algorithms are robust, relatively simple to implement, and are applicable to general sets of polygonal models. Experiments have shown that our algorithms can perform at interactive rates on real and simulated data consisting of hundreds of thousands of polygons.” See Also Figs. 4 and 5 (Shown below) – Results are output as elements of a user interface, as is illustrated in Figs. 4 and 5. ) PNG media_image5.png 664 707 media_image5.png Greyscale PNG media_image6.png 357 719 media_image6.png Greyscale Regarding claim 10, claim 10 recites the method executed by the system of claim 20, so claim 10 is rejected for at least the same reasons as claim 10. Claims 4-8 and 14-18: Klosowski, Schnaars, and Qi 07-21-aia AIA Claim s 4-8 and 14-18 are rejected under 35 U.S.C. 103 as being unpatentable over NPL: “Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs” by Klosowski et al. ( Klosowski ) in view of NPL: “How to Build Assemblies Faster” by Schnaars ( Schnaars ) and NPL: “Multiple Bounding Boxes Algorithm in Collision Detection and Its Performances in Sequential VS CUDA Parallel Processing” by Qi ( Qi ) . Claims 4 and 14 Regarding claim 14, Klosowski in view of Schnaars teaches the features of claim 12 and further teaches: wherein in iteratively decomposing the bounding box comprising the product assembly in the product space into the plurality of variable-sized partitions, the clearance analysis module is configured to: ( Klosowski Page 25, 3.3.2 Top-Down Versus Bottom Up “In constructing a BV-tree on a set, S , of input primitives, we can do so in either a top-down or a bottom-up manner. A bottom-up approach begins with the input primitives as the leaves of the tree and attempts to group them together recursively (taking advantage of any local information), until we reach a single root node which approximates the entire set S . One example of this approach is the “BOXTREE,” by Barequet et al. [6]. A top-down approach starts with one node which approximates S , and uses information based upon the entire set to recursively divide the nodes until we reach the leaves. OBBTrees [21] are one example of this approach.” – The space is decomposed iteratively/recursively. ) predict clearance analysis cost for evaluating clearance of the product assembly in the bounding box; determine whether the predicted clearance analysis cost is less than or equal to a threshold clearance analysis cost; if the predicted clearance analysis cost is less than or equal to the threshold clearance analysis cost, decompose the bounding box into at least two equal-sized bounding boxes along cartesian coordinate axes; compute combined clearance analysis cost for evaluating clearance of the components of the product assembly in the two equal-sized bounding boxes along each of the cartesian coordinate axes; determine a direction along which the two equal-sized bounding boxes is to be sub-divided along one of the cartesian coordinate axes which has least combined clearance analysis cost ; ( Klosowski Page 27, Right Column, Last Paragraph “This means that we must compute the intersection of k halfspaces. This is done by appealing to the following fact (see, e.g., [36]): The intersection of a set of halfspaces can be determined by computing the convex hull of a set of points (in 3D), each of which is dual 6 to one of the planes defining the halfspaces, and then converting the convex hull back to primal space; a vertex, edge, facet of the convex hull corresponds to a facet, edge, vertex of the intersection of halfspaces. We compute the convex hull of the dual points in 3D using a simple incremental insertion algorithm (see [36]).” – The decomposition is done in half spaces, essentially dividing the bounding boxes in two. ) divide each bounding box along the determined direction into two variable-sized partitions; ( Klosowski Page 26, Choice of Axis “We choose a plane orthogonal to the x -, y -, or z -axis based upon one of the following objective functions: Min Sum: Choose the axis that minimizes the sum of the volumes of the two resulting children. Min Max: Choose the axis that minimizes the larger of the volumes of the two resulting children. Splatter: Project the centroids of the triangles onto each of the three coordinate axes and calculate the variance of each of the resulting distributions. Choose the axis yielding the largest variance. Longest Side: Choose the axis along which the k -dop, b ( Sn ), is longest. […] “We have investigated in depth two natural choices for the splitting point: the mean of the centroid coordinates (along the chosen axis), or the median of the centroid coordinates. “– Axes of division for decomposition is chosen for dividing the bounding box, e.g., in half at a median or centroid. ) determine whether the at least combined clearance analysis cost associated with the variable-sized partitions is less than the predicted clearance analysis cost; if the least combined clearance analysis cost associated with the variable-sized partitions is not less than the predicted clearance analysis cost, repeat the steps of determining, decomposing, computing, determining, dividing, and determining till the at least combined clearance analysis cost for the variable-sized partitions becomes less than the predicted clearance analysis cost; and if the least combined clearance analysis cost associated with the variable-sized partitions is less than the predicted clearance analysis cost, store information associated with the variable-sized partitions in a partition database. Klosowski in view of Schnaars does not appear to explicitly teach, but Klosowski in view of Schnaars and Qi teaches: predict clearance analysis cost for evaluating clearance of the product assembly in the bounding box; determine whether the predicted clearance analysis cost is less than or equal to a threshold clearance analysis cost; if the predicted clearance analysis cost is less than or equal to the threshold clearance analysis cost, decompose the bounding box into at least two equal-sized bounding boxes along cartesian coordinate axes; compute combined clearance analysis cost for evaluating clearance of the components of the product assembly in the two equal-sized bounding boxes along each of the cartesian coordinate axes; determine a direction along which the two equal-sized bounding boxes is to be sub-divided along one of the cartesian coordinate axes which has least combined clearance analysis cost; determine whether the at least combined clearance analysis cost associated with the variable-sized partitions is less than the predicted clearance analysis cost; if the least combined clearance analysis cost associated with the variable-sized partitions is not less than the predicted clearance analysis cost, repeat the steps of determining, decomposing, computing, determining, dividing, and determining till the at least combined clearance analysis cost for the variable-sized partitions becomes less than the predicted clearance analysis cost; and if the least combined clearance analysis cost associated with the variable-sized partitions is less than the predicted clearance analysis cost, store information associated with the variable-sized partitions in a partition database. ( Qi Abstract “Our algorithm analysis shows that the optimal two or three bounding boxes is the best partition we can get for a reasonable time complexity. The results further show significantly diminishing returns for calculating four bounding boxes and above, since it takes a comparably large amount of calculation to find the optimal four bounding boxes or more.” – Qi teaches the computational cost in terms of maximum bounding boxes. The maximum is 2 or 3, and the method will only use 2 or 3 bounding boxes. The choice of 2 or 3 is based on the elements being bound. ) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the partition determinations of Klosowski by the partitioning in bounding boxes of Qi because the person of ordinary skill in the art would be motivated by the aim of Klosowski to limit computational cost, to look to Qi , which demonstrates a fixed small number of bounding boxes improves computation. ( Klosowski Abstract “this paper, we develop and analyze a method, based on bounding-volume hierarchies, for efficient collision detection for objects moving within highly complex environments.” Page 31, Left Column, Last Paragraph – Right Column, First Paragraph “In conjunction with Table 3, Table 4 highlights the corresponding CD query times for each of the construction methods. From this table, it becomes clear that the “min sum” method is typically the best; however, unless one can afford to spend a great deal of additional time preprocessing the environments, the best choice appears to be the “splatter” method, as it takes considerably less time to preprocess and provides CD query times that are nearly as good.”; Qi Abstract “Our algorithm analysis shows that the optimal two or three bounding boxes is the best partition we can get for a reasonable time complexity. The results further show significantly diminishing returns for calculating four bounding boxes and above, since it takes a comparably large amount of calculation to find the optimal four bounding boxes or more.”) Regarding claim 4, claim 4 recites the method executed by the system of claim 14, so claim 4 is rejected for at least the same reasons as claim 4. Claims 5 and 15 Regarding claim 15, Klosowski in view of Schnaars and Qi teaches the features of claim 14 and further teaches wherein in predicting the clearance analysis cost for evaluating clearance of the product assembly in the bounding box, the clearance analysis module is configured to predict the clearance analysis cost for evaluating clearance of the product assembly in the bounding box using a trained machine learning model. ( Qi Page 1, Last Paragraph “With sprites composed of n pixels, this test can cost up to O(n) operations, a very expensive cost, and unfavorable towards supporting real-time collision detection when many sprites are involved. We propose a parallel method (by using CUDA1) to calculate multiple bounding boxes (2 or 3 boxes) for multiple sprites, thereby achieving better real-time collision detection.” – The choice of whether to us 2 or 3 bounding boxes is based on machine learning executed in CUDA. ) Regarding claim 5, claim 5 recites the method executed by the system of claim 15, so claim 5 is rejected for at least the same reasons as claim 5. Claims 6 and 16 Regarding claim 16, Klosowski in view of Schnaars teaches the features of claim 11 and further teaches: wherein in iteratively decomposing the product space comprising the product assembly in the CAD environment into the plurality of variable-sized partitions, the clearance analysis module is configured to: ( Klosowski Page 25, 3.3.2 Top-Down Versus Bottom Up “In constructing a BV-tree on a set, S , of input primitives, we can do so in either a top-down or a bottom-up manner. A bottom-up approach begins with the input primitives as the leaves of the tree and attempts to group them together recursively (taking advantage of any local information), until we reach a single root node which approximates the entire set S . One example of this approach is the “BOXTREE,” by Barequet et al. [6]. A top-down approach starts with one node which approximates S , and uses information based upon the entire set to recursively divide the nodes until we reach the leaves. OBBTrees [21] are one example of this approach.” – The space is decomposed iteratively/recursively. ) generate a flat list of the components in the product assembly based on the product data, wherein the flat list of the components comprises information related to unique identifier of each component, location of each component in the product space, and bounding box associated with each component; ( Schnaars Page 2 “When creating a bounding box for an assembly, you will see a property manager that is similar to the one you use when you are creating a bounding box for a single part. You will also see some new options, such as whether the bounding box should include hidden components, envelope components, or surface bodies, as shown in Figure 1.” See Figures 2 and 6 (Shown Below) – It is a standard feature of modern CAD packages to provide component parts with unique identifiers in flat lists, and they would have to be used to reference each pair or group of parts expected to interact for conducting clearance analysis. ) PNG media_image2.png 496 706 media_image2.png Greyscale PNG media_image3.png 783 713 media_image3.png Greyscale predict clearance analysis cost for evaluating clearance of each component in the product assembly; identify one or more components whose predicted clearance analysis cost is greater than a predetermined threshold value; compute a bounding box around each of the components whose predicted clearance analysis cost is greater than the predetermined threshold value based on the flat list of components, wherein the bounding box associated with each component comprises one or more components which are within the bounding box of said each component; determine whether there are one or more components remaining in the flat list whose predicted clearance analysis cost is less than or equal to the pre-determined threshold value; and if there are no components remaining in the flat list, store information associated with the bounding boxes in a partition database. ( Klosowski Page 29, Memory Requirements “For an environment dataset of n input triangles, we store in one array (72 n bytes) the vertices of the triangles (whose coordinates are eight-byte floating point numbers), and in another array (12 n bytes) the integer indices into the vertex array, indicating for each of the n triangles which three vertices comprise it” – The final objects are stored. That said, when a computer processes anything, each intermediate and output is stored in some form of database. ) Klosowski in view of Schnaars does not appear to explicitly teach, but Klosowski in view of Schnaars and Qi teaches: predict clearance analysis cost for evaluating clearance of each component in the product assembly; identify one or more components whose predicted clearance analysis cost is greater than a predetermined threshold value; compute a bounding box around each of the components whose predicted clearance analysis cost is greater than the predetermined threshold value based on the flat list of components, wherein the bounding box associated with each component comprises one or more components which are within the bounding box of said each component; determine whether there are one or more components remaining in the flat list whose predicted clearance analysis cost is less than or equal to the pre-determined threshold value; ( Qi Abstract “Our algorithm analysis shows that the optimal two or three bounding boxes is the best partition we can get for a reasonable time complexity. The results further show significantly diminishing returns for calculating four bounding boxes and above, since it takes a comparably large amount of calculation to find the optimal four bounding boxes or more.” – Qi teaches the computational cost in terms of maximum bounding boxes. The maximum is 2 or 3, and the method will only use 2 or 3 bounding boxes. The choice of 2 or 3 is based on the elements being bound. ) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the partition determinations of Klosowski by the partitioning in bounding boxes of Qi because the person of ordinary skill in the art would be motivated by the aim of Klosowski to limit computational cost, to look to Qi , which demonstrates a fixed small number of bounding boxes improves computation. ( Klosowski Abstract “this paper, we develop and analyze a method, based on bounding-volume hierarchies, for efficient collision detection for objects moving within highly complex environments.” Page 31, Left Column, Last Paragraph – Right Column, First Paragraph “In conjunction with Table 3, Table 4 highlights the corresponding CD query times for each of the construction methods. From this table, it becomes clear that the “min sum” method is typically the best; however, unless one can afford to spend a great deal of additional time preprocessing the environments, the best choice appears to be the “splatter” method, as it takes considerably less time to preprocess and provides CD query times that are nearly as good.”; Qi Abstract “Our algorithm analysis shows that the optimal two or three bounding boxes is the best partition we can get for a reasonable time complexity. The results further show significantly diminishing returns for calculating four bounding boxes and above, since it takes a comparably large amount of calculation to find the optimal four bounding boxes or more.”) Regarding claim 6, claim 6 recites the method executed by the system of claim 16, so claim 6 is rejected for at least the same reasons as claim 6. Claims 7 and 17 Regarding claim 17, Klosowski in view of Schnaars and Qi teach the features of claim 16 and further teaches: wherein in determining whether there are one or more components remaining in the flat list whose predicted clearance analysis cost is less than or equal to the pre-determined threshold value, the clearance analysis module is configured to: if there are one or more components remaining in the flat list, generate a bounding box for the remaining components in the flat list of components; ( Klosowski Page 25, 3.3.2 Top-Down Versus Bottom Up “In constructing a BV-tree on a set, S , of input primitives, we can do so in either a top-down or a bottom-up manner. A bottom-up approach begins with the input primitives as the leaves of the tree and attempts to group them together recursively (taking advantage of any local information), until we reach a single root node which approximates the entire set S . One example of this approach is the “BOXTREE,” by Barequet et al. [6]. A top-down approach starts with one node which approximates S , and uses information based upon the entire set to recursively divide the nodes until we reach the leaves. OBBTrees [21] are one example of this approach.” – The space is decomposed iteratively/recursively until all items in the list are accounted for. ) decompose the bounding box into at least two equal sized bounding boxes along each cartesian coordinate axis; ( Klosowski Page 27, Right Column, Last Paragraph “This means that we must compute the intersection of k halfspaces. This is done by appealing to the following fact (see, e.g., [36]): The intersection of a set of halfspaces can be determined by computing the convex hull of a set of points (in 3D), each of which is dual 6 to one of the planes defining the halfspaces, and then converting the convex hull back to primal space; a vertex, edge, facet of the convex hull corresponds to a facet, edge, vertex of the intersection of halfspaces. We compute the convex hull of the dual points in 3D using a simple incremental insertion algorithm (see [36]).” – The decomposition is done in half spaces, essentially dividing the bounding boxes in two. ) determine a direction along which the two equal sized bounding boxes is to be sub-divided based on maximum objective function value associated with the cartesian coordinate axes; divide the two equal-sized bounding boxes along the determined direction into a number of variable-sized partitions; ( Klosowski Page 26, Choice of Axis “We choose a plane orthogonal to the x -, y -, or z -axis based upon one of the following objective functions: Min Sum: Choose the axis that minimizes the sum of the volumes of the two resulting children. Min Max: Choose the axis that minimizes the larger of the volumes of the two resulting children. Splatter: Project the centroids of the triangles onto each of the three coordinate axes and calculate the variance of each of the resulting distributions. Choose the axis yielding the largest variance. Longest Side: Choose the axis along which the k -dop, b ( Sn ), is longest. […] “We have investigated in depth two natural choices for the splitting point: the mean of the centroid coordinates (along the chosen axis), or the median of the centroid coordinates. “– Axes of division for decomposition is chosen for dividing the bounding box based on a simple objective function, such as dividing at a median or centroid. ) determine whether the number of components in any of the variable-sized partitions is greater than the pre-defined number of components; if the number of components in any of the variable-sized partitions is greater than the pre-defined number of components, repeat the steps of decomposing, determining, dividing, and determining till the number of components in each variable-sized partition is less than or equal to the pre-defined number of components; and if the number of components in any of the variable-sized partitions is not greater than the pre-defined number of components, store information associated with the variable-sized partitions in the partition database. ( Klosowski Page 27 “Fig. 2 shows a two-dimensional example of method 2. In this example, k = 8, and the original object and eight-dop are shown in Fig. 2a. Fig. 2b depicts the object rotated 30 degrees (counterclockwise) and the corresponding eightdop.” See Also Fig. 2 (shown below) – The partitions in Klosowski contain only one object each, making one object/component the threshold that is satisfied in each of the cases, as is shown in FIG. 2. ) Regarding claim 7, claim 7 recites the method executed by the system of claim 17, so claim 7 is rejected for at least the same reasons as claim 7. Claims 8 and 18 Regarding claim 18, Klosowski in view of Schnaars teaches the features of claim 11 and further teaches: wherein in selecting the one or more variable-sized partitions for evaluating clearance between the components in the product assembly, the clearance analysis module is configured to: select the one or more variable-sized partitions from the plurality of variable-sized partitions based on at least one of pre-defined number of components in the variable-sized partitions and threshold clearance analysis cost associated with the variable-sized partitions . ( Klosowski Page 24, Left Column, Last Paragraph “To keep the associated costs as small as possible, we have been using only k -dops whose discrete orientation normals come as pairs of collinear, but oppositely oriented, vectors. Kay and Kajiya referred to such pairs as bounding slabs [29]. Thus, as an AABB bounds (i.e., finds the minimum and maximum values of) the primitives in the x , y , and z directions, our k -dops will also bound the primitives but in k /2 directions.” See Fig. 2 (shown below)– Variable-sized partitions for clearance between objects are selected ) PNG media_image1.png 339 1068 media_image1.png Greyscale Klosowski in view of Schnaars does not appear to explicitly teach, but Klosowski in view of Schnaars and Qi teaches: wherein in selecting the one or more variable-sized partitions for evaluating clearance between the components in the product assembly, the clearance analysis module is configured to: select the one or more variable-sized partitions from the plurality of variable-sized partitions based on at least one of pre-defined number of components in the variable-sized partitions and threshold clearance analysis cost associated with the variable-sized partitions. ( Qi Abstract “Our algorithm analysis shows that the optimal two or three bounding boxes is the best partition we can get for a reasonable time complexity. The results further show significantly diminishing returns for calculating four bounding boxes and above, since it takes a comparably large amount of calculation to find the optimal four bounding boxes or more.” – Qi teaches the computational cost in terms of maximum bounding boxes. The maximum is 2 or 3, and the method will only use 2 or 3 bounding boxes. The choice of 2 or 3 is based on the elements being bound. ) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claims to modify the partition determinations of Klosowski by the partitioning in bounding boxes of Qi because the person of ordinary skill in the art would be motivated by the aim of Klosowski to limit computational cost, to look to Qi , which demonstrates a fixed small number of bounding boxes improves computation. ( Klosowski Abstract “this paper, we develop and analyze a method, based on bounding-volume hierarchies, for efficient collision detection for objects moving within highly complex environments.” Page 31, Left Column, Last Paragraph – Right Column, First Paragraph “In conjunction with Table 3, Table 4 highlights the corresponding CD query times for each of the construction methods. From this table, it becomes clear that the “min sum” method is typically the best; however, unless one can afford to spend a great deal of additional time preprocessing the environments, the best choice appears to be the “splatter” method, as it takes considerably less time to preprocess and provides CD query times that are nearly as good.”; Qi Abstract “Our algorithm analysis shows that the optimal two or three bounding boxes is the best partition we can get for a reasonable time complexity. The results further show significantly diminishing returns for calculating four bounding boxes and above, since it takes a comparably large amount of calculation to find the optimal four bounding boxes or more.”) Regarding claim 8, claim 8 recites the method executed by the system of claim 18, so claim 8 is rejected for at least the same reasons as claim 8 . Conclusion 07-96 AIA The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. NPL: “A GPU-Accelerated Freeform Surface Offsetting Method for High-Resolution Subtractive 3D Printing (Machining)” by Hossain et al. (Teaches using parallel processing to decompose objects for clearance analysis) NPL: “Fast collision detection approach to facilitate interactive modular fixture assembly design in a virtual environment” by Peng et al. (Teaches automated clearance analysis with parallelization) NPL: “Toward a Theory of Geometric Tolerancing” by Requicha (Teaches automation of manufacturing with tolerance/clearance constraints) NPL: “SCALABLE PARALLEL OCTREE MESHING FOR TERASCALE APPLICATIONS” by Tu et al. (Teaches parallelization for meshing useful in clearance analyses) NPL: “Fast Collision Detection between Massive Models using Dynamic Simplification” by Yoon et al. (Teaches collision detection using simplified potentially colliding regions) US 20190018395 A1 to Vinnik et al. (Teaches automated design clearance for large manufacturing operations) US 20180349546 A1 to Bhave et al. (Teaches using constraints to conduct clearance analysis) US 20060025983 A1 to Arbitter et al. (Teaches using clearance rules to conduct clearance analysis) US 20140180641 A1 to Lee et al. (Teaches parallelizing large clearance analyses) US 20080204454 A1 to Laning et al. (Teaches a simplified method for decomposing objects for clearance analysis) US 6407748 B1 to Xavier (Teaches using swept-body representations to do clearance analysis) US 6099573 A to Xavier (Teaches clearance analysis for translating bodies) US 5867804 A to Pilley (Teaches a specialized coordinate system for clearance analysis) US 5497453 A to Megahed et al. (Teaches using cross-sectional planes to conduct clearance analysis) US 4888707 A to Shimada (Teaches conducting clearance analysis in dynamic systems) Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAY MICHAEL WHITE whose telephone number is (571) 272-7073. The examiner can normally be reached Mon-Fri 11:00-7:00 EST. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ryan Pitaro can be reached at (571) 272-4071. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /J.M.W./Examiner, Art Unit 2188 /RYAN F PITARO/Supervisory Patent Examiner, Art Unit 2188 Application/Control Number: 18/023,833 Page 2 Art Unit: 2188 Application/Control Number: 18/023,833 Page 3 Art Unit: 2188 Application/Control Number: 18/023,833 Page 4 Art Unit: 2188 Application/Control Number: 18/023,833 Page 5 Art Unit: 2188 Application/Control Number: 18/023,833 Page 6 Art Unit: 2188 Application/Control Number: 18/023,833 Page 7 Art Unit: 2188 Application/Control Number: 18/023,833 Page 8 Art Unit: 2188 Application/Control Number: 18/023,833 Page 9 Art Unit: 2188 Application/Control Number: 18/023,833 Page 10 Art Unit: 2188 Application/Control Number: 18/023,833 Page 11 Art Unit: 2188 Application/Control Number: 18/023,833 Page 12 Art Unit: 2188 Application/Control Number: 18/023,833 Page 13 Art Unit: 2188 Application/Control Number: 18/023,833 Page 14 Art Unit: 2188 Application/Control Number: 18/023,833 Page 15 Art Unit: 2188 Application/Control Number: 18/023,833 Page 16 Art Unit: 2188 Application/Control Number: 18/023,833 Page 17 Art Unit: 2188 Application/Control Number: 18/023,833 Page 18 Art Unit: 2188 Application/Control Number: 18/023,833 Page 19 Art Unit: 2188 Application/Control Number: 18/023,833 Page 20 Art Unit: 2188 Application/Control Number: 18/023,833 Page 21 Art Unit: 2188 Application/Control Number: 18/023,833 Page 22 Art Unit: 2188 Application/Control Number: 18/023,833 Page 23 Art Unit: 2188 Application/Control Number: 18/023,833 Page 24 Art Unit: 2188 Application/Control Number: 18/023,833 Page 25 Art Unit: 2188 Application/Control Number: 18/023,833 Page 26 Art Unit: 2188 Application/Control Number: 18/023,833 Page 27 Art Unit: 2188 Application/Control Number: 18/023,833 Page 28 Art Unit: 2188 Application/Control Number: 18/023,833 Page 29 Art Unit: 2188 Application/Control Number: 18/023,833 Page 30 Art Unit: 2188 Application/Control Number: 18/023,833 Page 31 Art Unit: 2188 Application/Control Number: 18/023,833 Page 32 Art Unit: 2188 Application/Control Number: 18/023,833 Page 33 Art Unit: 2188 Application/Control Number: 18/023,833 Page 34 Art Unit: 2188 Application/Control Number: 18/023,833 Page 35 Art Unit: 2188 Application/Control Number: 18/023,833 Page 36 Art Unit: 2188 Application/Control Number: 18/023,833 Page 37 Art Unit: 2188 Application/Control Number: 18/023,833 Page 38 Art Unit: 2188 Application/Control Number: 18/023,833 Page 39 Art Unit: 2188 Application/Control Number: 18/023,833 Page 40 Art Unit: 2188 Application/Control Number: 18/023,833 Page 41 Art Unit: 2188 Application/Control Number: 18/023,833 Page 42 Art Unit: 2188 Application/Control Number: 18/023,833 Page 43 Art Unit: 2188 Application/Control Number: 18/023,833 Page 44 Art Unit: 2188 Application/Control Number: 18/023,833 Page 45 Art Unit: 2188 Application/Control Number: 18/023,833 Page 46 Art Unit: 2188 Application/Control Number: 18/023,833 Page 47 Art Unit: 2188 Application/Control Number: 18/023,833 Page 48 Art Unit: 2188 Application/Control Number: 18/023,833 Page 49 Art Unit: 2188
Read full office action

Prosecution Timeline

Feb 28, 2023
Application Filed
Jun 16, 2026
Non-Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12682295
SYSTEMS AND METHODS FOR CONTROLLING PALLETS IN A MANUFACTURING ENVIRONMENT USING REINFORCEMENT LEARNING
4y 6m to grant Granted Jul 14, 2026
Study what changed to get past this examiner. Based on 1 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
33%
Grant Probability
99%
With Interview (+100.0%)
4y 1m (~8m remaining)
Median Time to Grant
Low
PTA Risk
Based on 12 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month