Wall "cutter" for windows
-
please! please! please! develop this cool script!!!
-
What a great Christmas present..Thanks again for your work D,,,
-
This would be such a useful tool Didier. Thanks for all your work.
Mike
-
Doors also! CB.
-
one of the questions I get asked most often when I am teaching a SketchUp class is about the ability to cut 2 surfaces.
This would be just wonderful. Everyone is waiting for it.
So I have a question. From the video it appears that you start off with a NON cutting component and the frame and window are placed on the surfac of the wall. When using your script an opening is punched into the wall and the window component is moved halfway inward or thereabouts. So how would it work if you DO want some framing on the outside of the wall? -
Hi,
As an Acad/Revit/Artlantis/Illustrator/Dialux/PhotoShop AND SU teacher too , I had this idea long time ago because students often don't understand why a component can cut a face and not two
Sorgesu, you probably would have to specify a distance from say inner side of wall, or have to select an option for the window to stick inner/outer/some_distance from a wall side.
The most tricky part is to make a standard stock component (door or window) "self-cutting" without asking a complicated task to the user. I have some ideas about that but for the moment, you can select the outer edges of the component and context-click to make it self-cutting; or select the outer face, or click points on the outer loop (this is done one time for all).
I hope I'll find some nicer method, maybe the smaller convex hull, but it will surely be hard to fit all kinds of shapes.
I still have some problems to detect the nearest face opposite to the face where the component is glued to.
So don't expect it as a Christmas gift... -
Didier
If it helps here's my thought process that's not too off yours ??? ...
You'd place the Cutting Compo as usual into the outer face.
The context-menu spots a cutting-component already in a face (via typename, glued_to gives face and other available properties etc). It should also check if there's an inner face to cut - pointless to give the option otherwise - your projection tools come in here ?...
The context-menu item is say 'Cut "[compo'name]" into inner Face'
We can get the intersection edges between the Component and its glued face.
Assuming we have the 'cut' lines' loop we copy them onto the inner face by projecting backwards.
We erase the outer face loop so the window cuts into the face properly once again.
We erase the inner face within its loop.
We make reveals from this out to the outer face (copy inner face materials).
To get the hole/reveals to move with the component we could link those entities with attributes and observers etc so if one of them moves then so does the other one... -
Hi TIG,
@unknownuser said:
You'd place the Cutting Compo as usual into the outer face.
The context-menu spots a cutting-component already in a face (via typename, glued_to gives face and other available properties etc). It should also check if there's an inner face to cut - pointless to give the option otherwise - your projection tools come in here ?...
The context-menu item is say 'Cut "[compo'name]" into inner Face'That's exactly the way it goes for now.
@unknownuser said:
We can get the intersection edges between the Component and its glued face.
HOW ??? With intersect_with_model methods and such ?
A remaining problem is that sometimes the shape of the window is NOT the same as the shape of the hole in the wall.@unknownuser said:
Assuming we have the 'cut' lines' loop we copy them onto the inner face by projecting backwards.
Once the face has been drawn on the outer face, I pushpull it backwards (because I already know the "thickness" of the wall, having detected the nearest parallel face). So the reveals are automatically painted with the outer face material.
To move the component, I must erase it first and re-insert another instance at the new insertion_point, because there's no way to unglue the original component from the outer face AFAIK (but that's not a problem).I've never used observers but it will be a good opportunity to learn
Thanks for your help and ideas.
-
This will be quite useful, this kind of code is long overdue and GSU doesn't seem to be doing the coding.
-
great idea!
-
count me in!
Advertisement