#Woodworking geometry cutouts in dynamic parts. Plywood door openings etc

Hello Community,
First post here, I’m Karol. Currently building my dynamic component cabinet / furniture library.
Perhaps after asking this question you might send me off to learn ruby and write a plugin myself.

What is beyond my understanding:
A cutout, let’s say 10x5 thick as panel its cutout from, that follows middle of the cabinet bottom or other element. I can make it manually with Trim option by creating negative component. But if I have a kitchen to make 30 Trims within complex components it’s just too much time.

I made a groups / components (cutout, opening) of geometry within Bottom panel, set it’s attributes in mm to x=100, y=50, =parent!th (lenY), position x = parent!W/2 (lenX/2) + LenX/2
and the opening to follow the cutout attributes.
Later I will make variables to add / substract the location off the middle, etc.

BUT, whenever I try to change parent size, the panel opening doesn’t follow the geometry of cutout group. I know how to make them nicely hidden, but only if they stay. If i change size it goes all mad.
This example can solve so many problems for me, like making rabbets for back panel to always stay 10 mm and not be scaled if i make cabinet wider etc.
Please help me out. :slight_smile:

1 Like

Why not use some cabinet plugins?

Thanks for suggestion, but I am capable of making my own library of cabinets. It’s the geometry issue that I stumbled upon.
Can you tell me if this software is able to do what I asked for?

Upload your .skp model file here, to make it easier to understand what you are trying to do, and what is going wrong.

Usually, to show an opening in a panel with fixed side and top/bottom border, you need eight separate pieces - one for each edge, and one for each corner. They can be mirror imaged components, so you may not need eight different components - depending on how symmetrical your sides, top, bottom and corner pieces are.

Aaron has a video of creating such a frame as a DC, on YouTube at https://www.youtube.com/watch?v=lGol68uGaB0.

That might help you, if I even understand correctly what you are trying to do.

hole example.skp (329.8 KB)

To make it easier to understand i put a hole in door.
I now need this hole to follow attributes:
for example i set its position to be always parent!lenx-variable1 for right, or x=lenx+var1 for left etc.
Is this possible?

hole example2.skp (366.2 KB)
Imagine the hole can be in all positions, depending on multiple variables (vertical and horizotal position vatiable)

Can this be achieved for DC front in DC cabinet?

And is it a round hole you want to position in the door? Or a rectangular opening?

If I add Position attributes to your hole, and edit the X position, this is what I get:

Not what you want.

If I make the hole into a component, add the Glue to Any propertry, remove the hole you have drawn in the door, and make the front face of the hole ‘cut opening’ it looks like this instead, and moves along the X axis in accordance with the holeXposn that you set in Component Options:

There is still a visible face at the back side of the hole.

You have Length Snapping enabled - turn it off ALWAYS (there are VERY few cases when that default is helpful, and many where it leads to cumulative errors in modelling).

When I entered 20cm into the Component Option, it rounded to an inexact number, even though I have model units set to cm, and also have the Attribute set to display in End User model units.

[EDIT] I thought there was a bug in the End user’s model units setting - until I changed the attribute setting (as well as model units) to cm, the component option and attribute both continue to display in inches after I input cm. BUT - I think I forgot to change the display setting for that parameter in the Component Attributes dialogue from image to image

I’ve change the attribute to display in cm, in the uploaded version.

To get a clear-thru hole, you’d have to have a second component with ‘cut opening’ on its forward-facing rear face, and control its position too, with a parameter set by the parent!holeXposn in the door component.

I haven’t time now to check if that would work, but it might - or might not!

Here’s where I got to, adapting your model, and saved back for maximum compatibility to SU2017 version:
hole example JWM.skp (338.1 KB)

Thank for your time a lot. I need to learn methodology for this process. I tried with different positions, sizes references etc. This is a hole with bare attributes.
After all, what I need I’ll update later this evening if i find time.
Thanks for the snapping tip! Didn’t realise it’s causing problems, and perhaps I’ve had them occuring not knowing what caused them.
It’s good for designing cabinets that are custom and not dynamic, where every part is loose.

I tried making interior faces as component + panel cutout face as group that follows position etc. With that set up the cutout was working allright, but the main panel dragged unfinished geometry making a mess

OK I made an example of what I need. If you change box dimensions, which gives data to bottom i loose geometry.

Is it possible that I will be unable to make this on the edge of component due some limitations? Your hole behaves exactly as I expected this whole process to be. My cutout does not.cutout example.skp (388.8 KB)

Do you need the opening to be real geometry, or is it enough to make it look open?

