Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
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.
Claim(s) 1, 7-10, 16-18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Fowler (US-20120262458-A1) in view of Thivierge (US-12154242-B1) .
Regarding claim 1, Fowler teaches A computer-implemented method in which one or more computing systems perform operations comprising: providing a graphical interface that displays a plurality of graphical objects including a moving object and a static object, wherein the moving object is translatable in the graphical interface from a first location to a second location based on user input (Para 48-50 and 60-70: teaches a GUI displaying multiple objects. Para 84-92 and figures 10a-10e: teaches selecting and translating an object based on user input relative to another object); generating an impact contour for the moving object, the impact contour having a predefined distance from a first boundary of the moving object and configured to translate with the moving object as the moving object is translated from the first location to the second location (Para.72: teaches a manipulator uses object bounding box with 10-20% buffer space. Para 87: bounding box/ manipulator is slightly larger than object boundary. Para.88 -90: the manipulator moves with the object during translation); based on detecting that the impact contour of the moving object intersects a second boundary of the static object (Para 87-90: snapping occurs when manipulator/bounding region touches another objects bounding region); updating the graphical interface to execute a snapping operation by translating the moving object to the second location where the first snapping point and the second snapping point touch each other (Para. 86-92 and figs 10a-10e: the object is translated and snaps/mates adjacent to another object).
Fowler fails to teach determining a first snapping point on the first boundary of the moving object and a second snapping point on the second boundary of the static object.
Thivierge teaches determining a first snapping point on the first boundary of the moving object and a second snapping point on the second boundary of the static object (Col.10 lines 6-12 and col 13-14 lines 55-67 and 1-5: snaps points located along the boundary of an object and the snaps points correspond to specific locations. It would have been obvious to modify Fowler to incorporate the snap-point techniques of Thivierge to improves alignment precision by enabling snapping to specific boundary locations rather than general proximity based mating).
Regarding claim 7, Fowler in view of Thivierge teaches The computer-implemented method of claim 1, wherein translating the moving object to the second location comprises: determining a connection distance based on the first snapping point and the second snapping point (Thivierge, Col 9 lines 58-67, col 10 lines 1-25 and col.15 -16: teaches identifying corresponding snap points on respective objects and positioning one object relative to another based on those snap points. Determining how far the object must move to align the snap point inherently involves determining a distance between the first and second snapping points), wherein the connection distance corresponds to a linear distance between the first snapping point and the second snapping point (Thivierge, col.15 -16: teaches snap to snap point location. Fowler, Para 88-92: teaches object translated into snapped/mated position. Snapping one point to another requires moving the object from its current snap points to the target snap point. This movement corresponds to the straight-line (linear) distance between the two snapping points, which is inherent in aligning one point with another) ; and translating the moving object by the connection distance in alignment with a direction defined by the first snapping point and the second snapping point (Fowler, Para 88-92 and fig. 10a – 10e: teaches translating a moving object into alignment with another object during snapping/mating operations. Thivierge, col.15 -16: teaches snap to snap point location).
Regarding claim 8, Fowler in view of Thivierge teaches The computer-implemented method of claim 1, wherein updating the graphical interface further comprises: determining that a connection distance between the first boundary of the moving object and the second boundary of the static object is outside of a predefined tolerance associated with the connection distance (Thivierge, Col 15: teaches determine whether the closest boundary is within or more than a threshold distance from a snap. Col 15: Teaches evaluating the distance between object boundary geometry and a snap point and determining whether that distance is within a threshold. If the distance is more than the threshold the object does not yet snap.) ; and based on the connection distance being outside of the predefined tolerance, updating the graphical interface by translating the moving object from the first location to the second location such that the moving object remains uncoupled to the static object ( Fowler, Para 88-92 and fig. 10a – 10e: teaches translating a moving object into alignment with another object during snapping/mating operations. Thivierge, col.15 -16: teaches that when an object is more than a threshold distance from the snap point, it may move freely and proportionally with user input instead of immediately snapping).
Regarding claim 9, Fowler in view of Thivierge teaches The computer-implemented method of claim 1, wherein updating the graphical interface further comprises generating a visual indicator associated with the second boundary of the static object and the first boundary of the moving object to indicate execution of the snapping operation (Fowler, Para. 73, 80 and figs 10b-10e: teaches that the GI is updated to display icons, glyphs, and graphics that visually indicate the active manipulation operation. Thivierge, Col 9 lines 58-67, col 10 lines 1-25: teaches snap points are placed along the boundary of the respective object and cols 12-14: teaches that the snap points are tied to object boundary).
Regarding claim 10, Fowler teaches A system comprising: a processing device; and a non-transitory computer-readable medium communicatively coupled to the processing device, wherein the processing device is configured to execute program code stored in the non-transitory computer-readable medium and thereby perform operations comprising (Para.39: operating system):: providing a graphical interface that displays a plurality of graphical objects including a moving object and a static object, wherein the moving object is translatable in the graphical interface from a first location to a second location based on user input (Para 48-50 and 60-70: teaches a GUI displaying multiple objects. Para 84-92 and figures 10a-10e: teaches selecting and translating an object based on user input relative to another object); generating an impact contour for the moving object, the impact contour having a predefined distance from a first boundary of the moving object and configured to translate with the moving object as the moving object is translated from the first location to the second location (Para.72: teaches a manipulator uses object bounding box with 10-20% buffer space. Para 87: bounding box/ manipulator is slightly larger than object boundary. Para.88 -90: the manipulator moves with the object during translation); based on detecting that the impact contour of the moving object intersects a second boundary of the static object (Para 87-90: snapping occurs when manipulator/bounding region touches another objects bounding region); updating the graphical interface to execute a snapping operation by translating the moving object to the second location where the first snapping point and the second snapping point touch each other (Para. 86-92 and figs 10a-10e: the object is translated and snaps/mates adjacent to another object).
Fowler fails to teach determining a first snapping point on the first boundary of the moving object and a second snapping point on the second boundary of the static object.
Thivierge teaches determining a first snapping point on the first boundary of the moving object and a second snapping point on the second boundary of the static object (Col.10 lines 6-12 and col 13-14 lines 55-67 and 1-5: snaps points located along the boundary of an object and the snaps points correspond to specific locations. It would have been obvious to modify Fowler to incorporate the snap-point techniques of Thivierge to improves alignment precision by enabling snapping to specific boundary locations rather than general proximity based mating).
Regarding claim 16, It falls under the same rejection as claim 7 because it is similar in scope and dependent upon same references.
Regarding claim 17, It falls under the same rejection as claim 8 because it is similar in scope and dependent upon same references.
Regarding claim 18, Fowler teaches A non-transitory computer-readable medium having program code that is stored thereon, the program code executable by one or more processing devices for performing operations comprising (Para.39: operating system): providing a graphical interface that displays a plurality of graphical objects including a moving object and a static object, wherein the moving object is translatable in the graphical interface from a first location to a second location based on user input (Para 48-50 and 60-70: teaches a GUI displaying multiple objects. Para 84-92 and figures 10a-10e: teaches selecting and translating an object based on user input relative to another object); generating an impact contour for the moving object, the impact contour having a predefined distance from a first boundary of the moving object and configured to translate with the moving object as the moving object is translated from the first location to the second location (Para.72: teaches a manipulator uses object bounding box with 10-20% buffer space. Para 87: bounding box/ manipulator is slightly larger than object boundary. Para.88 -90: the manipulator moves with the object during translation); based on detecting that the impact contour of the moving object intersects a second boundary of the static object (Para 87-90: snapping occurs when manipulator/bounding region touches another objects bounding region); updating the graphical interface to execute a snapping operation by translating the moving object to the second location where the first snapping point and the second snapping point touch each other (Para. 86-92 and figs 10a-10e: the object is translated and snaps/mates adjacent to another object).
Fowler fails to teach determining a first snapping point on the first boundary of the moving object and a second snapping point on the second boundary of the static object.
Thivierge teaches determining a first snapping point on the first boundary of the moving object and a second snapping point on the second boundary of the static object (Col.10 lines 6-12 and col 13-14 lines 55-67 and 1-5: snaps points located along the boundary of an object and the snaps points correspond to specific locations. It would have been obvious to modify Fowler to incorporate the snap-point techniques of Thivierge to improves alignment precision by enabling snapping to specific boundary locations rather than general proximity based mating).
Regarding claim 20, It falls under the same rejection as claim 8 because it is similar in scope and dependent upon same references.
Claim(s) 2, 11, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Fowler (US-20120262458-A1) in view of Thivierge (US-12154242-B1) in further view of Seilbold (US-20100017007-A1).
Regarding claim 2, Fowler in view of Thivierge teaches The computer-implemented method of claim 1, but fails to teach wherein the first boundary of the moving object is defined based on a first set of curves, and wherein the impact contour is generated by projecting the first set of curves by a predefined offset to generate a second set of curves defining the impact contour.
Seibold teaches wherein the first boundary of the moving object is defined based on a first set of curves( Para.75: discloses a particular point on the boundary of the input CAD model and describes corresponding geometry relative to a point on a curve, showing that the model boundary is represented using curve-based geometry. Para.108: teaches that an exceptional point on the original model boundary is mapped into a curve.), and wherein the impact contour is generated by projecting the first set of curves (Para.75: discloses that the difference between an offset point and a corresponding point is a displacement vector, and describes projected/displaced geometry associated with the curve. Para. 108: teaches use of a projection technique and mapping from the original model boundary to the offset surface boundary. These sections teach generating new geometry from the original curve-based boundary by projection/displacement of that boundary geometry) by a predefined offset( Para.75: teaches an offset point relative to the original geometry and a corresponding displacement vector. Para 108: teaches an offset surface boundary arising from the original boundary. These sections teach offsetting the original boundary geometry to form new boundary geometry). to generate a second set of curves defining the impact contour (Para.108: discloses that a value on the original surface is mapped to an entire boundary curve of the offset surface, and further teaches the offset surface boundary as distinct from the original model boundary. It would have been obvious to modify Fowler in view of Thivierge to incorporate the curve-offset techniques of Seibold to improve geometric precision by defining object boundaries using curve-based representations and generating offset contours for more accurate snapping operations).
Regarding claim 11, It falls under the same rejection as claim 2 because it is similar in scope and dependent upon same references.
Regarding claim 19, It falls under the same rejection as claim 2 because it is similar in scope and dependent upon same references.
Allowable Subject Matter
Claims 3 and 12 are objected to as allowable subject matter. The following is a statement of reasons for the indication of allowable subject matter: None of the prior art teaches such limitations “identifying one or more overlapping segments of the static object and the impact contour of the moving object by comparing one or more Bezier curves used to form the second boundary of the static object and the impact contour; and determining at least one intersection point of the static object and the impact contour by applying a subdivision algorithm to the one or more overlapping segments, wherein the subdivision algorithm is configured to determine one or more Bezier curve parameters corresponding to the at least one intersection point.”.
Claims 4 and 13 and its dependents 5-6, and 14-15 are objected to as allowable subject matter. The following is a statement of reasons for the indication of allowable subject matter: None of the prior s “determining a first set of surface tangents corresponding to a first plurality of points forming the first region of interest and a second set of surface tangents corresponding to a second plurality of points forming the second region of interest; and applying a similarity search corresponding to the first set of surface tangents and the second set of surface tangents to determine the first snapping point and the second snapping point, wherein a similarity metric between a first surface tangent corresponding to the first snapping point and a second surface tangent corresponding to the second snapping point is above a predefined threshold.”.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LATRELL ANTHONY CREARY whose telephone number is (703)756-1219. The examiner can normally be reached Mon - Fri 7:30am - 4:30pm.
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, Xiao WU can be reached on (571) 272-7761. 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.
/LATRELL ANTHONY CREARY/Examiner, Art Unit 2613
/XIAO M WU/Supervisory Patent Examiner, Art Unit 2613