Losing/wrong edges after boolean CUT

Hi guys!

When i making boolean CUT via circle in center (whole inside body) of existing solid - all ok, but if i try to cut angle of solid, I'm getting wrong edges result... Hmm...what's wrong?

Caleb Smith's picture

Sorry, my faul, i processed Geom_TrimmedCurve as Geom_Line :) Please, remove this thread.

Caleb Smith's picture

But now i have another problem. How to get correct last point on circle in this case? I intentionally set the resolution to low like this:

case EMItemType::CircleEdge:
case EMItemType::EllipseEdge:
case EMItemType::HyperbolaEdge:
case EMItemType::ParabolaEdge:
case EMItemType::BezierEdge:
case EMItemType::BSplineEdge:
case EMItemType::TrimmedCurveEdge:            
{
    Standard_Real first, last;
    Handle(Geom_Curve) curve = BRep_Tool::Curve(occtEdge, first, last);

    static const double step = M_PI / 5.0;
    int size = (int)((last - first)  / step) + 2;
    edge->m_points.reserve(size);    
    Standard_Real i;
    for (i = first; i <= last + step; i += step)
    {
        gp_Pnt p = curve->Value(i);
        edge->m_points.emplace_back((float)p.X(), (float)p.Y(), (float)p.Z());
    }            
}break;