Skip to content

Bound box error for shapes formed from intersection with loft. #168

@gulamf

Description

@gulamf

Hello
See code below.

The bound box for the first example seems to be fine.
That is the intersection of a cylinder and a box.

However the second example, the bound box is wrong.
It seems to refer back to the original loft and not the new intersected shape.

Output from at the console is

Cylinder zmax 5
Box0 zmax 2.5
Intersection0 zmax 2.5 <--------Correct
Loft zmax 20.00000000000149
Box1 zmax 2.5
Intersection1 zmax 20.00000000000149 <--------Incorrect

Any ideas?


function bbzmax(shape) {
    var box = new oc.Bnd_Box();
    oc.BRepBndLib.prototype.Add(shape, box);
    return box.GetZmax();
}


//---------NO ERROR--------------
let c = Cylinder(2.5,5);
let b0 = Box(10,10,5,true);
let i0 = Intersection([c,b0]);

console.log("Cylinder zmax " + bbzmax(c));
console.log("Box0 zmax " + bbzmax(b0));
console.log("Intersection0 zmax " + bbzmax(i0));


//----------------ERROR-------------
// Sketch: An interface for drawing 2D shapes and curves
let face = new Sketch([-10,-8]).Fillet(2).
               LineTo([ 10,-8]).Fillet(2).
               LineTo([  0, 8]).Fillet(2).
               End(true).Face();

// Loft: Interpolates along an array of Wires into a continuous solid shape
let l =   Loft([GetWire(face), Translate([0,0,20], Circle(8, true))]);
let b1 =  Box(10,10,5,true);
let i1 = Intersection([l,b1]);

console.log("Loft zmax " + bbzmax(l));
console.log("Box1 zmax " + bbzmax(b1));
console.log("Intersection1 zmax " + bbzmax(i1));

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions