Checking maximum slot length around corners

Version 1

    The trick is to disconnect the end of the paths from the sides.
    Then the length of a composite edge may be obtained with PATH LENGTH.


    // max slot width is needed to differentiate sides from ends.

    // get m1 slot
    m1_slot = HOLES M1 INNER EMPTY

    // get slot edges
    m1_slot_edge = COINCIDENT EDGE m1_slot M1

    //slot ends, defined as a short outside edge
    m1_slot_edge_ends = CONVEX EDGE m1_slot_edge == 2 WITH LENGTH <= MAX_SLOT_WIDTH

    // remove slot ends
    m1_slot_edge_sides = m1_slot_edge NOT COINCIDENT EDGE m1_slot_edge_ends

    // get edges longer than the limit
    long_slot_edge_sides = PATH LENGTH m1_slot_edge_sides > MAX_SLOT_LENGTH

    // get slot with edges longer than the limit
    long_slot = m1_slot WITH EDGE long_slot_edge_sides

    long_slot {
        COPY long_slot


    In the following picture the slots in the objects on the right each have an outside distance > 200, those on the left are <= 200.