[Plugin] Hole Punching Tool
-
Is it only supposed to punch a hole if the punch depth matches the wall thickness exactly? If I put in a depth greater than the wall thickness, I get no punch....is this correct?
BTW - Thanks TIG for finishing this up and publishing!
-
@unknownuser said:
Because if there were no 'inner-face' to the wall how would it know when to stop extruding the reveals ?
Cousin Component Punch punches all the volume without to know the size?
@unknownuser said:
then if there were ever a wall with no inner-face
don't launch the script
-
The way it works is you set the maximum punched depth [the default is 20"/500mm, but you can permanently change it for that model at any time] - just decide on a value knowing that all your various wall thicknesses are probably always less than that.
The holes are them punched to match the actual wall thickness, IF it's =20" or less [the hole's reveals also match the inner-face material/layer] - BUT if you have a one-face wall [or a very thick wall] then the reveal depth is made as the maximum =20" [and the reveals then match the outer-face material/layer].The code that checks for the inner-face is still not perfect - but I am sleeping on it...
Currently a 'ray' is cast internally from the front-face, centered on the cutting-component instance, until it finds a suitable face that's parallel and facing the right way. If there isn't one it then uses the default reveal size... It's currently possible to trip it up if your component also has a face/edge exactly on the center and at the same distance from the front-face as the real candidate for the inner-face - the ray can mistakenly find that instead of the required face and so it misses it and 'defaults the reveal depth... I suspect this is your case ???
It is possible to test in other ways - for let's say faces' planes and points being 'on' them at the correct 'thickness'... so I just need to think up some better coding solutions - maybe tomorrow - I'm tired now........... -
For me, the raytest seems to miss the parallel wall in every case where my depth is greater than the wall thickness. I'm just using generic SU windows to test, but also tried with simple shape components I made myself to be sure there was no line in the direct center. Every time it seems to be punching through to the bounds of the punch depth. No worries though, I typically offset my walls to the same thickness, so I can just math the punch depth with that and all is well. Overall, it's a great solution for an age old ruby puzzler.
-
Adam
I'm making a more robust version now and will post it later today.......
-
Hi! I have hard times trying to copy or simply select the punched components. Could you improve it?
P.S. A science fiction request: Could it punch on multiple feces or at least corner windows (2 faces)?
-
rv1974
You are making life more difficult for yourself than it needs to be...
You components are made exactly the depth of the wall ! This means that the reveals are obscured by the component itself...
Why not make them a simple 2D rectangle cutting-component that you place on the outer-face, and you then let the 'Hole Punching...' make the hole's reveals and the hole in the inner-face etc - that way the wall thickness could vary and the reveals will adjust to suit for the one 2D component - and is then more easily selected too.You CAN select the component-instances using the Outliner as needed...
Please read the tool's notes... you should NOT 'copy' component-instances that are 'punched' [unless you are going to 'unlink the punches' or 'undo the punching' immediately afterwards], because the observers and linking attributes etc will get 'tangled up'. So usually you should only copy un-punched component-instances - but remember that if they are punched you can always use: select them > 'undo punch' > do the copying > re-select them > 'punch' again...
I've only just got this single wall hole-punching working and now you want punched corner windows - aaaargh!
-
Here's v1.2 http://forums.sketchucation.com/viewtopic.php?p=271170#p271170
The finding the inner-face methods have been made more robust - now an inner-face will only be used if it is the correct orientation / side of the wall, AND it is within the specified maximum depth from the outer-face, AND its geometry overlaps at least the center of the component-instance, AND if there are several suitable 'candidate' faces then it is taken as the one 'nearest' to the outer-face.
Also an 'Unlink Punch' option has been added - this will 'unlink' a selected component-instance and its punched-hole geometry.
Please read the Notes...
-
Thanks TIG for the update! It works in every case I've tried now. Flawless thus far.
-
One foreseeable issue. I have a lot of modified components where a glue/cut component is nested inside a larger component.....i.e. a window with shutters and mantle. Is there a way to either search the component for a nested cutting component and make the cut with that, or allow me to perform the cut from within the components edit mode?
Thanks!
(Attached is a component I made for testing.)
-
great thank you
same thing with the name changing in chrome...
will use #
-
not working in SU 7
-
@bertier said:
not working in SU 7
It works in v7 or v8...
A little more detail please
I'm not psychic... -
sorry
I put it in my pluggin folder
it doesn't show up in my pluggin list...
using SU7 on XP pro
-
Bertier,
It's context sensitive. It only shows up in the right click menu when you have a component selected that has a "cut opening" value assigned to it. It's not in my plugin list either.
-
As Adam said - it only appears in the right-click context-menu under the 'Hole Punching...' submenu - the options will vary depending on the current selection.
Please read the guidance-notes before diving into the shallow water!
*Comme Adam a dit - Il n'apparaît que dans la droite-cliquez/menu-contextuel sous le sous-menu 'Hole Punching...' -
SVP lire les directives-notes avant de plonger dans les eaux peu profondes!*
-
sorry guys, too much to do too little time
thanx again
merci !
-
Seems a simple face as component don't work
Works with the basic "Component Puncher"!
(so only with no depth choice) ! -
@unknownuser said:
Seems a simple face as component don't work
Works with the basic "Component Puncher"!
(so only with no depth choice) !Can you post an example SKP with this problem ?
-
sure
When you take a component disc (Gluing, cutting) from the menu /component and past it on a face of the box
That don't works!
(it's just a surface not a volume) but that's works with the old first Component Punch
So there is something wrong in this last sophisticated version
Advertisement