You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solid.Intersection()是否修改输入参数?调用前需克隆实体吗?

Eyeshot v8:调用Solid.Intersection()前是否需要克隆实体对象?

我需要确认在调用Solid.Intersection()方法前是否必须克隆实体对象。目前我使用的是Eyeshot v8.0.265.0版本,用ChatGPT生成的测试用例无法正常运行,测试代码如下:

[Test]
public void TestIntersectionCloning()
{
    // 创建两个存在少量重叠的立方体
    var boxA = Solid.CreateBox(2, 2, 2);
    boxA.Translate(-1, -1, -1);
    var boxB = Solid.CreateBox(2, 2, 2);
    boxB.Translate(0, 0, 0);

    // 克隆立方体
    var clonedA = boxA.Clone() as Solid;
    var clonedB = boxB.Clone() as Solid;

    // 对克隆后的立方体执行相交运算
    var resultA = Solid.Intersection(clonedA, clonedB);

    // 验证原始立方体未被修改
    Assert.That(boxA.Vertices, Is.Not.Null);
    Assert.That(boxB.Vertices, Is.Not.Null);

    // 对原始立方体执行相交运算
    var resultB = Solid.Intersection(boxA, boxB);

    // 验证原始立方体已被修改
    Assert.That(boxA.Vertices, Is.Null);
    Assert.That(boxB.Vertices, Is.Null);

    // 比较两次相交运算的结果
    Assert.That(resultA, Is.EqualTo(resultB));
}

内容的提问来源于stack exchange,提问作者constructor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:24:55