🧊 MS3D#

Usage Example#
from scfile import formats

with formats.mcsb.McsbDecoder("path/to/model.mcsb") as mcsb:
  data = mcsb.decode()

with formats.ms3d.Ms3dEncoder(data) as ms3d:
  ms3d.encode().save("output.ms3d")

Encoder#

class Ms3dEncoder(data, options=None)[source]#

Bases: FileEncoder[ModelContent], Ms3dFileIO

format: FileFormat = 'ms3d'#
signature: Optional[bytes] = b'MS3D000000'#
prepare()[source]#

Perform preparations before serialization. (e.g. calculations in content).

serialize()[source]#

Convert structured self.data into bytes and write to buffer.

Exceptions#

exception Ms3dEncodingError[source]#

Bases: BaseIOError, EncodingError

Base exception for MS3D model related errors.

prefix#
exception Ms3dCountsLimit(type, count, limit)[source]#

Bases: Ms3dEncodingError, UnsupportedError

Raised when model exceeds format limitations.

type: str#
count: int#
limit: int#

IO#

Extensions for MS3D file format with custom struct-based I/O methods.

class Ms3dFileIO(initial_bytes=b'')[source]#

Bases: StructBytesIO