Hi Shane - please post here, or send to tech@mcneel.com a simple example of the problem and script. Please include a link back here if sending to tech@mcneel.com
Hi Shane - looks like it works, but you are leaving the original input object there so it may look like it did not - try:
Option Explicit
Call Main()
Sub Main()
Dim strMainCurve
Dim strCOCurve
Dim arrResult
strMainCurve = Rhino.GetObject("Select Main Curve.", 4, True)
If isNull(strmainCurve) Then Exit Sub
strCOCurve = Rhino.GetObject("SelectCutout Curve.", 4)
If isNull(strCOCurve) Then Exit Sub
arrResult = Rhino.CurveBooleanDifference(strMainCurve, strCOCurve)
If Not isnull(arrResult) Then
Rhino.MessageBox("Bool Diff Succeeded")
Rhino.DeleteObject(strMainCurve)
Rhino.DeleteObject(strCOCurve)
Else
Rhino.MessageBox("Bool Diff Failed")
End If
End Sub
I doesn’t work on both cutout curves for me.
In my 3DM file, I named one of the curves “Curve that fails”. This is the one that doesn’t work for me. The other does.
Hi Shane - I see that fails in V5 - the larger curve has a seam point that is right at the intersection of the failure curve - use CrvSeam to move it to a corner, then SimplifyCrv.
Since this is run within a much larger and longer running script, it’s not possible to manually interview for these issues, but I’ll see what I can come up with.
Am I correct in saying it’s been resolved in Rhino 6?
Hi Sane- your script works in V6 for both curves. Verifying the seam automatically might be a bit of a pain - probably a good deal easier in Python/RhinoCommon.
I actually just made some code to reset the CurveSeam to the midpoint of the line and that seems to work. I’m about to try it in my main code so will see how it goes. Thanks again.