refactor(paths): 路径改由 __file__ 推导,不再写死 G:/Robot_v2

armcore.py 里 ROOT/WORKSPACE/OUT/WEB/DOCS 与三个外部 STEP 输入原本是硬编码
绝对路径,仓库换个盘符就全断。改成由本文件位置推出(REPO.parent 即原
G:/Robot_v2,行为逐字不变),并留 ARM_WORKSPACE / ARM_ROOT / ARM_MODEL_ROOT
三个覆盖入口。保持正斜杠输出,因为 strength_check.py:162 的
OUT.replace("/out", "/web") 依赖这个形状(该写法本身也在这次重构中清掉)。

实测关卡:连续两次 python src/arm_model.py 产物逐字节相同;
travel/collide/screws 三个 JSON 与基线 md5 一致。

同时加 pyproject.toml 声明元数据与运行依赖(不装包,入口用 python -m)。
This commit is contained in:
cbb
2026-10-15 02:23:55 +08:00
parent b67d3ce56e
commit 7e040fc766
2 changed files with 24 additions and 5 deletions
+9 -5
View File
@@ -20,11 +20,15 @@ from OCP.TopAbs import TopAbs_FACE, TopAbs_REVERSED, TopAbs_SOLID
from OCP.TopoDS import TopoDS
V = cq.Vector
ROOT = r"G:/Robot_v2"
SRC_STEP = ROOT + r"/Model/Solidworks/电机.STEP"
HALF_STEP = ROOT + r"/Model/Solidworks/配件/端面齿半联轴器_相同件x2.STEP"
CLAMP_STEP = ROOT + r"/Model/Solidworks/配件/端面齿联轴器_抱箍_两片装配.STEP"
WORKSPACE = ROOT + r"/机器人手臂"
# 路径全部由本文件位置推出,仓库可以整体搬迁;三个环境变量是临时覆盖入口。
_HERE = os.path.dirname(os.path.abspath(__file__)).replace("\\", "/")
WORKSPACE = os.environ.get("ARM_WORKSPACE") or os.path.dirname(_HERE)
ROOT = os.environ.get("ARM_ROOT") or os.path.dirname(WORKSPACE)
MODEL = os.environ.get("ARM_MODEL_ROOT") or (ROOT + r"/Model/Solidworks")
SRC_STEP = MODEL + r"/电机.STEP"
HALF_STEP = MODEL + r"/配件/端面齿半联轴器_相同件x2.STEP"
CLAMP_STEP = MODEL + r"/配件/端面齿联轴器_抱箍_两片装配.STEP"
OUT = WORKSPACE + r"/out"
WEB = WORKSPACE + r"/web"
DOCS = WORKSPACE + r"/docs"