Visualizer 2

This commit is contained in:
Vignesh Suresh
2026-06-06 20:43:01 +02:00
parent a4b9a311dd
commit 29dfbf99a5
7 changed files with 1063 additions and 10 deletions
+23 -3
View File
@@ -1,13 +1,17 @@
"""Command-line entry point for the wired3d viewer package.
Usage:
python -m wired3d_viewer view <file.nc> # write a standalone HTML viewer
python -m wired3d_viewer serve [port] # start the drag-and-drop server
python -m wired3d_viewer view <file.nc> # write a standalone NC viewer
python -m wired3d_viewer serve [port] # NC drag-and-drop server
python -m wired3d_viewer view-stl <file.stl> # write a standalone STL viewer
python -m wired3d_viewer serve-stl [port] # STL drag-and-drop server (port 8766)
After ``pip install -e .`` the same commands are available as::
wired3d view <file.nc>
wired3d serve [port]
wired3d view-stl <file.stl>
wired3d serve-stl [port]
Submodules are imported lazily inside each handler so that ``view``/``serve``
only pull in plotly/numpy when actually used.
@@ -35,11 +39,21 @@ def main(argv: list[str] | None = None) -> None:
p_view.add_argument("nc_file", help="path to the .nc file to visualise")
p_serve = sub.add_parser(
"serve", help="start the drag-and-drop web server")
"serve", help="start the NC drag-and-drop web server")
p_serve.add_argument(
"port", nargs="?", type=int, default=8765,
help="TCP port to listen on (default 8765)")
p_view_stl = sub.add_parser(
"view-stl", help="render an STL mesh to a standalone HTML viewer")
p_view_stl.add_argument("stl_file", help="path to the .stl file to visualise")
p_serve_stl = sub.add_parser(
"serve-stl", help="start the STL drag-and-drop web server")
p_serve_stl.add_argument(
"port", nargs="?", type=int, default=8766,
help="TCP port to listen on (default 8766)")
args = parser.parse_args(argv)
if args.command == "view":
@@ -48,6 +62,12 @@ def main(argv: list[str] | None = None) -> None:
elif args.command == "serve":
from .server import main as serve_main
serve_main(args.port)
elif args.command == "view-stl":
from .stl_viewer import main as view_stl_main
view_stl_main(args.stl_file)
elif args.command == "serve-stl":
from .server2 import main as serve_stl_main
serve_stl_main(args.port)
if __name__ == "__main__":