US20140148938A1 - Object Profile for Object Machining - Google Patents
Object Profile for Object Machining Download PDFInfo
- Publication number
- US20140148938A1 US20140148938A1 US13/689,541 US201213689541A US2014148938A1 US 20140148938 A1 US20140148938 A1 US 20140148938A1 US 201213689541 A US201213689541 A US 201213689541A US 2014148938 A1 US2014148938 A1 US 2014148938A1
- Authority
- US
- United States
- Prior art keywords
- machining
- computer
- profile
- machining path
- implemented method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G06F17/50—
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
- B23Q35/00—Control systems or devices for copying directly from a pattern or a master model; Devices for use in copying manually
- B23Q35/04—Control systems or devices for copying directly from a pattern or a master model; Devices for use in copying manually using a feeler or the like travelling along the outline of the pattern, model or drawing; Feelers, patterns, or models therefor
- B23Q35/24—Feelers; Feeler units
- B23Q35/38—Feelers; Feeler units designed for sensing the pattern, model, or drawing without physical contact
- B23Q35/40—Feelers; Feeler units designed for sensing the pattern, model, or drawing without physical contact involving optical or photoelectrical systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36288—Select machining method, parameters as function of dimensions of workpiece
Definitions
- a mobile phone manufacturer can design a mobile phone to have a specific physical profile, such as based on aesthetic and/or ergonomic considerations.
- a number of different techniques are available for manufacturing a product based on a set of form specifications.
- injection molding which forces a heated material into a mold to attain a particular shape with the material.
- materials that can be utilized for injection molding include plastics, resins, metals, and so on. While injection molding can be convenient in a manufacturing scenario, it is typically not suitable for products that have rigid dimensional tolerances and/or finish requirements.
- milling which employs various types of cutting and/or boring tools to shape material to a particular form.
- Typical milling techniques are difficult to utilize for more complex forms and/or surfaces.
- an object profile is generated by measuring attributes of an object, such as its dimensions.
- the object profile can correspond to a data representation of object attributes.
- the object profile is employed to determine a machining path for machining the object based on a particular design and/or pattern.
- an alignment guide is generated that enables an object to be positioned for machining by a machining device.
- the alignment guide for instance, can correspond to a particular position in a coordinate space. Aligning an object with the alignment guide includes moving the object (e.g., rotationally and/or translationally) to align with the alignment guide. When aligned with the alignment guide, the object can be machined according to a specified object profile and/or pattern.
- FIG. 1 is an illustration of an environment in an example implementation that is operable to employ the techniques described herein in accordance with one or more embodiments.
- FIG. 2 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments.
- FIG. 3 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments.
- FIG. 4 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments.
- FIG. 5 illustrates a flow diagram that describes steps in a method in accordance with one or more embodiments.
- FIG. 6 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments.
- FIG. 7 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments.
- FIG. 8 illustrates a flow diagram that describes steps in a method in accordance with one or more embodiments.
- FIG. 9 illustrates an example system including various components of an example device that can be implemented as any type of computing device as described with reference to FIG. 1 to implement embodiments of the techniques described herein.
- an object profile is generated by measuring attributes of an object, such as its dimensions.
- the object profile can correspond to a data representation of object attributes.
- the object profile is employed to determine a machining path for machining the object based on a particular design and/or pattern.
- an alignment guide is generated that enables an object to be positioned for machining by a machining device.
- the alignment guide for instance, can correspond to a particular position in a coordinate space. Aligning an object with the alignment guide includes moving the object (e.g., rotationally and/or translationally) to align with the alignment guide. When aligned with the alignment guide, the object can be machined according to a specified object profile and/or pattern.
- Example Environment discusses an example environment that may employ techniques described herein. Embodiments discussed herein are not limited to the example environment, and the example environment is not limited to embodiments discussed herein.
- Example Implementation Scenarios discusses some example implementation scenarios in accordance with one or more embodiments.
- a section entitled “Corner Machining” describes example implementations for machining object corners in accordance with one or more embodiments.
- an example system and device are discussed that may implement various techniques described herein.
- FIG. 1 is an illustration of an environment 100 in an example implementation that is operable to employ the techniques described herein.
- the environment 100 includes a control device 102 , which can be configured as a computing device that is capable of performing various operations.
- One example implementation of the control device 102 is discussed below with reference to FIG. 9 .
- the control device 102 includes and/or is operably associated with a machining device 104 , which is configured to remove material from portions of an object according to techniques discussed herein.
- the machining device 104 can include types of tools for removal of material from an object, such as tools for boring, cutting, etching, milling, grinding, and so on.
- tools for boring, cutting, etching, milling, grinding, and so on A variety of other machining mechanisms and/or techniques may be employed within the spirit and scope of the claimed embodiments.
- the machining device 104 can include and/or be operably associated with a motive device, such as a motor, a servo, or other suitable mechanism to enable movement of the machining device 104 .
- a motive device such as a motor, a servo, or other suitable mechanism to enable movement of the machining device 104 .
- the machining device 104 can be movable to remove material from an object according to a specified pattern, coordinates, and so on.
- the control device 102 further includes and/or is further operably associated with a sensing device 106 , which is representative of functionality to detect various physical attributes of an object according to techniques discussed herein.
- the sensing device 106 can be configured to measure dimensions of an object, such as an object's length, width, thickness, and so on.
- the sensing device 106 may employ any suitable detecting mechanism and/or combination of mechanisms, such as a contact probe, a laser, an image capture device (e.g., a camera), sonic and/or ultrasonic measurement, and so on. Example implementations of the sensing device 106 are discussed below.
- I/O module 108 is configured to receive various types of input, such as input from a user, another device, a data storage medium, and so on.
- input to the I/O module 108 can include specifications for machining an object to a particular profile.
- the specifications can include machining coordinates (e.g., in a geometric coordinate system) that specify regions and/or portions of an object that are to be machined to match a profile.
- the machining control module 110 represents functionality to control various operations of the machining device 104 .
- the machining control module 110 can represent a driver that provides an interface to the machining device 104 from the I/O module 108 .
- the machining control module 110 can control movement of the machining device 104 according to specified machining coordinates and/or machining pattern for a particular object.
- a sensing control module 112 is further included, which represents functionality to control operation of the sensing device 106 .
- the sensing control module 112 can represent a driver that provides an interface to the sensing device 106 from the I/O module 108 .
- the sensing control module 112 can control motion of the sensing device 106 to enable the sensing device 106 to scan an object and detect various attributes of the object.
- the sensing control module 112 can receive input from the sensing device 106 , such as detected attributes of an object, and can provide the input to other portions of the control device 102 .
- the sensing control module 112 can provide detected object attributes to the machining control module 110 , which can utilize the object attributes to control operation of the machining device 104 in accordance with various embodiments discussed herein.
- the control device 102 is generally associated with a known 3-dimensional coordinate space which the control device 102 may employ to perform various techniques discussed herein. For instance, the machining device 104 and/or the sensing device 106 may be manipulated to particular positions within the known 3-dimensional coordinate space.
- the environment 100 further includes an object 114 , which is representative of an instance of various physical objects which can be machined according to techniques discussed herein.
- the object 114 can be configured as an instance of a wide variety of different objects, such as a computing device (e.g., a mobile computing device), a toy, a medical device, and/or any other object that includes a surface that can be machined. Further illustrated is a side view 116 of a partial cross-section of the object 114 .
- the object 114 is processed by the control device 102 to produce a machined object 118 .
- the machined object 118 includes a machined edge 120 that is applied to the object 114 according to techniques discussed herein.
- the sensing device 106 detects dimensions of the object 114 , such as its length, width, and thickness.
- the dimensions are passed to the machining control module 110 (e.g., by the sensing control module 112 ), which utilizes the dimensions to control operation of the machining device 104 to remove material from the edge of the object 114 . Removal of the material creates the machined edge 120 on the machined object 118 .
- a partial side view 122 that illustrates a side view of the machined edge 120 .
- the example machining of the object 114 to produce the machined object 118 is illustrated for purpose of example only, and techniques discussed herein may be employed to machine a wide variety of different objects and according to a wide variety of different machining patterns.
- FIG. 2 illustrates an example implementation scenario 200 according to techniques described herein.
- the sensing device 106 detects dimensions of an object 202 , such as its length, width, thickness, and so forth.
- the object 202 can be formed from various types of materials, such as plastic, metal and/or metal alloy, resin, natural material, and so forth.
- the object 202 can be formed via an industrial process, such as injection molding, die cutting, and so on.
- the sensing device 106 can employ a variety of different techniques for detect attributes of the object 202 .
- the sensing device 106 can utilize a contact probe that contacts the surface of the object 202 , and moves around the surface to detect its dimensions and/or other surface characteristics. For instance, the sensing device 106 can detect positions of points on the surface of the object 202 relative to a reference coordinate space utilized by the sensing device 106 .
- sensing device 106 Another technique that can be employed by the sensing device 106 is laser scanning, which can detect dimensions of the object 202 . These are but two examples, and a variety of other sensing techniques may be employed in accordance with the claimed embodiments.
- an object profile 204 is generated for the object 202 based on the detected dimensions.
- the object profile 204 is representative of data that describes dimensions and/or other physical attributes of the object 202 .
- the object profile 204 can include data points that describe the relative position of the peripheral surface of the object 202 in a coordinate space.
- the object profile 204 describes the dimensions and relative positions of the outer edge of the object 202 , e.g., the physical outline of the object 202 .
- a machining path 206 is generated based on the object profile 204 .
- the machining path 206 specifies a machining path for the machining device 104 to follow when machining material from the object 202 .
- the machining path 206 specifies a machining path for the machining device 104 to apply an edge pattern to the object 202 .
- FIG. 3 illustrates an example implementation scenario 300 according to techniques described herein.
- the scenario 300 describes an example way of determining a machining path for an object, as introduced above.
- an object profile 302 for an object 304 is illustrated.
- the object profile 302 can be generated based on detected attributes of the object 304 , such as its dimensions and/or relative positions of points on its surface.
- the object profile 302 includes data points that each correspond to positions on an outer surface of the object 304 .
- the data points of the object profile 302 are connected. For instance, continuing with the scenario 300 , a portion 306 of the object profile 302 is illustrated. In the portion 306 , a group of data points is connected by generating an arc 308 using the data points. A half 310 of the arc 308 is selected to generate a corresponding portion of an ablation path.
- a different group of data points from the portion 306 is connected by generating an arc 312 using the data points. Further to this example, notice that the different group of data points includes some data points from the previous point group.
- a half 314 of the arc 312 is selected to generate a corresponding portion of a machining path. For instance, the half 314 is connected to the half 310 to form a portion of a machining path.
- a similar process as discussed above is performed for the remaining data points of the object profile 302 to form a machining path 316 .
- arcs are generated between sets of consecutive data points (e.g., every 3 data points), and portions of the arcs are selected to form portions of the machining path 316 .
- the machining path 316 can be employed as a guide path for guiding a machining device (e.g., the machining device 104 ) to machine portions of the object 304 .
- the machining path 316 can correspond to physical spatial coordinates relative to the object 304 .
- a machining device can be moved along the machining path 316 relative to the object 304 to machine (e.g., ablate) portions of the object 304 .
- FIG. 4 illustrates an example implementation scenario 400 according to techniques described herein.
- the scenario 400 details aspects of machining the object 304 according to the machining path 316 , discussed above.
- a side view of a partial cross-section of the object 304 is illustrated.
- the object 304 is machined according to techniques discussed herein to produce a machined object 402 , e.g., via the control device 102 and associated functionalities.
- the machined object 402 includes a machined edge 404 , which includes a top surface 406 , a first edge surface 408 , a second edge surface 410 , and a bottom surface 412 .
- the machined edge 404 is such that the first edge surface 408 and the second edge surface 410 are located on a peripheral edge of the machined object 402 and are non-coplanar.
- the machined edge 404 is applied to the machined object 402 by moving the machining device 104 around the object 304 according to the machining path 316 , discussed above.
- the machining device 104 can include a cutting tool which is configured to remove material from edges of the object 402 according to a pre-specified design pattern, as indicated by the profile of the machined edge 404 .
- the top surface 406 , the first edge surface 408 , and the second edge surface 410 can be machined into the machined object 402 by the machining device 104 in a single pass around the edge of the object 304 to produce the machined edge 404 .
- techniques discussed herein can be employed to machine multiple edge surfaces in a single machining pass.
- Step 502 generates an object profile based on the attributes. For instance, data points can be generated that correspond to portions of an objects surface. The data points can be connected in various ways to generate a data representation of a physical profile of the object. Example ways of generating an object profile are discussed above.
- the machining path can be based on a predetermined machining pattern that can be adjusted based on the object profile.
- the predetermining machining pattern can be generated (e.g., via user input) to correspond to particular features, such as surface features to be machined into an object.
- the predetermined machining pattern can be specified to be machined at a particular region of an object, such as at a particular offset distance from an edge of the object.
- an object profile can be generated that indicates certain object dimensions.
- the predetermined machining pattern can be adjusted (e.g., positionally and/or dimensionally) to fit the object dimensions such that the predetermined machining pattern is applied at a particular region of the object when the object is machined.
- a machining path can be generated as discussed above to enable the predetermined machining pattern to be applied the particular region when the object is machined.
- Step 506 machines the object based on the machining path.
- a machining tool e.g., the machining device 104
- material can be removed from an object according to a particular pattern, such as to achieve a machined edge and/or other surface on the object.
- corners of an object can be machined to obtain a specific corner profile.
- the corners of a tablet computing device chassis can be machined to conform the tablet to a particular device profile.
- FIG. 6 illustrates an example implementation scenario 600 , in accordance with one or more embodiments.
- the scenario 600 illustrates an alignment guide 602 , which is a data representation of an alignment guide for aligning an object to be machined.
- the alignment guide 602 can be representative of a curved 2-dimensional plane that has a specific location in a 3-dimensional coordinate space.
- the alignment guide 602 can correspond to a known set of coordinates that the control device 102 can utilize to guide the machining device 104 .
- an object 604 is aligned with the alignment guide 602 .
- the object 604 can be physically manipulated (e.g., rotated and/or translated by the control device 102 ) such that a corner 606 of the object 604 is aligned with the alignment guide 602 .
- Alignment of the object 604 corresponds to a placement of the object at particular location in a 3-dimensional coordinate space, such as at a known location and angular orientation.
- alignment of the object 604 can be accomplished by detecting a location and/or orientation of the object 604 , such as via the sensing device 106 .
- the object 604 can be aligned with the alignment guide 602 by manipulating the object 604 such that the corner 606 and surrounding edges of the object 604 overlap with the alignment guide 602 .
- the alignment guide 602 is associated with a particular machining path for a machining device.
- a machining device can follow a particular machining route relative to the alignment guide 602 .
- the alignment guide can correspond directly to a machining route. Alignment of the object 604 with the alignment guide 602 can thus enable the corner 606 and/or other portions of the object 604 to be machined according to a particular (e.g., pre-specified) profile and/or pattern. Other corners and/or regions of the object 604 may be aligned with the alignment guide 602 to enable similar machining of different portions of the object 604 .
- FIG. 7 illustrates an example implementation scenario 700 , in accordance with one or more embodiments.
- the scenario 700 illustrates an example implementation for aligning an object for machining, such as discussed above.
- the upper portion of the scenario 700 includes an object 702 , which is viewed from a side angle.
- the object 700 includes a side 704 , a corner 706 , and a corner 708 .
- the object 702 can be mounted to a mechanism that enables the object 702 to be manipulated in various directions and orientations.
- the control device 102 discussed above can include a servo and/or other mechanism, that can enable physical manipulation of the object 702 .
- the object 702 is rotated such that a side 710 and a corner 712 are visible.
- the object 702 is rotated at a particular degree of rotation (e.g., 45 degrees) about a Z-axis.
- the object 702 is rotated to align the object with an alignment guide 714 .
- the object 702 is rotated about an X-axis at a particular degree of rotation, e.g., 35 degrees.
- Alignment with the alignment guide 714 aligns the corner 712 with a machining path for a machining device 716 to enable the corner 712 and/or other portions to be machined to a particular profile and/or pattern.
- the machining device 716 can be implemented as an embodiment of the machining device 104 , discussed above.
- FIG. 8 is a flow diagram that describes steps in a method in accordance with one or more embodiments.
- Step 800 generates an alignment guide for aligning an object to a machining path.
- the alignment guide can be a data representation of a particular region in a 3-dimensional coordinate space, such as defined by X, Y, and Z coordinates.
- the alignment guide can be generated based on a correspondence between a design profile and/or pattern to be machined into an object, and a particular machining tool to be used to perform the machining.
- Step 802 aligns an object with the alignment guide.
- the object for example, can be manipulated via translation and/or rotation such that the object aligns with the alignment guide.
- alignment with the alignment guide can cause at least a portion of the object (e.g., a corner and/or edge) to overlap with a coordinate region defined by the alignment guide.
- Step 804 machines the object based on a machining path associated with the alignment guide.
- the machining can cause portions of the object (e.g., corners) to be conformed to a particular profile and/or pattern.
- FIG. 9 illustrates an example system generally at 900 that includes an example computing device 902 that is representative of one or more computing systems and/or devices that may implement the various techniques described herein.
- the computing device 902 may be, for example, be configured to assume a variety of different configurations, such as a desktop device, a mobile device, an industrial production device, and so on, although other examples are also contemplated.
- the example computing device 902 as illustrated includes a processing system 904 , one or more computer-readable media 906 , and one or more I/O interface 908 that are communicatively coupled, one to another.
- the computing device 902 may further include a system bus or other data and command transfer system that couples the various components, one to another.
- a system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.
- a variety of other examples are also contemplated, such as control and data lines.
- the processing system 904 is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system 904 is illustrated as including hardware element 910 that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors.
- the hardware elements 910 are not limited by the materials from which they are formed or the processing mechanisms employed therein.
- processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)).
- processor-executable instructions may be electronically-executable instructions.
- the computer-readable media 906 is illustrated as including memory/storage 912 .
- the memory/storage 912 represents memory/storage capacity associated with one or more computer-readable media.
- the memory/storage component 912 may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth).
- the memory/storage component 912 may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth).
- the computer-readable media 906 may be configured in a variety of other ways as further described below.
- Input/output interface(s) 908 are representative of functionality to allow a user to enter commands and information to computing device 902 , and also allow information to be presented to the user and/or other components or devices using various input/output devices.
- input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to recognize movement as gestures that do not involve touch), and so forth.
- Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth.
- the computing device 902 may be configured in a variety of ways to support user interaction.
- the computing device 902 is further illustrated as being communicatively and physically coupled to an input device 914 that is physically and communicatively removable from the computing device 902 .
- an input device 914 that is physically and communicatively removable from the computing device 902 .
- the input device 914 includes one or more keys 916 , which may be configured as pressure sensitive keys, mechanically switched keys, and so forth.
- the input device 914 is further illustrated as include one or more modules 918 that may be configured to support a variety of functionality.
- the one or more modules 918 may be configured to process analog and/or digital signals received from the keys 916 to determine whether a keystroke was intended, determine whether an input is indicative of resting pressure, support authentication of the input device 914 for operation with the computing device 902 , and so on.
- modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types.
- module generally represent software, firmware, hardware, or a combination thereof.
- the features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
- Computer-readable storage media may refer to media and/or devices that enable persistent storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer-readable storage media does not include signals per se.
- the computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data.
- Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.
- Computer-readable signal media may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device 902 , such as via a network.
- Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism.
- Signal media also include any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
- hardware elements 910 and computer-readable media 906 are representative of modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein, such as to perform one or more instructions.
- Hardware may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware.
- ASIC application-specific integrated circuit
- FPGA field-programmable gate array
- CPLD complex programmable logic device
- hardware may operate as a processing device that performs program tasks defined by instructions and/or logic embodied by the hardware as well as a hardware utilized to store instructions for execution, e.g., the computer-readable storage media described previously.
- software, hardware, or executable modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements 910 .
- the computing device 902 may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of a module that is executable by the computing device 902 as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements 910 of the processing system 904 .
- the instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices 902 and/or processing systems 904 ) to implement techniques, modules, and examples described herein.
- aspects of the methods may be implemented in hardware, firmware, or software, or a combination thereof.
- the methods are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. Further, an operation shown with respect to a particular method may be combined and/or interchanged with an operation of a different method in accordance with one or more implementations. Aspects of the methods can be implemented via interaction between various entities discussed above with reference to the environment 100 and/or the example implementation scenarios discussed above.
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Architecture (AREA)
- Software Systems (AREA)
- Numerical Control (AREA)
- Automatic Control Of Machine Tools (AREA)
Abstract
Description
- This application claims priority under 35 USC 119(b) to International Application No. PCT/CN2012/083075 filed Oct. 17, 2012, the disclosure of which is incorporated in its entirety.
- Many products are manufactured according to a specified design or form factor. For instance, a mobile phone manufacturer can design a mobile phone to have a specific physical profile, such as based on aesthetic and/or ergonomic considerations. A number of different techniques are available for manufacturing a product based on a set of form specifications.
- One such technique is injection molding, which forces a heated material into a mold to attain a particular shape with the material. Examples of materials that can be utilized for injection molding include plastics, resins, metals, and so on. While injection molding can be convenient in a manufacturing scenario, it is typically not suitable for products that have rigid dimensional tolerances and/or finish requirements.
- Another such technique is milling, which employs various types of cutting and/or boring tools to shape material to a particular form. Typical milling techniques, however, are difficult to utilize for more complex forms and/or surfaces.
- Thus, certain design scenarios can present a number of challenges to current manufacturing techniques.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
- Techniques for object profile for object machining are described. In at least some implementations, an object profile is generated by measuring attributes of an object, such as its dimensions. The object profile can correspond to a data representation of object attributes. The object profile is employed to determine a machining path for machining the object based on a particular design and/or pattern.
- In at least some implementations, an alignment guide is generated that enables an object to be positioned for machining by a machining device. The alignment guide, for instance, can correspond to a particular position in a coordinate space. Aligning an object with the alignment guide includes moving the object (e.g., rotationally and/or translationally) to align with the alignment guide. When aligned with the alignment guide, the object can be machined according to a specified object profile and/or pattern.
- The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items. Entities represented in the figures may be indicative of one or more entities and thus reference may be made interchangeably to single or plural forms of the entities in the discussion.
-
FIG. 1 is an illustration of an environment in an example implementation that is operable to employ the techniques described herein in accordance with one or more embodiments. -
FIG. 2 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments. -
FIG. 3 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments. -
FIG. 4 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments. -
FIG. 5 illustrates a flow diagram that describes steps in a method in accordance with one or more embodiments. -
FIG. 6 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments. -
FIG. 7 depicts an example implementation scenario of techniques discussed herein in accordance with one or more embodiments. -
FIG. 8 illustrates a flow diagram that describes steps in a method in accordance with one or more embodiments. -
FIG. 9 illustrates an example system including various components of an example device that can be implemented as any type of computing device as described with reference toFIG. 1 to implement embodiments of the techniques described herein. - Overview
- Techniques for object profile for object machining are described. In at least some implementations, an object profile is generated by measuring attributes of an object, such as its dimensions. The object profile can correspond to a data representation of object attributes. The object profile is employed to determine a machining path for machining the object based on a particular design and/or pattern.
- In at least some implementations, an alignment guide is generated that enables an object to be positioned for machining by a machining device. The alignment guide, for instance, can correspond to a particular position in a coordinate space. Aligning an object with the alignment guide includes moving the object (e.g., rotationally and/or translationally) to align with the alignment guide. When aligned with the alignment guide, the object can be machined according to a specified object profile and/or pattern.
- In the following discussion, a section entitled “Example Environment” discusses an example environment that may employ techniques described herein. Embodiments discussed herein are not limited to the example environment, and the example environment is not limited to embodiments discussed herein. Next, a section entitled “Example Implementation Scenarios” discusses some example implementation scenarios in accordance with one or more embodiments. Following this, a section entitled “Corner Machining” describes example implementations for machining object corners in accordance with one or more embodiments. Finally, an example system and device are discussed that may implement various techniques described herein.
- Example Environment
-
FIG. 1 is an illustration of anenvironment 100 in an example implementation that is operable to employ the techniques described herein. Theenvironment 100 includes acontrol device 102, which can be configured as a computing device that is capable of performing various operations. One example implementation of thecontrol device 102 is discussed below with reference toFIG. 9 . - The
control device 102 includes and/or is operably associated with amachining device 104, which is configured to remove material from portions of an object according to techniques discussed herein. For instance, themachining device 104 can include types of tools for removal of material from an object, such as tools for boring, cutting, etching, milling, grinding, and so on. A variety of other machining mechanisms and/or techniques may be employed within the spirit and scope of the claimed embodiments. - Although not expressly illustrated here, the
machining device 104 can include and/or be operably associated with a motive device, such as a motor, a servo, or other suitable mechanism to enable movement of themachining device 104. For instance, themachining device 104 can be movable to remove material from an object according to a specified pattern, coordinates, and so on. - The
control device 102 further includes and/or is further operably associated with asensing device 106, which is representative of functionality to detect various physical attributes of an object according to techniques discussed herein. For instance, thesensing device 106 can be configured to measure dimensions of an object, such as an object's length, width, thickness, and so on. Thesensing device 106 may employ any suitable detecting mechanism and/or combination of mechanisms, such as a contact probe, a laser, an image capture device (e.g., a camera), sonic and/or ultrasonic measurement, and so on. Example implementations of thesensing device 106 are discussed below. - An input/output (I/O)
module 108 and amachining control module 110 are further included. The I/O module 108 is configured to receive various types of input, such as input from a user, another device, a data storage medium, and so on. In at least some implementations, input to the I/O module 108 can include specifications for machining an object to a particular profile. For instance, the specifications can include machining coordinates (e.g., in a geometric coordinate system) that specify regions and/or portions of an object that are to be machined to match a profile. - The
machining control module 110 represents functionality to control various operations of themachining device 104. In at least some implementations, themachining control module 110 can represent a driver that provides an interface to themachining device 104 from the I/O module 108. For instance, themachining control module 110 can control movement of themachining device 104 according to specified machining coordinates and/or machining pattern for a particular object. - A
sensing control module 112 is further included, which represents functionality to control operation of thesensing device 106. For instance, thesensing control module 112 can represent a driver that provides an interface to thesensing device 106 from the I/O module 108. In at least some implementations, thesensing control module 112 can control motion of thesensing device 106 to enable thesensing device 106 to scan an object and detect various attributes of the object. - The
sensing control module 112 can receive input from thesensing device 106, such as detected attributes of an object, and can provide the input to other portions of thecontrol device 102. For instance, thesensing control module 112 can provide detected object attributes to themachining control module 110, which can utilize the object attributes to control operation of themachining device 104 in accordance with various embodiments discussed herein. - The
control device 102 is generally associated with a known 3-dimensional coordinate space which thecontrol device 102 may employ to perform various techniques discussed herein. For instance, themachining device 104 and/or thesensing device 106 may be manipulated to particular positions within the known 3-dimensional coordinate space. - The
environment 100 further includes anobject 114, which is representative of an instance of various physical objects which can be machined according to techniques discussed herein. Theobject 114, for instance, can be configured as an instance of a wide variety of different objects, such as a computing device (e.g., a mobile computing device), a toy, a medical device, and/or any other object that includes a surface that can be machined. Further illustrated is aside view 116 of a partial cross-section of theobject 114. - Further to the
environment 100, theobject 114 is processed by thecontrol device 102 to produce amachined object 118. Themachined object 118 includes amachined edge 120 that is applied to theobject 114 according to techniques discussed herein. - For instance, the
sensing device 106 detects dimensions of theobject 114, such as its length, width, and thickness. The dimensions are passed to the machining control module 110 (e.g., by the sensing control module 112), which utilizes the dimensions to control operation of themachining device 104 to remove material from the edge of theobject 114. Removal of the material creates the machinededge 120 on the machinedobject 118. - Further illustrated is a
partial side view 122 that illustrates a side view of the machinededge 120. The example machining of theobject 114 to produce themachined object 118 is illustrated for purpose of example only, and techniques discussed herein may be employed to machine a wide variety of different objects and according to a wide variety of different machining patterns. - Example Implementation Scenarios
- This section discusses some example implementations scenarios in accordance with various embodiments.
-
FIG. 2 illustrates anexample implementation scenario 200 according to techniques described herein. In the upper portion of thescenario 200, thesensing device 106 detects dimensions of anobject 202, such as its length, width, thickness, and so forth. Theobject 202, for instance, can be formed from various types of materials, such as plastic, metal and/or metal alloy, resin, natural material, and so forth. In at least some implementations, theobject 202 can be formed via an industrial process, such as injection molding, die cutting, and so on. - As referenced above, the
sensing device 106 can employ a variety of different techniques for detect attributes of theobject 202. In at least some implementations, thesensing device 106 can utilize a contact probe that contacts the surface of theobject 202, and moves around the surface to detect its dimensions and/or other surface characteristics. For instance, thesensing device 106 can detect positions of points on the surface of theobject 202 relative to a reference coordinate space utilized by thesensing device 106. - Another technique that can be employed by the
sensing device 106 is laser scanning, which can detect dimensions of theobject 202. These are but two examples, and a variety of other sensing techniques may be employed in accordance with the claimed embodiments. - Continuing to the center portion of the
scenario 200, anobject profile 204 is generated for theobject 202 based on the detected dimensions. Theobject profile 204 is representative of data that describes dimensions and/or other physical attributes of theobject 202. For instance, theobject profile 204 can include data points that describe the relative position of the peripheral surface of theobject 202 in a coordinate space. In this particular example, theobject profile 204 describes the dimensions and relative positions of the outer edge of theobject 202, e.g., the physical outline of theobject 202. - Continuing to the lower portion of the
scenario 200, amachining path 206 is generated based on theobject profile 204. In at least some implementations, themachining path 206 specifies a machining path for themachining device 104 to follow when machining material from theobject 202. In this particular example, themachining path 206 specifies a machining path for themachining device 104 to apply an edge pattern to theobject 202. -
FIG. 3 illustrates anexample implementation scenario 300 according to techniques described herein. Thescenario 300 describes an example way of determining a machining path for an object, as introduced above. - In the upper portion of the
scenario 300, anobject profile 302 for anobject 304 is illustrated. As discussed above, theobject profile 302 can be generated based on detected attributes of theobject 304, such as its dimensions and/or relative positions of points on its surface. In this particular example, theobject profile 302 includes data points that each correspond to positions on an outer surface of theobject 304. - Further to the
scenario 300, to determine a machining path for machining theobject 304, the data points of theobject profile 302 are connected. For instance, continuing with thescenario 300, aportion 306 of theobject profile 302 is illustrated. In theportion 306, a group of data points is connected by generating anarc 308 using the data points. Ahalf 310 of thearc 308 is selected to generate a corresponding portion of an ablation path. - Continuing with the
scenario 300, a different group of data points from theportion 306 is connected by generating anarc 312 using the data points. Further to this example, notice that the different group of data points includes some data points from the previous point group. A half 314 of thearc 312 is selected to generate a corresponding portion of a machining path. For instance, the half 314 is connected to thehalf 310 to form a portion of a machining path. - Continuing to the lower portion of the
scenario 300, a similar process as discussed above is performed for the remaining data points of theobject profile 302 to form amachining path 316. For instance, arcs are generated between sets of consecutive data points (e.g., every 3 data points), and portions of the arcs are selected to form portions of themachining path 316. Themachining path 316 can be employed as a guide path for guiding a machining device (e.g., the machining device 104) to machine portions of theobject 304. For instance, themachining path 316 can correspond to physical spatial coordinates relative to theobject 304. A machining device can be moved along themachining path 316 relative to theobject 304 to machine (e.g., ablate) portions of theobject 304. -
FIG. 4 illustrates anexample implementation scenario 400 according to techniques described herein. In at least some implementations, thescenario 400 details aspects of machining theobject 304 according to themachining path 316, discussed above. In the upper portion of thescenario 400, a side view of a partial cross-section of theobject 304 is illustrated. - Continuing to the lower portion of the
scenario 400, theobject 304 is machined according to techniques discussed herein to produce amachined object 402, e.g., via thecontrol device 102 and associated functionalities. Themachined object 402 includes amachined edge 404, which includes atop surface 406, afirst edge surface 408, asecond edge surface 410, and abottom surface 412. As illustrated, themachined edge 404 is such that thefirst edge surface 408 and thesecond edge surface 410 are located on a peripheral edge of the machinedobject 402 and are non-coplanar. - According to various embodiments, the
machined edge 404 is applied to the machinedobject 402 by moving themachining device 104 around theobject 304 according to themachining path 316, discussed above. Themachining device 104, for instance, can include a cutting tool which is configured to remove material from edges of theobject 402 according to a pre-specified design pattern, as indicated by the profile of the machinededge 404. For instance, thetop surface 406, thefirst edge surface 408, and thesecond edge surface 410 can be machined into the machinedobject 402 by themachining device 104 in a single pass around the edge of theobject 304 to produce themachined edge 404. Thus, in at least some embodiments, techniques discussed herein can be employed to machine multiple edge surfaces in a single machining pass. -
FIG. 5 is a flow diagram that describes steps in a method in accordance with one or more embodiments. Step 500 detects attributes of an object. For instance, dimensions of an object can be measured, such as height, width, thickness, corner angles, and so on. Example ways of measuring device attributes are discussed above. - Step 502 generates an object profile based on the attributes. For instance, data points can be generated that correspond to portions of an objects surface. The data points can be connected in various ways to generate a data representation of a physical profile of the object. Example ways of generating an object profile are discussed above.
- Step 504 determines a machining path based on the object profile. For instance, the machining path can correspond to spatial coordinates defined by the object profile. Alternatively or additionally, the object profile can be manipulated in various ways to determine the machining path. For instance, the object profile can be reduced in size by a particular percentage to produce the machining path.
- In at least some implementations, the machining path can be based on a predetermined machining pattern that can be adjusted based on the object profile. The predetermining machining pattern can be generated (e.g., via user input) to correspond to particular features, such as surface features to be machined into an object. Further, the predetermined machining pattern can be specified to be machined at a particular region of an object, such as at a particular offset distance from an edge of the object. To enable the object to be machined based on the predetermined machining pattern, an object profile can be generated that indicates certain object dimensions. The predetermined machining pattern can be adjusted (e.g., positionally and/or dimensionally) to fit the object dimensions such that the predetermined machining pattern is applied at a particular region of the object when the object is machined. A machining path can be generated as discussed above to enable the predetermined machining pattern to be applied the particular region when the object is machined.
- Step 506 machines the object based on the machining path. For instance, a machining tool (e.g., the machining device 104) can be applied to an object according to the machining path to remove material from the object. As referenced above, material can be removed from an object according to a particular pattern, such as to achieve a machined edge and/or other surface on the object.
- Corner Machining
- In various implementations, corners of an object can be machined to obtain a specific corner profile. For instance, the corners of a tablet computing device chassis can be machined to conform the tablet to a particular device profile. This section discusses some example implementations scenarios for machining object corners in accordance with various embodiments.
-
FIG. 6 illustrates anexample implementation scenario 600, in accordance with one or more embodiments. Thescenario 600 illustrates analignment guide 602, which is a data representation of an alignment guide for aligning an object to be machined. For instance, thealignment guide 602 can be representative of a curved 2-dimensional plane that has a specific location in a 3-dimensional coordinate space. With reference to thecontrol device 102, for example, thealignment guide 602 can correspond to a known set of coordinates that thecontrol device 102 can utilize to guide themachining device 104. - Continuing to the lower portion of the
scenario 600, anobject 604 is aligned with thealignment guide 602. For instance, theobject 604 can be physically manipulated (e.g., rotated and/or translated by the control device 102) such that acorner 606 of theobject 604 is aligned with thealignment guide 602. Alignment of theobject 604 corresponds to a placement of the object at particular location in a 3-dimensional coordinate space, such as at a known location and angular orientation. Further, alignment of theobject 604 can be accomplished by detecting a location and/or orientation of theobject 604, such as via thesensing device 106. Thus, theobject 604 can be aligned with thealignment guide 602 by manipulating theobject 604 such that thecorner 606 and surrounding edges of theobject 604 overlap with thealignment guide 602. - In accordance with various embodiments, the
alignment guide 602 is associated with a particular machining path for a machining device. For instance, a machining device can follow a particular machining route relative to thealignment guide 602. In at least some implementations, the alignment guide can correspond directly to a machining route. Alignment of theobject 604 with thealignment guide 602 can thus enable thecorner 606 and/or other portions of theobject 604 to be machined according to a particular (e.g., pre-specified) profile and/or pattern. Other corners and/or regions of theobject 604 may be aligned with thealignment guide 602 to enable similar machining of different portions of theobject 604. -
FIG. 7 illustrates anexample implementation scenario 700, in accordance with one or more embodiments. Thescenario 700 illustrates an example implementation for aligning an object for machining, such as discussed above. - The upper portion of the
scenario 700 includes anobject 702, which is viewed from a side angle. Theobject 700 includes aside 704, acorner 706, and acorner 708. While not expressly illustrated here, theobject 702 can be mounted to a mechanism that enables theobject 702 to be manipulated in various directions and orientations. For instance, thecontrol device 102 discussed above can include a servo and/or other mechanism, that can enable physical manipulation of theobject 702. - Continuing to the center portion of the
scenario 700, theobject 702 is rotated such that aside 710 and acorner 712 are visible. For instance, theobject 702 is rotated at a particular degree of rotation (e.g., 45 degrees) about a Z-axis. - Continuing to the lower portion of the
scenario 700, theobject 702 is rotated to align the object with analignment guide 714. For instance, theobject 702 is rotated about an X-axis at a particular degree of rotation, e.g., 35 degrees. Alignment with thealignment guide 714 aligns thecorner 712 with a machining path for a machining device 716 to enable thecorner 712 and/or other portions to be machined to a particular profile and/or pattern. The machining device 716 can be implemented as an embodiment of themachining device 104, discussed above. -
FIG. 8 is a flow diagram that describes steps in a method in accordance with one or more embodiments. Step 800 generates an alignment guide for aligning an object to a machining path. For instance, the alignment guide can be a data representation of a particular region in a 3-dimensional coordinate space, such as defined by X, Y, and Z coordinates. In at least some implementations, the alignment guide can be generated based on a correspondence between a design profile and/or pattern to be machined into an object, and a particular machining tool to be used to perform the machining. - Step 802 aligns an object with the alignment guide. The object, for example, can be manipulated via translation and/or rotation such that the object aligns with the alignment guide. As referenced above, alignment with the alignment guide can cause at least a portion of the object (e.g., a corner and/or edge) to overlap with a coordinate region defined by the alignment guide.
- Step 804 machines the object based on a machining path associated with the alignment guide. As discussed above, the machining can cause portions of the object (e.g., corners) to be conformed to a particular profile and/or pattern.
- Example System and Device
-
FIG. 9 illustrates an example system generally at 900 that includes anexample computing device 902 that is representative of one or more computing systems and/or devices that may implement the various techniques described herein. Thecomputing device 902 may be, for example, be configured to assume a variety of different configurations, such as a desktop device, a mobile device, an industrial production device, and so on, although other examples are also contemplated. - The
example computing device 902 as illustrated includes aprocessing system 904, one or more computer-readable media 906, and one or more I/O interface 908 that are communicatively coupled, one to another. Although not shown, thecomputing device 902 may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines. - The
processing system 904 is representative of functionality to perform one or more operations using hardware. Accordingly, theprocessing system 904 is illustrated as includinghardware element 910 that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. Thehardware elements 910 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions. - The computer-readable media 906 is illustrated as including memory/
storage 912. The memory/storage 912 represents memory/storage capacity associated with one or more computer-readable media. The memory/storage component 912 may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). The memory/storage component 912 may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth). The computer-readable media 906 may be configured in a variety of other ways as further described below. - Input/output interface(s) 908 are representative of functionality to allow a user to enter commands and information to
computing device 902, and also allow information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to recognize movement as gestures that do not involve touch), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth. Thus, thecomputing device 902 may be configured in a variety of ways to support user interaction. - The
computing device 902 is further illustrated as being communicatively and physically coupled to an input device 914 that is physically and communicatively removable from thecomputing device 902. In this way, a variety of different input devices may be coupled to thecomputing device 902 having a wide variety of configurations to support a wide variety of functionality. In this example, the input device 914 includes one ormore keys 916, which may be configured as pressure sensitive keys, mechanically switched keys, and so forth. - The input device 914 is further illustrated as include one or
more modules 918 that may be configured to support a variety of functionality. The one ormore modules 918, for instance, may be configured to process analog and/or digital signals received from thekeys 916 to determine whether a keystroke was intended, determine whether an input is indicative of resting pressure, support authentication of the input device 914 for operation with thecomputing device 902, and so on. - Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms “module,” “functionality,” and “component” as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
- An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. The computer-readable media may include a variety of media that may be accessed by the
computing device 902. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.” - “Computer-readable storage media” may refer to media and/or devices that enable persistent storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer-readable storage media does not include signals per se. The computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.
- “Computer-readable signal media” may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the
computing device 902, such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. - As previously described,
hardware elements 910 and computer-readable media 906 are representative of modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein, such as to perform one or more instructions. Hardware may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware. In this context, hardware may operate as a processing device that performs program tasks defined by instructions and/or logic embodied by the hardware as well as a hardware utilized to store instructions for execution, e.g., the computer-readable storage media described previously. - Combinations of the foregoing may also be employed to implement various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or
more hardware elements 910. Thecomputing device 902 may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of a module that is executable by thecomputing device 902 as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/orhardware elements 910 of theprocessing system 904. The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one ormore computing devices 902 and/or processing systems 904) to implement techniques, modules, and examples described herein. - A number of methods are discussed herein that may be implemented to perform techniques discussed herein. Aspects of the methods may be implemented in hardware, firmware, or software, or a combination thereof. The methods are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. Further, an operation shown with respect to a particular method may be combined and/or interchanged with an operation of a different method in accordance with one or more implementations. Aspects of the methods can be implemented via interaction between various entities discussed above with reference to the
environment 100 and/or the example implementation scenarios discussed above. - Conclusion
- Although the example implementations have been described in language specific to structural features and/or methodological acts, it is to be understood that the implementations defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed features.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/689,541 US20140148938A1 (en) | 2012-10-17 | 2012-11-29 | Object Profile for Object Machining |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2012/083075 WO2014059619A1 (en) | 2012-10-17 | 2012-10-17 | Object profile for object machining |
| US13/689,541 US20140148938A1 (en) | 2012-10-17 | 2012-11-29 | Object Profile for Object Machining |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20140148938A1 true US20140148938A1 (en) | 2014-05-29 |
Family
ID=50487439
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/689,541 Abandoned US20140148938A1 (en) | 2012-10-17 | 2012-11-29 | Object Profile for Object Machining |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20140148938A1 (en) |
| WO (1) | WO2014059619A1 (en) |
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8854799B2 (en) | 2012-03-02 | 2014-10-07 | Microsoft Corporation | Flux fountain |
| US8873227B2 (en) | 2012-03-02 | 2014-10-28 | Microsoft Corporation | Flexible hinge support layer |
| US8935774B2 (en) | 2012-03-02 | 2015-01-13 | Microsoft Corporation | Accessory device authentication |
| US8991473B2 (en) | 2012-10-17 | 2015-03-31 | Microsoft Technology Holding, LLC | Metal alloy injection molding protrusions |
| US9027631B2 (en) | 2012-10-17 | 2015-05-12 | Microsoft Technology Licensing, Llc | Metal alloy injection molding overflows |
| US9064654B2 (en) | 2012-03-02 | 2015-06-23 | Microsoft Technology Licensing, Llc | Method of manufacturing an input device |
| US9073123B2 (en) | 2012-06-13 | 2015-07-07 | Microsoft Technology Licensing, Llc | Housing vents |
| US9075566B2 (en) | 2012-03-02 | 2015-07-07 | Microsoft Technoogy Licensing, LLC | Flexible hinge spine |
| US9354748B2 (en) | 2012-02-13 | 2016-05-31 | Microsoft Technology Licensing, Llc | Optical stylus interaction |
| US9360893B2 (en) | 2012-03-02 | 2016-06-07 | Microsoft Technology Licensing, Llc | Input device writing surface |
| US9426905B2 (en) | 2012-03-02 | 2016-08-23 | Microsoft Technology Licensing, Llc | Connection device for computing devices |
| US9432070B2 (en) | 2012-10-16 | 2016-08-30 | Microsoft Technology Licensing, Llc | Antenna placement |
| US9661770B2 (en) | 2012-10-17 | 2017-05-23 | Microsoft Technology Licensing, Llc | Graphic formation via material ablation |
| US9824808B2 (en) | 2012-08-20 | 2017-11-21 | Microsoft Technology Licensing, Llc | Switchable magnetic lock |
| US9870066B2 (en) | 2012-03-02 | 2018-01-16 | Microsoft Technology Licensing, Llc | Method of manufacturing an input device |
| US10120420B2 (en) | 2014-03-21 | 2018-11-06 | Microsoft Technology Licensing, Llc | Lockable display and techniques enabling use of lockable displays |
| US10156889B2 (en) | 2014-09-15 | 2018-12-18 | Microsoft Technology Licensing, Llc | Inductive peripheral retention device |
| US10324733B2 (en) | 2014-07-30 | 2019-06-18 | Microsoft Technology Licensing, Llc | Shutdown notifications |
| USRE48963E1 (en) | 2012-03-02 | 2022-03-08 | Microsoft Technology Licensing, Llc | Connection device for computing devices |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CL2021003554A1 (en) | 2021-12-29 | 2023-08-04 | Univ Tecnica Federico Santa Maria Utfsm | Woodworking tool for collaborative human-robot stereotomy; and method of operation. |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6160264A (en) * | 1998-04-21 | 2000-12-12 | Kreon Industrie | System for plotting a tri-dimensional shape, notably a plantar arch, and method of operating the system for producing an orthopaedic shoe or sole |
| CN1603072A (en) * | 2003-09-29 | 2005-04-06 | 和椿科技股份有限公司 | System and method for automatically generating cutting paths |
| US20080083127A1 (en) * | 2003-12-16 | 2008-04-10 | Renishaw Plc | Method of calibrating a scanning system |
| US20090044113A1 (en) * | 2007-08-07 | 2009-02-12 | Jones Scott T | Creating a Customized Avatar that Reflects a User's Distinguishable Attributes |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10322340B4 (en) * | 2003-05-17 | 2006-09-14 | Mtu Aero Engines Gmbh | Method and device for milling free-form surfaces |
| DE102005022344B4 (en) * | 2005-05-13 | 2008-06-19 | Siemens Ag | Apparatus and method for workpiece measurement |
| US7403833B2 (en) * | 2006-04-03 | 2008-07-22 | Stratasys, Inc. | Method for optimizing spatial orientations of computer-aided design models |
| CN100533316C (en) * | 2007-07-20 | 2009-08-26 | 天津大学 | A machining path generation method for free-form surface of diamond ultra-precision lathe |
| CN102455680A (en) * | 2010-10-19 | 2012-05-16 | 西安扩力机电科技有限公司 | Novel straight-line control numerical control machine |
-
2012
- 2012-10-17 WO PCT/CN2012/083075 patent/WO2014059619A1/en not_active Ceased
- 2012-11-29 US US13/689,541 patent/US20140148938A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6160264A (en) * | 1998-04-21 | 2000-12-12 | Kreon Industrie | System for plotting a tri-dimensional shape, notably a plantar arch, and method of operating the system for producing an orthopaedic shoe or sole |
| CN1603072A (en) * | 2003-09-29 | 2005-04-06 | 和椿科技股份有限公司 | System and method for automatically generating cutting paths |
| US20080083127A1 (en) * | 2003-12-16 | 2008-04-10 | Renishaw Plc | Method of calibrating a scanning system |
| US20090044113A1 (en) * | 2007-08-07 | 2009-02-12 | Jones Scott T | Creating a Customized Avatar that Reflects a User's Distinguishable Attributes |
Cited By (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9354748B2 (en) | 2012-02-13 | 2016-05-31 | Microsoft Technology Licensing, Llc | Optical stylus interaction |
| US9426905B2 (en) | 2012-03-02 | 2016-08-23 | Microsoft Technology Licensing, Llc | Connection device for computing devices |
| US9460029B2 (en) | 2012-03-02 | 2016-10-04 | Microsoft Technology Licensing, Llc | Pressure sensitive keys |
| US8935774B2 (en) | 2012-03-02 | 2015-01-13 | Microsoft Corporation | Accessory device authentication |
| USRE48963E1 (en) | 2012-03-02 | 2022-03-08 | Microsoft Technology Licensing, Llc | Connection device for computing devices |
| US10963087B2 (en) | 2012-03-02 | 2021-03-30 | Microsoft Technology Licensing, Llc | Pressure sensitive keys |
| US9064654B2 (en) | 2012-03-02 | 2015-06-23 | Microsoft Technology Licensing, Llc | Method of manufacturing an input device |
| US10013030B2 (en) | 2012-03-02 | 2018-07-03 | Microsoft Technology Licensing, Llc | Multiple position input device cover |
| US9075566B2 (en) | 2012-03-02 | 2015-07-07 | Microsoft Technoogy Licensing, LLC | Flexible hinge spine |
| US9111703B2 (en) | 2012-03-02 | 2015-08-18 | Microsoft Technology Licensing, Llc | Sensor stack venting |
| US9465412B2 (en) | 2012-03-02 | 2016-10-11 | Microsoft Technology Licensing, Llc | Input device layers and nesting |
| US9134807B2 (en) | 2012-03-02 | 2015-09-15 | Microsoft Technology Licensing, Llc | Pressure sensitive key normalization |
| US9146620B2 (en) | 2012-03-02 | 2015-09-29 | Microsoft Technology Licensing, Llc | Input device assembly |
| US9158384B2 (en) | 2012-03-02 | 2015-10-13 | Microsoft Technology Licensing, Llc | Flexible hinge protrusion attachment |
| US9176901B2 (en) | 2012-03-02 | 2015-11-03 | Microsoft Technology Licensing, Llc | Flux fountain |
| US9268373B2 (en) | 2012-03-02 | 2016-02-23 | Microsoft Technology Licensing, Llc | Flexible hinge spine |
| US8873227B2 (en) | 2012-03-02 | 2014-10-28 | Microsoft Corporation | Flexible hinge support layer |
| US9360893B2 (en) | 2012-03-02 | 2016-06-07 | Microsoft Technology Licensing, Llc | Input device writing surface |
| US8854799B2 (en) | 2012-03-02 | 2014-10-07 | Microsoft Corporation | Flux fountain |
| US8896993B2 (en) | 2012-03-02 | 2014-11-25 | Microsoft Corporation | Input device layers and nesting |
| US9904327B2 (en) | 2012-03-02 | 2018-02-27 | Microsoft Technology Licensing, Llc | Flexible hinge and removable attachment |
| US9134808B2 (en) | 2012-03-02 | 2015-09-15 | Microsoft Technology Licensing, Llc | Device kickstand |
| US9618977B2 (en) | 2012-03-02 | 2017-04-11 | Microsoft Technology Licensing, Llc | Input device securing techniques |
| US9619071B2 (en) | 2012-03-02 | 2017-04-11 | Microsoft Technology Licensing, Llc | Computing device and an apparatus having sensors configured for measuring spatial information indicative of a position of the computing devices |
| US9870066B2 (en) | 2012-03-02 | 2018-01-16 | Microsoft Technology Licensing, Llc | Method of manufacturing an input device |
| US9678542B2 (en) | 2012-03-02 | 2017-06-13 | Microsoft Technology Licensing, Llc | Multiple position input device cover |
| US9710093B2 (en) | 2012-03-02 | 2017-07-18 | Microsoft Technology Licensing, Llc | Pressure sensitive key normalization |
| US9766663B2 (en) | 2012-03-02 | 2017-09-19 | Microsoft Technology Licensing, Llc | Hinge for component attachment |
| US9793073B2 (en) | 2012-03-02 | 2017-10-17 | Microsoft Technology Licensing, Llc | Backlighting a fabric enclosure of a flexible cover |
| US9852855B2 (en) | 2012-03-02 | 2017-12-26 | Microsoft Technology Licensing, Llc | Pressure sensitive key normalization |
| US9073123B2 (en) | 2012-06-13 | 2015-07-07 | Microsoft Technology Licensing, Llc | Housing vents |
| US9824808B2 (en) | 2012-08-20 | 2017-11-21 | Microsoft Technology Licensing, Llc | Switchable magnetic lock |
| US9432070B2 (en) | 2012-10-16 | 2016-08-30 | Microsoft Technology Licensing, Llc | Antenna placement |
| US9661770B2 (en) | 2012-10-17 | 2017-05-23 | Microsoft Technology Licensing, Llc | Graphic formation via material ablation |
| US9027631B2 (en) | 2012-10-17 | 2015-05-12 | Microsoft Technology Licensing, Llc | Metal alloy injection molding overflows |
| US8991473B2 (en) | 2012-10-17 | 2015-03-31 | Microsoft Technology Holding, LLC | Metal alloy injection molding protrusions |
| US10120420B2 (en) | 2014-03-21 | 2018-11-06 | Microsoft Technology Licensing, Llc | Lockable display and techniques enabling use of lockable displays |
| US10324733B2 (en) | 2014-07-30 | 2019-06-18 | Microsoft Technology Licensing, Llc | Shutdown notifications |
| US10156889B2 (en) | 2014-09-15 | 2018-12-18 | Microsoft Technology Licensing, Llc | Inductive peripheral retention device |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014059619A1 (en) | 2014-04-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20140148938A1 (en) | Object Profile for Object Machining | |
| US9915516B2 (en) | Method for controlling shape measuring apparatus | |
| TWI655080B (en) | Three-dimensional printing device and printing correction method | |
| US10661440B2 (en) | Robot teaching device for warning or correcting positional deviation of teaching points or teaching line | |
| US9731452B2 (en) | Three dimensional printer and method for adjusting working coordinate of platform thereof | |
| KR101656948B1 (en) | 3d printer of floating method using powder | |
| US20140222189A1 (en) | Computing device and method for measuring probe of computer numerical control machine | |
| EP3233429B1 (en) | Method of printing out product by 3d-printing system | |
| US9211676B2 (en) | Three-dimensional printing apparatus | |
| CN109997086A (en) | The measurement of the kinematic axis of robot | |
| Liu et al. | Isoplanar-based adaptive sampling for model-unknown sculptured surface coordinate metrology using non-contact probe | |
| JP3972920B2 (en) | NC machine tool and correction processing method | |
| US10274297B2 (en) | Method for controlling shape measuring apparatus | |
| KR101672731B1 (en) | 3d hovering digitizer system using pen tilt | |
| WO2022170572A1 (en) | Method and apparatus for tuning robot path for processing workpiece | |
| CN103659465A (en) | compensation control method for multi-axis machine | |
| JP7342617B2 (en) | Deburring device | |
| JP2009288107A (en) | Shape measuring apparatus, method and program | |
| JPH07182016A (en) | Work path correcting method for robot | |
| US20220317653A1 (en) | Laser projection for cnc workpiece positioning | |
| CN108496145B (en) | Method and system for calibrating touch screen panel with industrial robot, industrial robot and touch screen | |
| WO2021161585A1 (en) | Touchscreen device | |
| KR20210141866A (en) | Error correction kit for automatically correcting rotational errors of attachments and numerical control machining tool having the same | |
| KR20200104184A (en) | Non-contact 3-dimensional coordinate measuring machine of wedge type | |
| JP4060425B2 (en) | Machining data generation method and recording medium for NC machine tools |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, ALLEN DAYONG;NIKKHAH, MASSOOD;LANE, MICHAEL JOSEPH;AND OTHERS;SIGNING DATES FROM 20121120 TO 20121127;REEL/FRAME:029389/0758 |
|
| AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034747/0417 Effective date: 20141014 Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:039025/0454 Effective date: 20141014 |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |