Python ExplodePolysurface method changed

Not sure if this was intentional or not, but I noticed when using the ExplodePolysurface method in Rhinoscript that the exploded surfaces would maintain their layer assignments but in the Python version the exploded surfaces go to the current layer.

Easy enough to work around, but I thought I would point this out.



Yes, it appears that the Python rhinoscriptsyntax method has no provision for tracking layer assignment.


Maybe something else to heap on @dale’s pile? In my opinion the old behaviour was preferable.


I think this is more the domain of @stevebaer (python rhinoscriptsyntax)

You are probably right. Sometimes it’s a little confusing as to who dabbles with what.


If Rhinoscript(vb) Then
    Call Dale(GetResults)
End If
if python:
    for answers in questions:
       steve.IsTheMan(yes, he_is)


Hi @stevebaer

I noticed that the BooleanDifference method also ignores previous layer assignment, and drops the result on the current layer. I prefer the Rhinoscript method of maintaining the layer assignment of the original data.

If you could show me how to do add this, I could add a function to my scripts (MyBooleanDifference for example) and not need to wait for a future SR.



Hi Dan,
Vittorio also brought up this BooleanDifference bug at

This is actually quite a bit of work and I can’t really just “show” you how to do this since the functionality required is not in RhinoCommon yet.

Okay, I understand. I’ll wait for it to be fixed in a future SR.

Thank Steve, have a great weekend.


@DanBayn @vittorio - Well this was painful… but I was curious. This is a partial effort for BooleanDifference - but it doesn’t check first for intersections, so if the objects to subtract don’t intersect and DeleteObjects is set to yes, it removes them anyway. That can be fixed with some work, I guess… Anyway, FWIW… --Mitch

Dang, doesn’t work - never mind… :confounded: