# Restricted Intersect Issue

There is a challenging issue I’ve been trying to solve for some time now. To best describe this issue, I’m providing a few screen shots of what I’m trying to achieve.

The first image shows two flat pieces of plywood with identical thicknesses. Now, if I were to intersect these two parts (one having a protrusion), and I asked Rhino to Boolean Split, the results would equate to what’s shown in the second image: an angled cut. This doesn’t help me when designing templates for my laser cutter. My laser only cuts in one direction — down.

In the third image, you can see the ideal result. The intersecting portions of the one piece of plywood is given an opening that allows a physical union at an angle. This means the opening in the second part is cut in the direction of the laser… or in the case of Rhino, the opening is created in the direction of the extruded axis.

For me to make this part, I have to perform a boolean intersection of one part, explode it, delete all but one surface, extrude that surface to the original thickness, perform the boolean intersection again, delete all but the second surface and then extrude that surface back to the original thickness.

Is there no other way of doing this? This method is insanely time consuming if you have 4 sides intersecting and you have to figure out what part overlaps into which.

Hi Ken - try:

1. `CPlane > Object` & select the face of the angled piece
2. `Intersect` the two objects
3. `Plan` view of the custom CPlane
4. `CurveBoolean` the intersection curves.
5. `ExtrudeCrv >Solid=Yes` & `BooleanDifference` the result or use `WireCut` to get the hole you need.

Macro-ized:
`! _Cplane Object Pause Plan Intersect Pause Enter CurveBoolean Pause Pause Enter Wirecut Pause Pause Enter CPlane Previous`

-Pascal

Thanks Pascal. It takes a step or two out of the equation, but might not help me with multiple angles on a single object — as I have to hide everything to interact with the new intersecting extrusions.

Creative approach though.

Method for objects intersecting at arbitrary angle. Assumes the cut object has planar faces. Example attached.2D Cutting DC1.3dm (155.8 KB)

BooleanDifference the two objects.
DupEdges the edges of the hole, including the interior edges, in the object to be cut.
Pull the duplicated edges to one face of the object to be cut.
BooleanCurve the pulled curves to create the bounding outer curve.
Fin the bounding outer curve to a height greater than the thickness of the object to be cut.
Boolean2Objects to trim the cut object with the fin.

To get even trickier - =)

CPlane to one of the faces as before.
Intersect the objects.

ExtractPt from the resulting polylines

testConvexHull on the points <<<<<<<<The trick.

SelLast

CurveBoolean

Wirecut

?
`! CPlane Object Pause Intersect Pause ExtractPt SelNone SelLast testConvexHull SelLast CurveBoolean DeleteInput=All Pause Pause Wirecut Pause Pause CPlane Previous`

-Pascal