I can see in principle how to do the latter. The former would need something equivalent to what Aaron shows in the video I referenced earlier.

Busy for a while now, but may have time to try later tonight (in UK - GMT/UTC), or tomorrow.

And are all the cutouts to be the same fixed size, just in different sized drawer bottoms?

I’m not sure if real geometry will be neccesary. It’s mostly for client to show where they are. I guess for CNC I can just put a 2D component that will follow it without problems and give router a path to cut out by colored layers. Thats how they make all operations.
I am interested in what you have to show. Is this going to be a partly transparent material?
For now the cutout is supposed to be 100 mm x 50 mm with 8mm radius on inside corners, although it should read parent thicknes to match.
I expect different sized cutouts in plenty of cabinets and locations soon. That’s why I wanted to learn a method for such occasions. There will be square cutouts in back panel corners for wall cabinets, in sides for drawers to overlay the side between stretchers etc…

I would create two solid components, one the cutout, other door, where their parent positions and sizes as required, then use Eneroth solid tools as it retains the main component data, subtraction after detailing ready for production (if later further editing required replace the broken instance with its definition). Then all geometry for the door is clean.

Thank you pcmoor, I was already thinking about that, but that leads to entering each component to Trim the cutout away. Sometimes that can be as often as 50 times per project.
How will the Eneroth help? I’ve just tried to sub multiple openings and can’t get any result.

Is the cutout always centred in the front edge, or does its x-position need to be set individually for each size of panel? If the former, the position can be calculated from the x-width of the parent panel in the DC. If the latter, it will need a separate component option in the parent.

Well, I’ve fiddled about with this for twenty minutes or more.

The first stage is easy - a component with no front or back face, but set with properties Glue to Any, and Cut opening. Blue axis facing out of the panel front face (panel blue axis is up in the image below).

edge opening example JWM.skp (342.3 KB)

Edges and faces drawn as normal by pushpull, with visible inside faces reversed.

The inside of the rear face of the panel still shows through as a reversed face.

I have then tried adding two other components, one to ‘cut face’ in the bottom edge of the panel, and one to ‘cut face’ in the rear face of the panel. Both also set to Glue to Any face.

And they WILL NOT behave properly.

A single ‘cut face’ component for the bottom edge won’t glue to it. And the rear panel face component won’t ‘cut face’, whether I face its own face towards the viewer or away, to match the panel rear face. Maybe cut face doesn’t work looking from the back?

So I think that route is (a) bugged, and (b) not going to work, because anyway, I can’t see any way of hiding the front edges of the panel where they cross the opening along the bottom edge.

Will try the other way shortly and report back.

Thanks a lot for the feedback! I too was trying to make it work with cut opening and was unsuccesful. I slowly accept the inevitable - cutting it away with solid tools, and if needed restoring geometry with changes.

But I keep my head up for any ideas that come to your minds. The hole is working great! It’s solved one of the cases I have to develop.

Try this one - it draws solid geometry, and allows you to parameterise all the dimensions, including the cutout size. With a little bit more work, it even allows you to change the corner radius of the cutout hole - just add a corner_radius Size option for the corner piece, set in the parent, and applied to both the X and Z sizes of the corner pieces. and that will change the radius.

I’ve made four additional components - two sub-panels, and two corner pieces with the 8mm radius. I could have used just two, I realise as they are identical, but the right one is mirrored from the left.

edge opening example JWM.skp (377.0 KB)

I’ve left all the edges unhidden so you can see how it works. Hide all the ‘meeting edges’ where the components join, so it will look like one piece. But here’s a version with them all hidden.

edge opening example - edges hidden JWM.skp (381.9 KB)

wow! This does look like it could go somewhere. One thing, how did you just hide the edges where they meet? Smoothing does not affect that i believe.

Edit: Did you just manually select edges and hide them? It’s a bit weird, but sure does the job for eye. But I’m quite sure this will lead to manufacturer making square panel and 2 small panels as separate pieces instead of one door. I need to send this example for further inspection. If this will do the trick I owe you one! This is already great :slight_smile:

Yes, and had to draw separate small edges in all three panels. In the left and right panels, so as to be able to hide only the part of the vertical edge where it meets the corner.

And in the main panel, to ‘unhide’ the part of the lower edge (separately in front and back face) where the edge meets the opening in the middle.

Explode the insides of the door before you send it for manufacture, and use a Clean Up plugin, or just use Outer Shell, which might work even better.

1 Like

Thank you so much for all the time and tips.
I will probably try to learn some basic ruby and make a plugin for such operations myself at some point.
For now I sent the example to verify your solution.
I’ll let the topic open as I expect updates and other solutions.