`
`PATENT
`
`MBOT-0038-P04
`
`AUTOMATED MODEL CUSTOMIZATION
`
`RELATED APPLICATIONS
`
`[0001] This application is a continuation of US. Pat. App. No. 13/962,793 filed
`
`on August 8, 2013, which claims the benefit ofU.S. Prov. App. No. 61/680,989 filed on
`
`August 8, 2012, each of which is hereby incorporated by reference in its entirety.
`
`BACKGROUND
`
`[0002] The proliferation of three-dimensional printers and other rapid prototyping
`
`tools has placed substantial fabrication capabilities in the hands of consumers. However,
`
`there remains a need for consumer-oriented applications of this hardware. In particular,
`
`there remains a need for automated tools to simplify consumer-level design and
`
`fabrication of three-dimensional objects.
`
`SUMMARY
`
`[0003] A variety of computer automated tools are disclosed to assist consumers
`
`with using three-dimensional printers. Where a user also has access to a three-
`
`dimensional scanner, the tools may also support automated modifications to scanned
`
`subject matter.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`[0004] The invention and the following detailed description of certain
`
`embodiments thereof may be understood by reference to the following figures:
`
`[0005] Fig. l is a block diagram of a three-dimensional printer.
`
`[0006] Fig. 2 depicts a networked three-dimensional printing environment.
`
`[0007] Fig. 3 shows a three-dimensional printer with a three-dimensional scanner.
`
`[0008] Fig. 4 shows a system for creating customizable multipart models.
`
`[0009] Fig. 5 shows a method for creating customizable multipart models.
`
`[0010] Fig. 6 shows a method for part repair.
`
`[0011] Fig. 7 shows a system for creating customizable models.
`
`[0012] Fig. 8 shows a method for creating customizable models.
`
`Page 1 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`[0013] Fig. 9 shows a method for distributing project kits with printable parts and
`
`tools.
`
`[0014] Fig. 10 shows a kit.
`
`DETAILED DESCRIPTION
`
`[0015] All documents mentioned herein are hereby incorporated in their entirety
`
`by reference. References to items in the singular should be understood to include items in
`
`the plural, and vice versa, unless explicitly stated otherwise or clear from the text.
`
`Grammatical conjunctions are intended to express any and all disjunctive and conjunctive
`
`combinations of conjoined clauses, sentences, words, and the like, unless otherwise stated
`
`or clear from the context. Thus the term “or” should generally be understood to mean
`
`“and/or” and so forth.
`
`[0016] The following description emphasizes three-dimensional printers using
`
`fused deposition modeling or similar techniques where a bead of material is extruded in a
`3, “
`
`layered series of two dimensional patterns as “roads,
`
`paths” or the like to form a three-
`
`dimensional object from a digital model. It will be understood, however, that numerous
`
`additive fabrication techniques are known in the art including without limitation multij et
`
`printing, stereolithography, Digital Light Processor (“DLP”) three-dimensional printing,
`
`selective laser sintering, and so forth. Such techniques may benefit from the systems and
`
`methods described below, and all such printing technologies are intended to fall within
`
`the scope of this disclosure, and within the scope of terms such as “printer”, “three-
`
`dimensional printer”, “fabrication system”, and so forth, unless a more specific meaning
`
`is explicitly provided or otherwise clear from the context.
`
`[0017] Further, it should be appreciated that three-dimensional printers, three-
`
`dimensional scanners, and a variety of three-dimensional modeling techniques are known
`
`in the art. The following description emphasizes applications of these various
`
`technologies to consumer-level use of three-dimensional printers rather than various
`
`technical details that are known in the art.
`
`[0018] Fig. l is a block diagram of a three-dimensional printer. In general, the
`
`printer 100 may include a build platform 102, an extruder 106, an x-y-z positioning
`
`Page 2 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`assembly 108, and a controller 110 that cooperate to fabricate an object 112 within a
`
`working volume 114 of the printer 100.
`
`[0019] The build platform 102 may include a surface 116 that is rigid and
`
`substantially planar. The surface 116 may provide a fixed, dimensionally and positionally
`
`stable platform on which to build the object 112. The build platform 102 may include a
`
`thermal element 130 that controls the temperature of the build platform 102 through one
`
`or more active devices 132, such as resistive elements that convert electrical current into
`
`heat, Peltier effect devices that can create a heating or cooling effect, or any other
`
`thermoelectric heating and/or cooling devices. The thermal element 130 may be coupled
`
`in a communicating relationship with the controller 110 in order for the controller 110 to
`
`controllably impart heat to or remove heat from the surface 116 of the build platform 102.
`
`[0020] The extruder 106 may include a chamber 122 in an interior thereof to
`
`receive a build material. The build material may, for example, include acrylonitrile
`
`butadiene styrene (“ABS”), high-density polyethylene (“HDPL”), polylactic acid
`
`(“PLA”), or any other suitable plastic, thermoplastic, or other material that can usefillly
`
`be extruded to form a three-dimensional object. The extruder 106 may include an
`
`extrusion tip 124 or other opening that includes an exit port with a circular, oval, slotted
`
`or other cross-sectional profile that extrudes build material in a desired cross-sectional
`
`shape.
`
`[0021] The extruder 106 may include a heater 126 (also referred to as a heating
`
`element) to melt thermoplastic or other meltable build materials within the chamber 122
`
`for extrusion through an extrusion tip 124 in liquid form. While illustrated in block form,
`
`it will be understood that the heater 126 may include, e. g., coils of resistive wire wrapped
`
`about the extruder 106, one or more heating blocks with resistive elements to heat the
`
`extruder 106 with applied current, an inductive heater, or any other arrangement of
`
`heating elements suitable for creating heat within the chamber 122 sufficient to melt the
`
`build material for extrusion. The extruder 106 may also or instead include a motor 128 or
`
`the like to push the build material into the chamber 122 and/or through the extrusion tip
`
`124.
`
`[0022] In general operation (and by way of example rather than limitation), a
`
`build material such as ABS plastic in filament form may be fed into the chamber 122
`
`Page 3 of41
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`from a spool or the like by the motor 128, melted by the heater 126, and extruded from
`
`the extrusion tip 124. By controlling a rate of the motor 128, the temperature of the heater
`
`126, and/or other process parameters, the build material may be extruded at a controlled
`
`volumetric rate. It will be understood that a variety of techniques may also or instead be
`
`employed to deliver build material at a controlled volumetric rate, which may depend
`
`upon the type of build material, the volumetric rate desired, and any other factors. All
`
`such techniques that might be suitably adapted to delivery of build material for
`
`fabrication of a three-dimensional object are intended to fall within the scope of this
`
`disclosure.
`
`[0023] The x-y-z positioning assembly 108 may generally be adapted to three-
`
`dimensionally position the extruder 106 and the extrusion tip 124 within the working
`
`volume 114. Thus by controlling the volumetric rate of delivery for the build material and
`
`the x, y, z position of the extrusion tip 124, the object 112 may be fabricated in three
`
`dimensions by depositing successive layers of material in two-dimensional patterns
`
`derived, for example, from cross-sections of a computer model or other computerized
`
`representation of the object 112. A variety of arrangements and techniques are known in
`
`the art to achieve controlled linear movement along one or more axes. The x-y-z
`
`positioning assembly 108 may, for example, include a number of stepper motors 109 to
`
`independently control a position of the extruder 106 within the working volume along
`
`each of an x-axis, a y-axis, and a z-axis. More generally, the x-y-z positioning assembly
`
`108 may include without limitation various combinations of stepper motors, encoded DC
`
`motors, gears, belts, pulleys, worm gears, threads, and so forth. For example, in one
`
`aspect the build platform 102 may be coupled to one or more threaded rods by a threaded
`
`nut so that the threaded rods can be rotated to provide z-axis positioning of the build
`
`platform 102 relative to the extruder 106. This arrangement may advantageously simplify
`
`design and improve accuracy by permitting an x-y positioning mechanism for the
`
`extruder 106 to be fixed relative to a build volume. Any such arrangement suitable for
`
`controllably positioning the extruder 106 within the working volume 114 may be adapted
`
`to use with the printer 100 described herein.
`
`[0024] In general, this may include moving the extruder 106, or moving the build
`
`platform 102, or some combination of these. Thus it will be appreciated that any
`
`Page 4 of41
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`reference to moving an extruder relative to a build platform, working volume, or object,
`
`is intended to include movement of the extruder or movement of the build platform, or
`
`both, unless a more specific meaning is explicitly provided or otherwise clear from the
`
`context. Still more generally, while an x, y, z coordinate system serves as a convenient
`
`basis for positioning within three dimensions, any other coordinate system or
`
`combination of coordinate systems may also or instead be employed, such as a positional
`
`controller and assembly that operates according to cylindrical or spherical coordinates.
`
`[0025] The controller 110 may be electrically or otherwise coupled in a
`
`communicating relationship with the build platform 102, the x-y-z positioning assembly
`
`108, and the other various components of the printer 100. In general, the controller 110 is
`
`operable to control the components of the printer 100, such as the build platform 102, the
`
`x-y-z positioning assembly 108, and any other components of the printer 100 described
`
`herein to fabricate the object 112 from the build material. The controller 110 may include
`
`any combination of software and/or processing circuitry suitable for controlling the
`
`various components of the printer 100 described herein including without limitation
`
`microprocessors, microcontrollers, application-specific integrated circuits, programmable
`
`gate arrays, and any other digital and/or analog components, as well as combinations of
`
`the foregoing, along with inputs and outputs for transceiving control signals, drive
`
`signals, power signals, sensor signals, and so forth. In one aspect, this may include
`
`circuitry directly and physically associated with the printer 100 such as an on-board
`
`processor. In another aspect, this may be a processor associated with a personal computer
`
`or other computing device coupled to the printer 100, e.g., through a wired or wireless
`
`connection. Similarly, various fianctions described herein may be allocated between an
`
`on-board processor for the printer 100 and a separate computer. All such computing
`
`devices and environments are intended to fall within the meaning of the term “controller”
`
`or “processor” as used herein, unless a different meaning is explicitly provided or
`
`otherwise clear from the context.
`
`[0026] A variety of additional sensors and other components may be usefully
`
`incorporated into the printer 100 described above. These other components are
`
`generically depicted as other hardware 134 in Fig. 1, for which the positioning and
`
`mechanical/electrical interconnections with other elements of the printer 100 will be
`
`Page 5 of41
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`readily understood and appreciated by one of ordinary skill in the art. The other hardware
`
`134 may include a temperature sensor positioned to sense a temperature of the surface of
`
`the build platform 102, the extruder 126, or any other system components. This may, for
`
`example, include a thermistor or the like embedded within or attached below the surface
`
`of the build platform 102. This may also or instead include an infrared detector or the like
`
`directed at the surface 116 of the build platform 102.
`
`[0027] In another aspect, the other hardware 134 may include a sensor to detect a
`
`presence of the object 112 at a predetermined location. This may include an optical
`
`detector arranged in a beam-breaking configuration to sense the presence of the object
`
`112 at a predetermined location. This may also or instead include an imaging device and
`
`image processing circuitry to capture an image of the working volume and to analyze the
`
`image to evaluate a position of the object 112. This sensor may be used for example to
`
`ensure that the object 112 is removed from the build platform 102 prior to beginning a
`
`new build on the working surface 116. Thus the sensor may be used to determine whether
`
`an object is present that should not be, or to detect when an object is absent. The
`
`feedback from this sensor may be used by the controller 110 to issue processing
`
`interrupts or otherwise control operation of the printer 100.
`
`[0028] The other hardware 134 may also or instead include a heating element
`
`(instead of or in addition to the thermal element 130) to heat the working volume such as
`
`a radiant heater or forced hot air heater to maintain the object 112 at a fixed, elevated
`
`temperature throughout a build, or the other hardware 134 may include a cooling element
`
`to cool the working volume.
`
`[0029] Fig. 2 depicts a networked three-dimensional printing environment. In
`
`general, the environment 200 may include a data network 202 interconnecting a plurality
`
`of participating devices in a communicating relationship. The participating devices may,
`
`for example, include any number of three-dimensional printers 204 (also referred to
`
`interchangeably herein as “printers”), client devices 206, print servers 208, content
`
`sources 210, mobile devices 212, and other resources 216.
`
`[0030] The data network 202 may be any network(s) or intemetwork(s) suitable
`
`for communicating data and control information among participants in the environment
`
`200. This may include public networks such as the Internet, private networks,
`
`Page 6 of41
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`telecommunications networks such as the Public Switched Telephone Network or
`
`cellular networks using third generation (e.g., 3G or IMT-2000), fourth generation (e.g.,
`
`LTE (E-UTRA) or WiMax-Advanced (IEEE 802. l6m)) and/or other technologies, as
`
`well as any of a variety of corporate area or local area networks and other switches,
`
`routers, hubs, gateways, and the like that might be used to carry data among participants
`
`in the environment 200.
`
`[0031] The three-dimensional printers 204 may be any computer-controlled
`
`devices for three-dimensional fabrication, including without limitation any of the three-
`
`dimensional printers or other fabrication or prototyping devices described above. In
`
`general, each such device may include a network interface comprising, e.g., a network
`
`interface card, which term is used broadly herein to include any hardware (along with
`
`software, firmware, or the like to control operation of same) suitable for establishing and
`
`maintaining wired and/or wireless communications. The network interface card may
`
`include without limitation wired Ethernet network interface cards (“NICs”), wireless
`
`802. ll networking cards, wireless 802. ll USB devices, or other hardware for wireless
`
`local area networking. The network interface may also or instead include cellular network
`
`hardware, wide area wireless network hardware or any other hardware for centralized, ad
`
`hoc, peer-to-peer, or other radio communications that might be used to carry data. In
`
`another aspect, the network interface may include a serial or USB port to directly connect
`
`to a computing device such as a desktop computer that, in turn, provides more general
`
`network connectivity to the data network 202.
`
`[0032] The printers 204 might be made to fabricate any object, practical or
`
`otherwise, that is amenable to fabrication according to each printer’s capabilities. This
`
`may be a model of a house or a tea cup, as depicted, or any other object such as gears or
`
`other machine hardware, replications of scanned three-dimensional objects, or fanciful
`
`works of art.
`
`[0033] Client devices 206 may be any devices within the environment 200
`
`operated by users to initiate, manage, monitor, or otherwise interact with print jobs at the
`
`three-dimensional printers 204. This may include desktop computers, laptop computers,
`
`network computers, tablets, or any other computing device that can participate in the
`
`environment 200 as contemplated herein. Each client device 206 generally provides a
`
`Page 7 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`user interface, which may include a graphical user interface, a text or command line
`
`interface, a voice-controlled interface, and/or a gesture-based interface to control
`
`operation of remote three-dimensional printers 204. The user interface may be maintained
`
`by a locally executing application on one of the client devices 206 that receives data and
`
`status information from, e.g., the printers 204 and print servers 208 concerning pending
`
`or executing print jobs. The user interface may create a suitable display on the client
`
`device 206 for user interaction. In other embodiments, the user interface may be remotely
`
`served and presented on one of the client devices 206, such as where a print server 208 or
`
`one of the three-dimensional printers 204 includes a web server that provides information
`
`through one or more web pages or the like that can be displayed within a web browser or
`
`similar client executing on one of the client devices 206. In one aspect, the user interface
`
`may include a voice controlled interface that receives spoken commands from a user
`
`and/or provides spoken feedback to the user.
`
`[0034] A client device 206 may, for example include a removable memory device
`
`207 such as a USB drive, memory stick, or the like, which may be used for example to
`
`transfer digital models of three-dimensional objects to printers 204.
`
`[0035] The print servers 208 may include data storage, a network interface, and a
`
`processor and/or other processing circuitry. In the following description, where the
`
`functions or configuration of a print server 208 are described, this is intended to include
`
`corresponding fianctions or configuration (e. g., by programming) of a processor of the
`
`print server 208. In general, the print servers 208 (or processors thereof) may perform a
`
`variety of processing tasks related to management of networked printing. For example,
`
`the print servers 208 may manage print jobs received from one or more of the client
`
`devices 206, and provide related supporting fianctions such as content search and
`
`management. A print server 208 may also include a web server that provides web-based
`
`access by the client devices 206 to the capabilities of the print server 208. A print server
`
`208 may also communicate periodically with three-dimensional printers 204 in order to
`
`obtain status information concerning, e. g., availability of printers and/or the status of
`
`particular print jobs, any of which may be subsequently presented to a user through the
`
`web server or any other suitable interface. A print server 208 may also maintain a list of
`
`available three-dimensional printers 204, and may automatically select one of the three-
`
`Page 8 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`dimensional printers 204 for a user-submitted print job, or may permit a user to specify a
`
`single printer, or a group of preferred printers, for fabricating an object. Where the print
`
`server 208 selects the printer automatically, any number of criteria may be used such as
`
`geographical proximity, printing capabilities, current print queue, fees (if any) for use of
`
`a particular three-dimensional printer 204, and so forth. Where the user specifies criteria,
`
`this may similarly include any relevant aspects of three-dimensional printers 204, and
`
`may permit use of absolute criteria (e. g., filters) or preferences, which may be weighted
`
`preferences or unweighted preferences, any of which may be used by a print server 208 to
`
`allocate a print job to a suitable resource.
`
`[0036] In one aspect, the print server 208 may be configured to support
`
`interactive voice control of one of the printers 204. For example, the print server 208 may
`
`be configured to receive a voice signal (e.g., in digitized audio form) from a microphone
`
`or other audio input of the printer 204, and to process the voice signal to extract relevant
`
`content such as a command for the printer. Where the command is recognized as a print
`
`command, the voice signal may be filrther processed to extract additional context or
`
`relevant details. For example, the voice signal may be processed to extract an object
`
`identifier that specifies an object for printing, e.g., by filename, file metadata, or semantic
`
`content. The voice signal may also be processed to extract a dimensional specification,
`
`such as a scale or absolute dimension for an object. The print server 208 may then
`
`generate suitable control signals for return to the printer 204 to cause the printer 204 to
`
`fabricate the object. Where an error or omission is detected, the print server 208 may
`
`return a request for clarification to the printer 204, which may render the request in
`
`spoken form through a speaker, or within a user interface of the printer 204 or an
`
`associated device.
`
`[0037] Other user preferences may be usefully stored at the print server 208 to
`
`facilitate autonomous, unsupervised fabrication of content from content sources 210. For
`
`example, a print server 208 may store a user’s preference on handling objects greater than
`
`a build volume of a printer. These preferences may control whether to resize the object,
`
`whether to break the object into multiple sub-objects for fabrication, and whether to
`
`transmit multiple sub-obj ects to a single printer or multiple printers. In addition, user
`
`preferences or requirements may be stored, such as multi-color printing capability, build
`
`Page 9 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`material options and capabilities, and so forth. More generally, a print queue (which may
`
`be a printer-specific or user-specific queue, and which may be hosted at a printer 204, a
`
`server 208, or some combination of these) may be managed by a print server 208
`
`according to one or more criteria from a remote user requesting a print job. The print
`
`server 208 may also store user preferences or criteria for filtering content, e. g., for
`
`automatic printing or other handling. While this is described below as a feature for
`
`autonomous operation of a printer (such as a printer that locally subscribes to a
`
`syndicated model source), any criteria that can be used to identify models of potential
`
`interest by explicit type (e.g., labeled in model metadata), implicit type (e.g., determined
`
`based on analysis of the model), source, and so forth, may be provided to the print server
`
`208 and used to automatically direct new content to one or more user-specified ones of
`
`the three-dimensional printers 204.
`
`[0038] In one aspect, the processor of the print server may be configured to store
`
`a plurality of print jobs submitted to the web server in a log and to provide an analysis of
`
`print activity based on the log. This may include any type of analysis that might be useful
`
`to participants in the environment 200. For example, the analysis may include tracking of
`
`the popularity of particular objects, or of particular content sources. The analysis may
`
`include tracking of which three-dimensional printers 204 are most popular or least
`
`popular, or related statistics such as the average backlog of pending print jobs at a
`
`number of the three-dimensional printers 204. The analysis may include success of a
`
`particular printer in fabricating a particular model or of a particular printer in completing
`
`print jobs generally. More generally, any statistics or data may be obtained, and any
`
`analysis may be performed, that might be useful to users (e. g., when requesting prints),
`
`content sources (e.g., when choosing new printable objects for publication), providers of
`
`fabrication resources (e.g., when setting fees), or network facilitators such as the print
`
`servers 208.
`
`[0039] A print server 208 may also maintain a database 209 of content, along
`
`with an interface for users at client devices 206 to search the database 209 and request
`
`fabrication of objects in the database 209 using any of the three-dimensional printers 204.
`
`Thus in one aspect, a print server 208 (or any system including the print server 208) may
`
`include a database 209 of three-dimensional models, and the print server 208 may act as a
`
`Page 10 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`server that provides a search engine for locating a particular three-dimensional model in
`
`the database 209. The search engine may be a text-based search engine using keyword
`
`text queries, plain language queries, and so forth. The search engine may also or instead
`
`include an image-based search engine configured to identify three-dimensional models
`
`similar to a two-dimensional or three-dimensional image provide by a user.
`
`[0040] In another aspect, the printer server 208 may periodically search for
`
`suitable content at remote locations on the data network, which content may be retrieved
`
`to the database 209, or have its remote location (e.g., a URL or other network location
`
`identifier) stored in the database 209. In another aspect, the print server 208 may provide
`
`an interface for submission of objects from remote users, along with any suitable
`
`metadata such as a title, tags, creator information, descriptive narrative, pictures,
`
`recommended printer settings, and so forth. In one aspect, the database 209 may be
`
`manually curated according to any desired standards. In another aspect, printable objects
`
`in the database 209 may be manually or automatically annotated according to content
`
`type, popularity, editorial commentary, and so forth.
`
`[0041] The print server 208 may more generally provide a variety of management
`
`functions. For example, the print server 204 may store a location of a predetermined
`
`alternative three-dimensional printer to execute a print job from a remote user in the
`
`event of a failure by the one of the plurality of three-dimensional printers 204. In another
`
`aspect, the print server 208 may maintain exclusive control over at least one of the
`
`plurality of three-dimensional printers 204, such that other users and/or print servers
`
`cannot control the printer. In another aspect, the print server 208 may submit a print job
`
`to a first available one of the plurality of three-dimensional printers 204.
`
`[0042] In another aspect, a print server 208 may provide an interface for
`
`managing subscriptions to sources of content. This may include tools for searching
`
`existing subscriptions, locating or specifying new sources, subscribing to sources of
`
`content, and so forth. In one aspect, a print server 208 may manage subscriptions and
`
`automatically direct new content from these subscriptions to a three-dimensional printer
`
`204 according to any user-specified criteria. Thus while it is contemplated that a three-
`
`dimensional printer 204 may autonomously subscribe to sources of content through a
`
`network interface and receive new content directly from such sources, it is also
`
`Page 11 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`contemplated that this feature may be maintained through a remote resource such as a
`
`print server 208.
`
`[0043] A print server 208 may maintain print queues for participating three-
`
`dimensional printers 204. This approach may advantageously alleviate backlogs at
`
`individual printers 204, which may have limited memory capacity for pending print jobs.
`
`More generally, a print server 208 may, by communicating with multiple three-
`
`dimensional printers 204, obtain a view of utilization of multiple networked resources
`
`that permits a more efficient allocation of print jobs than would be possible through
`
`simple point-to-point communications among users and printers. Print queues may also
`
`be published by a print server 208 so that users can view pending queues for a variety of
`
`different three-dimensional printers 204 prior to selecting a resource for a print job. In
`
`one aspect, the print queue may be published as a number of print jobs and size of print
`
`jobs so that a requester can evaluate likely delays. In another aspect, the print queue may
`
`be published as an estimated time until a newly submitted print job can be initiated.
`
`[0044] In one aspect, the print queue of one of the print servers 208 may include
`
`one or more print jobs for one of the plurality of three-dimensional printers 204. The print
`
`queue may be stored locally at the one of the plurality of three-dimensional printers. In
`
`another aspect, the print queue may be allocated between the database 209 and a local
`
`memory of the three-dimensional printer 204. In another aspect, the print queue may be
`
`stored, for example, in the database 209 of the print server 208. As used here, the term
`
`‘print queue’ is intended to include print data (e. g., the three-dimensional model or tool
`
`instructions to fabricate an object) for a number of print job (which may be arranged for
`
`presentation in order of expected execution), as well as any metadata concerning print
`
`jobs. Thus, a portion of the print queue such as the metadata (e.g., size, status, time to
`
`completion) may be usefillly communicated to a print server 208 for sharing among users
`
`while another portion of the print queue such as the model data may be stored at a printer
`
`in preparation for execution of a print job.
`
`[0045] Print queues may implement various user preferences on prioritization.
`
`For example, for a commercial enterprise, longer print jobs may be deferred for after
`
`normal hours of operation (e. g., after 5:00 pm), while shorter print jobs may be executed
`
`first if they can be completed before the end of a business day. In this manner, objects
`
`Page 12 of4l
`
`
`
`EFS-Web
`
`PATENT
`
`MBOT-0038-P04
`
`can be identified and fabricated from within the print queue in a manner that permits as
`
`many objects as possible to be fabricated before a predetermined closing time. Similarly,
`
`commercial providers of fabrication services may charge explicitly for prioritized
`
`fabrication, and implement this prioritization by prioritizing print queues in a
`
`corresponding fashion.
`
`[0046] In another aspect, a print server 208 may provide a virtual workspace for a
`
`user. In this virtual workspace, a user may search local or remote databases of printable
`
`objects, save objects of interest (or links thereto), manage pending prints, specify
`
`preferences for receiving status updates (e.g., by electronic mail or SMS text), manage
`
`subscriptions to content, search for new subscription sources, and so forth. In one aspect,
`
`the virtual workspace may be, or may include, web-based design tools or a web-based
`
`design interface that permits a user to create and modify models. In one aspect, the virtual
`
`workspace may be deployed on the web, while permitting direct fabrication of a model
`
`developed within that environment on a user-specified one of the three-dimensional
`
`printers 204, thus enabling a web-based design environment that is directly coupled to
`
`one or more fabrication resources.
`
`[0047] The content sources 210 may include any sources of content for
`
`fabrication with a three-dimensional printer 204. This may, for example, include
`
`databases of objects accessible through a web interface or application programming
`
`interface. This may also or instead include individual desktop computers or the like
`
`configured as a server for hosted access, or configured to operate as a peer in a peer-to-
`
`peer network. This may also or instead include content subscription services, which may
`
`be made available in an unrestricted fashion, or may be made available on a paid
`
`subscription basis, or on an authenticated basis based upon some other relationship (e. g.,
`
`purchase of a related product or a ticket to an event). It will be readily appreciated that
`
`any number of content providers may serve as content sources 210 as contemplated
`
`herein. By way of non-limiting example, the content sources 210 may include
`
`destinations