初始提交:机械臂 CadQuery 建模源码、设计文档与 3D 查看器
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Assemble the single-file viewer: three.js (inline, no CDN) + mesh data + 2D sheets."""
|
||||
import io
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
try:
|
||||
sys.stdout.reconfigure(encoding="utf-8")
|
||||
except Exception:
|
||||
pass
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
from armcore import WEB, DOCS
|
||||
SRC = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
three = io.open(WEB + "/three_inline.js", encoding="utf-8").read()
|
||||
assert len(three) > 400000, len(three)
|
||||
data = io.open(WEB + "/mesh_arm.json", encoding="utf-8").read()
|
||||
sheets = io.open(WEB + "/sheets.jsdata", encoding="utf-8").read()
|
||||
col = io.open(DOCS + "/collision.json", encoding="utf-8").read() if os.path.exists(
|
||||
DOCS + "/collision.json") else "[]"
|
||||
trv = io.open(DOCS + "/travel.json", encoding="utf-8").read() if os.path.exists(
|
||||
DOCS + "/travel.json") else "[]"
|
||||
tpl = io.open(SRC + "/viewer_tpl.html", encoding="utf-8").read()
|
||||
out = (tpl.replace("/*__THREE__*/", three)
|
||||
.replace("/*__DATA__*/", data)
|
||||
.replace("/*__SHEETS__*/", sheets)
|
||||
.replace("/*__COL__*/", col)
|
||||
.replace("/*__TRAVEL__*/", trv))
|
||||
assert "/*__" not in out, [l for l in out.split("\n") if "/*__" in l][:3]
|
||||
dst = WEB + "/机器人手臂3D查看器.html"
|
||||
io.open(dst, "w", encoding="utf-8").write(out)
|
||||
io.open(WEB + "/index.html", "w", encoding="utf-8").write(out)
|
||||
print("viewer %s %.2f MB (three %.0f KB + data %.0f KB + sheets %.0f KB)" % (
|
||||
dst, os.path.getsize(dst) / 1e6, len(three) / 1024, len(data) / 1024, len(sheets) / 1024))
|
||||
os._exit(0)
|
||||
Reference in New Issue
Block a user