Cutting out from non solid

Hi I am trying to cut out a an arched window from a rectangular complex leaded glass panel. I have tried exploding the glass panel but can’t seem to get solid tools to work to do my cutout. I was wondering if anyone has any ideas.

Please see:

Cutout.skp (183.0 KB)

This will be a long post, as the problem you posed isn’t simple!

The “tileable leaded glass panel” component shows good use of SketchUp components to handle repeated structures. Unfortunately, in this specific case it will make it more difficult to accomplish what you want. In the Outliner window, you can see that the structure of this component is a multi-layer nest of other components:

The outliner doesn’t show it, but various of these nested instances are also rotated or flipped to create the assembly. Again, generally good modeling technique that will interfere with this specific task!

The complexity in your task results from two facts:

  • The window outline won’t cut all of these panels the same way, particularly at the top
  • Within the nest, some of the instances are (correctly) flipped to handle symmetry but the cuts won’t be symmetric within a single panel. You will need to distinguish between left and right instances and top and bottom instances, etc.

So, there are going to have to be unique components for each way a panel gets cut.

In addition, even if you have SketchUp Pro you won’t be able to use the Solid Tools because the nested structure will prevent SketchUp from considering the panels to be “solids”.

For starters I would recommend that you scale the panel (or the window) so that a whole number of instances fit exactly across the width of the window. This will look better and will avoid the need to trim the sides (which will make the actual glass assembler happier!) You might also scale the height so that the centers of “X”'s hit exactly on the arc at the top of the window. If you skip these scalings, the only modeling penalty will be that the interior panels noted below will also have to be distinct for edges vs true interior, and the edge ones will need to be cut. That is, more work.

You should then make sure that you are getting left-right symmetry overall by making sure that the panel instances along the right side are flipped from the ones along the left side. They aren’t done that way in your original model.

Pushpull the window outline to a height greater than the panels (exact value doesn’t matter) and align it on the grid of panels so that it extends both above and below them. Select the outside surfaces of the window and edit->copy them to the clipboard. We will be using them repeatedly below.

At that point you will have 4 distinct ways that the window outline needs to cut the panels:
-interior (uncut if you did the width scaling, needs to be separated edge vs true interior if not)
-upper corner
-first section of top arc
-middle section of top arc.

Since each of these will get cut differently, you need to make them unique components. I find it easiest at the top panel level to do this using the selection tool in the view because the Outliner doesn’t give you a clue which instances fall where on the overall grid. Finding them in the Outliner list requires looking at the view anyway to see what you have selected. Multi-select the ones of a particular type then right-click and select “make unique”.

Then for the upper corner and the two kinds of arc panels you will need to work down inside the nest, making unique components for each different way an instance will get cut. Work outside-in, handling all nested instances that need to be unique before descending another level by opening them for edit. You only need to do this for one instance of each unique panel component since all other instances will immediately see the same changes. You can do this using the Outliner (which avoids needing to open components for edit) but since you are going to need to open them for edit in the next step anyway this really doesn’t save much effort.

Now, starting with the innermost component in a nest open for edit, edit->paste in place the window arc. Select all and do right-click Intersect Faces With…->selection. Then delete the edges and faces of the component that will be outside the cut and also the cut arc itself. Repeat this process for each component in the nest, working your way outward to the top level.

As an alternative to the nested cutting process, after making unique components you could explode all the nested structure in the ones that need to be cut. This is easiest to do via the Outliner by right-clicking and selecting explode. Then you can do the paste-in-place, intersect, and clean-up operations only once for each distinct top-level component. The downside is that this will, as always, cause all the geometry to merge when it is exploded, abandoning the advantages of components and potentially causing issues downstream if you need to do further edits. Also, if you do this beware that explode of a component instance reassociates its edges and faces to whatever layer the instance used. This will create the dread “primitives not associated with layer0” issue (note: the model already violates this guidance - there are already edges and faces that are associated with layers other than layer0).

As you can see, this is going to be a somewhat tedious process. It is similar to another recent topic in which the need was to trim tiles along the edge of a roof.

Hi thanks for your detailed response.

First of all this is modelling an existing very old building and I can’t alter the design / scale etc! I drew the arch as an example - I need to create two panels actually, one is a square the other an arched square.

I will do the cut in the centre so it is symmetrical. Since I have the glass exactly as I need it and it won’t be changing: I am happy to explode my component completely (i can always keep a copy should I need to make any changes and reframe it providing we can come up with a quick reframing process!). Does exploding it make the process a lot easier? What exactly do I do once it is exploded to do the cut?

I agree it is best not to break / explode components… What would be really cool is a magic container component that I could put my component in, the container would allow me to specify a 3D area and anything outside that area would not be rendered outside the container shape… Maybe possible… I don’t know!



If you are willing to explode everything completely you can do this: Pushpull the window shape to thickness and make a group from all of it. Move this group over so it locates the way you want relative to the grid, sticking a bit both below and above the grid. Now explode the window group and also all the way down the grid so everything is “loose” edges and faces. Select all, right-click, and do Intersect Faces with → selection. Then erase all the edges and faces from the grid outside the window and also the edges and faces from the window shape that protrude above and below the grid (keep the faces where the window cut the grid so that the ends of things are closed).