Module: DFC::FaceBool

Class Method Summary # collapse

Class Method Details

.difference(loops1, loops2, normal = nil) ⇒ Array<Array<Array<Geom::Point3d>>>

计算两个面的差集(loops1 - loops2)。

Parameters:

  • loops1 (Array<Array<Geom::Point3d>>)

    被减面,格式为点数组的数组。

  • loops2 (Array<Array<Geom::Point3d>>)

    减去的面,格式为点数组的数组。

  • normal (Geom::Vector3d, nil) (defaults to: nil)

    若为 nil,则自动根据输入面计算法向量。

Returns:

  • (Array<Array<Array<Geom::Point3d>>>)

    差集结果,多面集合,每个面为一个环组成的数组(外环和孔)。

.intersection(loops1, loops2, normal = nil) ⇒ Array<Array<Array<Geom::Point3d>>>

计算两个面的交集。

Parameters:

  • loops1 (Array<Array<Geom::Point3d>>)

    面 1 的外轮廓和内孔,格式为点数组的数组。

  • loops2 (Array<Array<Geom::Point3d>>)

    面 2 的外轮廓和内孔,格式为点数组的数组。

  • normal (Geom::Vector3d, nil) (defaults to: nil)

    若为 nil,则自动根据输入面计算法向量。

Returns:

  • (Array<Array<Array<Geom::Point3d>>>)

    交集结果,多面集合,每个面为一个环组成的数组(外环和孔)。

.union(loops1, loops2, normal = nil) ⇒ Array<Array<Array<Geom::Point3d>>>

计算两个面的并集。

Parameters:

  • loops1 (Array<Array<Geom::Point3d>>)

    面 1 的外轮廓和内孔,格式为点数组的数组。

  • loops2 (Array<Array<Geom::Point3d>>)

    面 2 的外轮廓和内孔,格式为点数组的数组。

  • normal (Geom::Vector3d, nil) (defaults to: nil)

    若为 nil,则自动根据输入面计算法向量。

Returns:

  • (Array<Array<Array<Geom::Point3d>>>)

    并集结果,多面集合,每个面为一个环组成的数组(外环和孔)。

.xor(loops1, loops2, normal = nil) ⇒ Array<Array<Array<Geom::Point3d>>>

计算两个面的对称差(异或)。

Parameters:

  • loops1 (Array<Array<Geom::Point3d>>)

    面 1 的外轮廓和内孔,格式为点数组的数组。

  • loops2 (Array<Array<Geom::Point3d>>)

    面 2 的外轮廓和内孔,格式为点数组的数组。

  • normal (Geom::Vector3d, nil) (defaults to: nil)

    若为 nil,则自动根据输入面计算法向量。

Returns:

  • (Array<Array<Array<Geom::Point3d>>>)

    异或结果,多面集合,每个面为一个环组成的数组(外环和孔)。