sketchkit.sketch2model package

Subpackages

Submodules

sketchkit.sketch2model.modeler module

Modeler class for sketch-to-3D model conversion.

class sketchkit.sketch2model.modeler.Modeler(method: str = 'sens', device: str = 'cpu')[source]

Bases: object

A class for sketch-to-3D model conversion.

This class provides functionality to convert sketches to 3D model files using various methods (Teddy, SENS, Doubao-Seed3D).

method

The conversion method that is used.

Type:

str

device

The device that is used (for methods that support it).

Type:

str

_run_doubao(sketch_input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Run Doubao-Seed3D method.

_run_sens(sketch_input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Run SENS method.

_run_teddy(sketch_input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Run Teddy method.

run(input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Convert sketch to 3D model.

Parameters:
  • input – Input sketch, can be Sketch object, file path, or numpy array.

  • output_path – Output file path (if None, will be auto-generated).

  • **kwargs – Method-specific parameters.

Returns:

Output file path of the generated 3D model.

Return type:

str

Example

>>> from sketchkit.sketch2model import Modeler
>>> modeler = Modeler(method='teddy')
>>> output = modeler.run(sketch, output_path='output.obj')

Module contents

Sketch2Model - Unified Interface

Provides a unified API for sketch-to-3D model conversion using different methods.

class sketchkit.sketch2model.Modeler(method: str = 'sens', device: str = 'cpu')[source]

Bases: object

A class for sketch-to-3D model conversion.

This class provides functionality to convert sketches to 3D model files using various methods (Teddy, SENS, Doubao-Seed3D).

method

The conversion method that is used.

Type:

str

device

The device that is used (for methods that support it).

Type:

str

_run_doubao(sketch_input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Run Doubao-Seed3D method.

_run_sens(sketch_input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Run SENS method.

_run_teddy(sketch_input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Run Teddy method.

run(input: Sketch | str | np.ndarray, output_path: str | None = None, **kwargs) str[source]

Convert sketch to 3D model.

Parameters:
  • input – Input sketch, can be Sketch object, file path, or numpy array.

  • output_path – Output file path (if None, will be auto-generated).

  • **kwargs – Method-specific parameters.

Returns:

Output file path of the generated 3D model.

Return type:

str

Example

>>> from sketchkit.sketch2model import Modeler
>>> modeler = Modeler(method='teddy')
>>> output = modeler.run(sketch, output_path='output.obj')
sketchkit.sketch2model.sketch_to_3d(sketch_input: Sketch | str | np.ndarray, method: str, output_path: str | None = None, **kwargs) str[source]

Unified function to convert a sketch to a 3D model using various methods.

Parameters:
  • sketch_input – Input sketch, can be Sketch object, file path, or numpy array

  • method – Conversion method (‘teddy’, ‘sens’, or ‘doubao-seed3d’)

  • output_path – Output file path (if None, will be auto-generated)

  • **kwargs – Method-specific parameters

Returns:

Path to generated 3D model file

Return type:

str

Example

>>> from sketchkit.sketch2model import sketch_to_3d
>>> output = sketch_to_3d('sketch.png', method='teddy', output_path='output.obj')