Collaborative Development of a Model on a Network
First Claim
1. A computer-readable medium storing an application programming interface (API) thereon for use with a software application for developing a three-dimensional (3D) model that is stored as model data and includes a plurality of components, each component having one or more elements, wherein the API includes a set of instructions that, when executed on a processor of a first computing device, cause the processor to:
- receive an indication that a selected one of the plurality of components has been modified by the software application in accordance with a set of one or more modification commands received from a user interface of the first computing device;
generate component data indicative of the modifications of the selected component; and
cause an update indication to be transmitted to a collaboration server via a communication network to synchronize the selected component between the first computing device and a second computing device, wherein the collaboration server is communicatively coupled to the first computing device and the second computing device, including;
provide the component data in the update indication, andprovide a component identifier in the update indication, wherein the component identifier uniquely identifies the selected component.
2 Assignments
0 Petitions
Accused Products
Abstract
An application programming interface (API) is provided for use with a modeling software. The API allows users at several devices operating on a network to collaboratively develop a model of an object or a group of objects. The API receives an indication that a selected component has been modified by the modeling software in accordance user commands, generates component data indicative of the modifications of the selected component, and causes an update indication to be transmitted to a collaboration server via a communication network to synchronize the selected component between the first computing device and a second computing device. The update indication may include a component identifier, such that the component identifier uniquely identifies the selected component in the model.
-
Citations
27 Claims
-
1. A computer-readable medium storing an application programming interface (API) thereon for use with a software application for developing a three-dimensional (3D) model that is stored as model data and includes a plurality of components, each component having one or more elements, wherein the API includes a set of instructions that, when executed on a processor of a first computing device, cause the processor to:
-
receive an indication that a selected one of the plurality of components has been modified by the software application in accordance with a set of one or more modification commands received from a user interface of the first computing device; generate component data indicative of the modifications of the selected component; and cause an update indication to be transmitted to a collaboration server via a communication network to synchronize the selected component between the first computing device and a second computing device, wherein the collaboration server is communicatively coupled to the first computing device and the second computing device, including; provide the component data in the update indication, and provide a component identifier in the update indication, wherein the component identifier uniquely identifies the selected component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method in a first computing device for developing a three-dimensional (3D) model in collaboration with a second computing device operating independently of the first computing device, wherein the model includes a plurality of components and wherein each component has one or more elements, the method comprising:
-
causing the model to be stored on a computer-readable medium as model data including a hierarchical tree data structure having a plurality of branches corresponding to the plurality of respective components; in response to a selected one of the plurality of components having been modified at the first computing device, generating a serialized representation of the branch that corresponds to the modified component; and causing the model to be synchronized between the first computing device and the second computing device, including causing an update indication to be transmitted to a collaboration server communicatively coupled to the first computing device and the second computing device, wherein the update indication includes the serialized representation of the one of the plurality of the branches and an indication of the set of transformation operations. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method in a network device for managing collaborative development of a three-dimensional (3D) model at a plurality of client devices communicatively coupled to the network device via a communication network, the method comprising:
-
receiving, from the client devices, a plurality of updates for a component of the model, including receiving indications of respective sets of one or more operations applied to the component; storing the sets of operations in an operation stack, including preserving a relative order of the operations applied to the component, wherein the operation stack includes data on a computer-readable medium; receiving an indication of a last operation performed on the component by another client device; and using the operation stack, generating a list of operations applied to the component that are subsequent to the last operation; and providing the list of operations to the client device from which the indication of the last transformation is received. - View Dependent Claims (22, 23, 24)
-
-
25. A method in a first computing device for collaboratively developing a three-dimensional model stored as model data on a computer-readable medium, wherein the model data includes a hierarchical tree data structure having a plurality of branches corresponding to a plurality of respective components of the three-dimensional model, each component having one or more elements, the method comprising:
-
receiving a selection of one of the plurality of components of the model from an interactive user interface of the computing device; receiving a plurality of modification commands from the user interface, wherein the modification commands correspond to a set of one or more transformation operations to be performed on the selected component; modifying the selected component in accordance with the set of transformation operations; generating a serialized representation of the one of the plurality of the branches that corresponds to the selected component; and causing the 3D model to be synchronized with a second computing device, including; causing an update indication to be transmitted to a collaboration server, wherein the update indication includes the serialized representation of the one of the plurality of the branches and an indication of the set of transformation operations, and wherein the collaboration server is communicatively coupled to the first computing device and the second computing device. - View Dependent Claims (26, 27)
-
Specification