Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving data describing a model, the model describing a curve network; determining boundary continuity constraints for each edge, of each face, in the model; combining the determined boundary continuity constraints to determine respective boundary continuity for each face; and determining, using the respective boundary continuity constraints, a respective surface patch for each face.
Abstract:
A method, apparatus, system, article of manufacture, and computer program product provide the ability to create a pipe route. A point cloud is obtained into a three-dimensional (3D) modeling application. Cylinders in the point cloud are identified and added as solids overlaying the point cloud. All cylinders that make up the pipe route are identified by system aided selection of two or more of the solids. Automatically, and without additional user input, the selected solids are converted into objects. A continuous pipe route is constructed from the objects.
Abstract:
A method, apparatus, system, and computer program product provide the ability to modify a spline (e.g., a civil engineering spline). The spline, defined by a set of connected points, is obtained/acquired. A design constraint set is determined and may include an interpolation constraint (specifying a fixed elevation for a connected point), a slope constraint (specifying a bound on a slope between two of the connected points), and a curvature constraint (specifying; a maximum slope difference of a first slope and a second slope between three connected points). The spline is projected onto the design constraint set thereby modifying the spline by changing elevations of the connected points The modified spline is then projected onto the design constraint set iteratively until the spline satisfies all constraints in the design constraint set.
Abstract:
A centralized optimization engine is configured to receive a problem specification that defines an optimization problem to be solved. The optimization engine classifies the problem specification within a large dataset of previously solved optimization problems. The optimization engine selects one or more solution strategies associated with similar optimization problems, and then executes those solution strategies to solve the optimization problem. Over time, the optimization engine updates the large data set with statistical information that reflects the performance of different solution strategies applied to various optimization problems, thereby increasing the effectiveness with which optimization problems may be solved.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a first source file, the first source file including one or more first computer-aided design models; converting the first source file into a first plurality of files; generating a first snapshot, the first snapshot including the first source file, the first plurality of files, and a first version; receiving a second source file, the second source file having the first format that is readable by the first application, the second source file including one or more second models, the second source file being an updated version of the first source file; converting the second source file into a second plurality of files; generating a second snapshot; and associating the second snapshot with the first snapshot, where the second snapshot being a more recent version than the first snapshot.
Abstract:
A method and apparatus provide the ability to generate a graphical user interface. Two user interface groups are defined that both contain two or more user interface (UI) components that are used to perform operations in an image processing application. The two groups are displayed (in panels having panel dimensions) on a first display device having a first aspect ratio. Each UI component has a corresponding size that it is displayed in and spacing between the UI components has a defined spacing size. The two groups are displayed on a second display device having a second different aspect ratio. The second aspect ratio is such that both panels cannot be completely displayed in the panel dimensions. First UI components are displayed in a first panel while the second panel is displayed with a portion obscured by the first panel.
Abstract:
Embodiments of the invention provide systems and methods for nesting objects in 2D sheets and 3D volumes. In one embodiment, a nesting application simplifies the shapes of parts and performs a rigid body simulation of the parts dropping into a 2D sheet or 3D volume. In the rigid body simulation, parts begin from random initial positions on one or more sides and drop under the force of gravity into the 2D sheet or 3D volume until coming into contact with another part, a boundary, or the origin of the gravity. The parts may be dropped according to a particular order, such as alternating large and small parts. Further, the simulation may be translation- and/or position-only, meaning the parts do not rotate and/or do not have momentum, respectively. Tighter packing may be achieved by incorporating user inputs and simulating jittering of the parts using random forces.
Abstract:
A method, apparatus, and system provide the ability to interact with a virtual stereoscopic object. A set of sensors is placed adjacent to a stereoscopic viewing area. A stereoscopic object is projected in the stereoscopic viewing area. A user's body part is tracked using the set of sensors. A gesture of the user's body part is determined (based on the tracking). Based on the gesture, an interaction event is actively and dynamically applied to the stereoscopic object.
Abstract:
One embodiment of the present invention sets forth a technique for joining meshes of primitives. The technique involves receiving a first mesh boundary and a second mesh boundary, removing a first surface associated with the first mesh boundary, and removing a second surface associated with the second mesh boundary. The technique further involves joining a first vertex associated with the first mesh boundary to a first plurality of vertices associated with the second mesh boundary to form a joined surface. Finally, the technique involves performing one or more mesh refinement passes on the joined surface to generate a refined mesh surface.
Abstract:
One embodiment of the present invention sets forth a technique for zippering meshes of primitives. The technique involves identifying a first vertex associated with a first mesh boundary and having a first position and identifying a second vertex that is proximate to the first vertex and associated with a second mesh boundary, where the second vertex has a second position. The technique further involves determining a third position based on the first position, the second position, and a zippering strength factor, where the third position is located in a region between the first position and the second position. Filially, the technique involves moving the first vertex to the third position.