add assimp

This commit is contained in:
Richard Ward
2025-12-19 16:13:09 +00:00
parent 07f3ab90e6
commit f383e8abd5
3 changed files with 132 additions and 0 deletions

View File

@@ -27,3 +27,4 @@ class SDL3CppConan(ConanFile):
self.requires("cli11/2.6.0")
self.requires("bullet3/3.25")
self.requires("box2d/3.1.1")
self.requires("assimp/6.0.2")

View File

@@ -0,0 +1,45 @@
#!/usr/bin/env python3
"""Produce a cube STL with CadQuery for the Lua scene to load."""
from __future__ import annotations
import argparse
from pathlib import Path
import cadquery as cq
from cadquery import exporters
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Generate a simple cube STL.")
parser.add_argument(
"--size",
type=float,
default=2.0,
help="Edge length of the cube in model units (default: 2.0 to match Lua cube bounds).",
)
parser.add_argument(
"-o",
"--output",
type=Path,
default=Path(__file__).parent / "models" / "cube.stl",
help="Path to write the ASCII STL file.",
)
return parser.parse_args()
def main() -> None:
args = parse_args()
args.output.parent.mkdir(parents=True, exist_ok=True)
cube = cq.Workplane("XY").box(args.size, args.size, args.size)
exporters.export(
cube,
str(args.output),
exportType=exporters.ExportTypes.STL,
opt={"ascii": True},
)
print(f"Wrote cube STL to {args.output}")
if __name__ == "__main__":
main()

86
scripts/models/cube.stl Normal file
View File

@@ -0,0 +1,86 @@
solid
facet normal -1.000000e+00 0.000000e+00 0.000000e+00
outer loop
vertex -1.000000e+00 -1.000000e+00 1.000000e+00
vertex -1.000000e+00 1.000000e+00 -1.000000e+00
vertex -1.000000e+00 -1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal -1.000000e+00 0.000000e+00 0.000000e+00
outer loop
vertex -1.000000e+00 -1.000000e+00 1.000000e+00
vertex -1.000000e+00 1.000000e+00 1.000000e+00
vertex -1.000000e+00 1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal 1.000000e+00 0.000000e+00 0.000000e+00
outer loop
vertex 1.000000e+00 -1.000000e+00 1.000000e+00
vertex 1.000000e+00 -1.000000e+00 -1.000000e+00
vertex 1.000000e+00 1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal 1.000000e+00 -0.000000e+00 0.000000e+00
outer loop
vertex 1.000000e+00 -1.000000e+00 1.000000e+00
vertex 1.000000e+00 1.000000e+00 -1.000000e+00
vertex 1.000000e+00 1.000000e+00 1.000000e+00
endloop
endfacet
facet normal 0.000000e+00 -1.000000e+00 -0.000000e+00
outer loop
vertex 1.000000e+00 -1.000000e+00 1.000000e+00
vertex -1.000000e+00 -1.000000e+00 -1.000000e+00
vertex 1.000000e+00 -1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal -0.000000e+00 -1.000000e+00 0.000000e+00
outer loop
vertex 1.000000e+00 -1.000000e+00 1.000000e+00
vertex -1.000000e+00 -1.000000e+00 1.000000e+00
vertex -1.000000e+00 -1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal 0.000000e+00 1.000000e+00 0.000000e+00
outer loop
vertex 1.000000e+00 1.000000e+00 1.000000e+00
vertex 1.000000e+00 1.000000e+00 -1.000000e+00
vertex -1.000000e+00 1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal 0.000000e+00 1.000000e+00 0.000000e+00
outer loop
vertex 1.000000e+00 1.000000e+00 1.000000e+00
vertex -1.000000e+00 1.000000e+00 -1.000000e+00
vertex -1.000000e+00 1.000000e+00 1.000000e+00
endloop
endfacet
facet normal -0.000000e+00 0.000000e+00 -1.000000e+00
outer loop
vertex 1.000000e+00 1.000000e+00 -1.000000e+00
vertex -1.000000e+00 -1.000000e+00 -1.000000e+00
vertex -1.000000e+00 1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal 0.000000e+00 -0.000000e+00 -1.000000e+00
outer loop
vertex 1.000000e+00 1.000000e+00 -1.000000e+00
vertex 1.000000e+00 -1.000000e+00 -1.000000e+00
vertex -1.000000e+00 -1.000000e+00 -1.000000e+00
endloop
endfacet
facet normal 0.000000e+00 0.000000e+00 1.000000e+00
outer loop
vertex 1.000000e+00 1.000000e+00 1.000000e+00
vertex -1.000000e+00 1.000000e+00 1.000000e+00
vertex -1.000000e+00 -1.000000e+00 1.000000e+00
endloop
endfacet
facet normal 0.000000e+00 0.000000e+00 1.000000e+00
outer loop
vertex 1.000000e+00 1.000000e+00 1.000000e+00
vertex -1.000000e+00 -1.000000e+00 1.000000e+00
vertex 1.000000e+00 -1.000000e+00 1.000000e+00
endloop
endfacet
endsolid