Collaborative development of a model on a network
First Claim
1. A computer usable memory 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 including a linear listing of the one or more elements of the selected component such that the set of one or more modification commands applied to the selected component is specified relative to the one or more elements included in 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, and wherein the update indication includes;
the component data, anda component identifier that 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.
53 Citations
23 Claims
-
1. A computer usable memory 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 including a linear listing of the one or more elements of the selected component such that the set of one or more modification commands applied to the selected component is specified relative to the one or more elements included in 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, and wherein the update indication includes; the component data, and a component identifier that 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 component 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 branch and an indication of a set of transformation operations corresponding to modifications applied to particular elements within the modified component. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method in a first computing device for collaboratively developing a three-dimensional (3D) 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 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 a user interface of the first 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 one or more transformation operations; generating a serialized representation of one of the plurality of the branches that corresponds to the selected component; and causing the 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 one or more transformation operations specified relative to one or more elements included in the selected component, and wherein the collaboration server is communicatively coupled to the first computing device and the second computing device. - View Dependent Claims (22, 23)
-
Specification