Subdivision-based surface editor
AssigneeSiemens Industry Software Inc.
InventorsVadiraj Mysore, Jeffrey A. Walker
Life of this patent
Estimating the term…
Abstract
Surface editing is performed in typical computer-aided design (CAD) software products by using special tools to edit special surfaces, such as b-splines or subdivision surfaces. It is recognized herein that current approaches to editing surfaces are not generally applicable. For example, common CAD and surface modeling software products are tailored to a specific surface type or vendor specific format, or otherwise are not generally applicable to given analytical and non-analytical surfaces. In various embodiments described herein, subdivision surfaces can be generated to represent any surface. Further, surfaces can be manipulated using a control cage associated with the subdivision surface.
Claims18
A method comprising:
- obtaining a model of an object, the model defining one or more surfaces;
- generating a b-spline approximation associated with a specific surface of the one or more surfaces, the b-spline approximation defining a uniform bi-cubic, b-spline approximation;
- based on the b-spline approximation, extracting a control cage for the specific surface, the control cage defining control points connected together so as to define a shape representative of the specific surface, the shape configured to change when at least one of the control points is moved in space;
- subdividing the control cage so as to generate a subdivision surface representative of the specific surface of the model;
- before generating the b-spline approximation, determining that the specific surface has a surface type that defines a plane, cylinder, sphere, cone, torus, mesh, or b-spline;
- and
- when the surface type defines the plane, cylinder, sphere, cone, torus, mesh, or b-spline, generating the uniform bi-cubic, b-spline approximation based on the surface type of the specific surface.
A computing system comprising:
- a processor;
- and
- a memory storing instructions that, when executed by the processor, configure the system to:
- obtain a model of an object, the model defining one or more surfaces;
- generate a b-spline approximation associated with a specific surface of the one or more surfaces, the b-spline approximation defining a uniform bi-cubic, b-spline approximation;
- based on the b-spline approximation, extract a control cage for the specific surface, the control cage defining control points connected together so as to define a shape representative of the specific surface, the shape configured to change when at least one of the control points is moved in space;
- subdivide the control cage so as to generate a subdivision surface representative of the specific surface of the model;
- before generating the b-spline approximation, determine that the specific surface has a surface type that defines a plane, cylinder, sphere, cone, torus, mesh, or b-spline;
- and
- when the surface type defines the plane, cylinder, sphere, cone, torus, mesh, or b-spline, generate the uniform bi-cubic, b-spline approximation based on the surface type of the specific surface.
A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:
- obtain a model of an object, the model defining one or more surfaces;
- generate a uniform, bi-cubic, b-spline approximation associated with a specific surface of the one or more surfaces;
- based on the uniform, bi-cubic, b-spline approximation, extract a control cage for the specific surface, the control cage defining control points connected together so as to define a shape representative of the specific surface, the shape configured to change when at least one of the control points is moved in space;
- subdivide the control cage so as to generate a subdivision surface representative of the specific surface of the model;
- before generating the b-spline approximation, determine that the specific surface has a surface type that defines a plane, cylinder, sphere, cone, torus, mesh, or b-spline;
- and
- when the surface type defines the plane, cylinder, sphere, cone, torus, mesh, or b-spline, generate the uniform bi-cubic, b-spline approximation based on the surface type of the specific surface.
Dependencies are inferred from the claim text.