跳转至

调试技巧

第六章:调试技巧

6.1 基础调试配置

回顾快速上手 - 2.5 节的三个要点:

  • 启动操作:启动外部程序 → LoongSTC.exe
  • 工作目录:LoongCAD 安装目录
  • 生成后事件:自动复制 DLL 到模型目录 Documents\LoongSTC\Models\<模型名>\config\comps\<组件名>\

⚠️ 如果不配置生成后事件,VS 编译的 DLL 留在 bin\Debug\ 中,LoongCAD 无法加载。必须将 DLL 复制到模型目录下的 config\comps\<组件名>\ 路径中。

6.2 可视化辅助调试

#if DEBUG 块中绘制参考坐标系,是在 3D 场景中验证计算正确性的最佳手段:

#if DEBUG
void DrawCoord(Vector x, Vector y, Vector z, Point origin, double len = 500)
{
    // 原点
    new ControlPoint { Point = new Point(origin) }.Insert();
    // X 轴(红色)
    new ControlLine {
        Line  = new LineSegment(new Point(origin), new Point(origin + x * len)),
        Color = new Color(1, 0, 0)
    }.Insert();
    // Y 轴(绿色)
    new ControlLine {
        Line  = new LineSegment(new Point(origin), new Point(origin + y * len)),
        Color = new Color(0, 1, 0)
    }.Insert();
    // Z 轴(蓝色)
    new ControlLine {
        Line  = new LineSegment(new Point(origin), new Point(origin + z * len)),
        Color = new Color(0, 0, 1)
    }.Insert();
}
#endif

CalcParams() 末尾调用 DrawCoord(axisX, axisY, axisZ, origin),你就能在 3D 视图中看到你计算的坐标系是否合理。

6.3 常见坑及排查

现象 可能原因 排查方法
组件不显示在组件管理器中 DLL 未复制到模型目录,或 [PluginNumber] 冲突 检查 Documents\LoongSTC\Models\<模型>\config\comps\<组件名>\ 下是否有 DLL;检查编号唯一性
DLL 编译成功但软件没反应 生成后事件未配置或路径错误 检查 VS 输出窗口的生成后事件日志;确认模型目录路径存在
板/螺栓位置偏移 工作平面没正确激活或还原 在 DEBUG 下画坐标系,检查位置
GetCenterLine 返回旧数据 没调用 Select() 在所有数据获取前加 Select()
螺母放在板内侧 未设置 Position.RotationThreadInMaterial 检查螺栓的 Rotation 和 ThreadInMaterial 属性
切割面方向反了 Plane 的法向量方向取反 试试 -normalVector