sketchucation logo sketchucation
    • 登入
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] Hole Punching Tool

    已排程 已置頂 已鎖定 已移動 Plugins
    200 貼文 43 Posters 219.8k 瀏覽 43 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • irwanwrI 離線
      irwanwr
      最後由 編輯

      greetings, sir.

      the HPT works well when the window component exploded and applied HPT on the window's frame.
      selecting all components of the window and move them altogether, moves the cut along with them. 😄

      but when HPT applied, some components were shifted backward from the wall.
      HPT case.png


      HPT case.skp

      1 條回覆 最後回覆 回覆 引用 0
      • TIGT 離線
        TIG Moderator
        最後由 編輯

        Irwan

        You do NOT need to explode subcomponents !
        BUT there must be a continuous closed loop of edges on the face-plane for Sketchup to find something to make the 'cut-hole' with...
        This can be a loop within a subcomponent OR a separate loop draw within the assembled parts.
        So you must EITHER move the assembled parts inside the component-edit so that there is then a loop of edges on the face-plane OR you must add a new loop of edges [in your case a rectangle] into the component's contents that is on the face-plane [deleting the face that gets added and keeping the edges].
        Using one of these methods means that a loop is detected when you glue the instance onto a face and therefore a hole is cut in the face [then if desired that loop can be used to also 'punch' the whole wall later on].

        Why try to shift the component off the surface 1mm ?
        I think you have confused an issue with 'projecting sills'...
        If a window has 'horns' on its sills so that they project sideways on the face-plane then these will also 'cut' the face [like an inverted 'T' shape].
        This is unimportant IF you are never going to 'punch' it.
        BUT if you do a punch with such a component then it will make an unexpected hole through the wall because the sill's ends will punch through too!
        To avoid this issue you simply need to adjust the windows sill geometry so that any parts of it that are on the wall face that are now offset by say 1mm inf front of the face, and adjust the remainder of the 'cutting-loop' to suit the required 'hole'.
        Then the main rectangle of the window that you want to make the cut does so, and later any related punched reveals follow that loop ignoring the sills too.
        Because the sill's ends are not now on the face-plane they are ignored for the purposes of any cutting [and therefore also ignored for any punching] - just like every other bit of geometry that is off the face-plane is not used for 'cutting'.
        The important part is that there must be a loop of edges inside the component [or a subcomponent] to tell Sketchup where the component's 'hole' is to be formed...

        TIG

        1 條回覆 最後回覆 回覆 引用 0
        • TIGT 離線
          TIG Moderator
          最後由 編輯

          In your 'exploded' version it glues/cuts then punches correctly as you have [re]located it on the wall face.
          The reason that the adjacent 'faulty' and 'unfixed' component instance jumps is I suspect because it was confused as to which face you had it glued onto and which face it might then cut. I suspect that the 'punch' simply jiggled the data-base and it decided it was glued to the inner-face. IF your components are correctly made [i.e. proper cutting-loop on the face-plane, correctly oriented axes etc] then this should not happen...

          TIG

          1 條回覆 最後回覆 回覆 引用 0
          • irwanwrI 離線
            irwanwr
            最後由 編輯

            @unknownuser said:

            In your 'exploded' version it glues/cuts then punches correctly as you have [re]located it on the wall face.

            actually not, sir.
            the second window is the original one. hence it has the original component's name instead of "component #1". the component #1 was made after i read about the sill and misunderstood it.
            really glad the tool works very well. now it's my turn to improve the way i make components.

            thank you, sir.

            1 條回覆 最後回覆 回覆 引用 0
            • irwanwrI 離線
              irwanwr
              最後由 編輯

              greeting, sir.

              i've made another attempt to create a component that would work with Hole Punching Tool.
              the tool cut the wall very well as expected.
              yet, again i've made a mistake with the component create setting probably.
              as shown by the image

              HPT case.png
              this time i've made the component with closed loop 1 cm above the window frame's plane.
              and after applying HPT to the window's frame, the window shifted backward from the first wall plane.
              i don't know what went wrong. i've tried to rebuild the window few more times. but still.

              HPT case.skp

              1 條回覆 最後回覆 回覆 引用 0
              • TIGT 離線
                TIG Moderator
                最後由 編輯

                Several issues overlapping...

                First you have a model that is a jumble of nested components/groups.
                If you place a cutting component onto a face that is not in the current active entities context, then although it glues onto it, it won't 'cut' as it has no contact with the geometry in the other context.

                Secondly, your 'problem' window component is made up of other components - these internal bits don't need any special 'behaviors'.
                IF you want the window to cut the wall at the 'rectangle' that's just in front of the assembled frames etc, then leave it as a simple rectangle, don't weld it into a looped curve [unless you want any punched reveals to have smoothed edges], and you also don't need to make the rectangle into a component [or group], and it certainly doesn't need to be a component with any special 'behaviors' added to it - please leave it as plain geometry inside the cutting component - then it works for me when used inside a common context !

                TIG

                1 條回覆 最後回覆 回覆 引用 0
                • irwanwrI 離線
                  irwanwr
                  最後由 編輯

                  finally made it, thank god.
                  thank you very much for the tool 😄

                  window 1 cm below plaster

                  wall punching window through


                  6 x 17 Gg Bandung Jl Amaliun + Denah 2.skp

                  1 條回覆 最後回覆 回覆 引用 0
                  • guanjinG 離線
                    guanjin
                    最後由 編輯

                    @tig said:

                    To make [or edit] a locale file look in the ../Plugins/TIGtools/ subfolder.
                    There are several #HolePunchTool...lingvo files.
                    Copy the base file #HolePunchToolEN-US.lingvo as #HolePunchToolIT.lingvo
                    for ITalian.
                    To find your exact locale 'code' type/copy&paste this in the Ruby Console
                    Sketchup.get_locale.upcase
                    This 'code' then goes on the end of the file's name, before .lingvo in place of 'EN-US'.
                    Edit the new file and you'll see lines of code like this:
                    Exiting.<==>Exiting.
                    The text to the left of the <==> is the hard-coded English version and to the right the translation - obviously in the English lingvo file it's the same words!
                    Change the right-hand side to your locale translation, keeping punctuation and spaces etc if any, so for an IT version you might have.
                    Exiting.<==>Verrà chiuso.
                    Complete your translations and then save the file.
                    When you restart Sketchup the tool should display in the locale language as it'll automatically find the new file.
                    If you find some text that's wrongly translated, then check the lingvo file and edit it.
                    If you find that some text has not translated, then check the lingvo file and fix it - if the text is not actually in the file then let me know as sometimes bits of hard-coded text and the lingvo text mismatch - although I think that this one is pretty solid.

                    TIG hello:
                    I translated the text for the ZH-CN, tool display in English? ? ? 😒

                    I come from China, is to learn

                    1 條回覆 最後回覆 回覆 引用 0
                    • TIGT 離線
                      TIG Moderator
                      最後由 編輯

                      @unknownuser said:

                      I translated the text for the ZH-CN, tool display in English? ? ?

                      Is this a question?
                      Or is it a statement ?
                      You are free to translate any tool's linvgo into Chinese [although some have been translated already].
                      All I ask is you zip the new lingvo file and post it in the tool's thread with an explantion, so others can use it too, and I will then package it with any future updates of the tool too...
                      😉

                      TIG

                      1 條回覆 最後回覆 回覆 引用 0
                      • TIGT 離線
                        TIG Moderator
                        最後由 編輯

                        Here's Guanjin's Chinese lingvo file [Thank you!].#HolePunchToolZH-CN.zipUnzip it and place the file in the TIGtools folder in the Plugins folder...

                        TIG

                        1 條回覆 最後回覆 回覆 引用 0
                        • guanjinG 離線
                          guanjin
                          最後由 編輯

                          @tig said:

                          Here's Guanjin's Chinese lingvo file [Thank you!].[attachment=0:2ftu9qht]<!-- ia0 -->#HolePunchTooZH-CN.zip<!-- ia0 -->[/attachment:2ftu9qht]Unzip it and place the file in the TIGtools folder in the Plugins folder...

                          Is still in English, can not display Chinese!!

                          I come from China, is to learn

                          1 條回覆 最後回覆 回覆 引用 0
                          • TIGT 離線
                            TIG Moderator
                            最後由 編輯

                            You made a spelling mistake in the name; I've corrected the posted version...
                            ...TooZH... should have been ...ToolZH...

                            TIG

                            1 條回覆 最後回覆 回覆 引用 0
                            • guanjinG 離線
                              guanjin
                              最後由 編輯

                              @tig said:

                              You made a spelling mistake in the name; I've corrected the posted version...
                              ...TooZH... should have been ...ToolZH...

                              tig I too admire you, I was too stupid, I want to translate all your tools in China to promote! 👍 👍 👍 👍 👍

                              I come from China, is to learn

                              1 條回覆 最後回覆 回覆 引用 0
                              • JQLJ 離線
                                JQL
                                最後由 編輯

                                I'm new to sketchup but obviously I realized already that half its potential is due to people like you. So thank you!

                                This tool immediatly struck me by its usefulness, (well it sort of punched me in the nose, actually).

                                It still lacks one thing to be perfect though, (not that I am complaining or anything, I don't wanna be punched again):

                                You clearly state that the inner walls must be paralel to the outer ones. However, would it be very hard to make the tool work even if they're not?

                                To put in other words, could one use this tool in a wall made of Joint-pushed-pulled loft surfaces?

                                www.casca.pt
                                Visit us on facebook!

                                1 條回覆 最後回覆 回覆 引用 0
                                • TIGT 離線
                                  TIG Moderator
                                  最後由 編輯

                                  JQL
                                  At the moment it is a 'wall punching tool'... and walls have a front and a back face that are parallel...
                                  Ti allow other permutations gets very complicated - as you will find if you try to PushPull a shape on an outer face it will not punch an inner face if it's not perpendicular to the push/pull direction [i.e. parallel with the original face]... You can get around it by pulling it further, intersecting the new form with the back face and erasing the unwanted bits to leave a hole - but this is pretty complex to code in...
                                  A JPP'd pair of faces should be parallel.
                                  If the punching spans more than one facet you'll only get the inner hole in the most 'central' one.
                                  Best to do a second JPP, intersect and erase unwanted bits?

                                  TIG

                                  1 條回覆 最後回覆 回覆 引用 0
                                  • JQLJ 離線
                                    JQL
                                    最後由 編輯

                                    @tig said:

                                    Best to do a second JPP, intersect and erase unwanted bits?

                                    Thought so... If it isn't easy to do "by hand" it should be very hard to automate. The work around I used was to insert a volume inside the window component in a separate layer. Then I intersected the inner wall with the component and removed what I didn't want. I then hid the separate layer of the volume. To close the walls I had to make the component unique and draw the necessary lines. Repeat the process for the other windows... Hate complex shapes.

                                    It will be an headache to change the window positions later and not being able to drag the inner hole with it.

                                    I will try to find a tool that "drapes" a hole in a surface in the direction of a given face/component. It would be cool if it could also "drape" a fill in the hole after, so I could easily heal the face again at a much later time if i need to... maybe by extending all the lines in the surface. There should be something like that.

                                    Any way thanks for your excelent tools and your unbelievably fast answer! That I just didn't expect!

                                    www.casca.pt
                                    Visit us on facebook!

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • U 離線
                                      UncleMonkey
                                      最後由 編輯

                                      Hi, TIG,

                                      I'm using SU8 free, on a MacBook Pro Core Duo 1.83 GHz, 1.5 GB Ram, OS 10.6.8. with latest Java patch. The #HolePunchTool.rb is located at
                                      /Library/Application Support/Google SketchUp 8/SketchUp/plugins along with deBabelizer.rb, and the various .lingvo files are in plugins/TIGtools.

                                      In the past I've sometimes been able to use the Hole Punching Tool to great advantage, but not now. No matter what I do, I get the message "No Suitable Punching Component(s) Selected. Exiting."

                                      This happens both with the actual window I'm trying to use, and with a test component that's just a rectangular prism. Both are set to glue and cut hole. I've tried pasting the window/prism inside the editing context of the walls, exploding the wall component before trying to punch, and just positioning the window component on the wall without opening either. Tried selecting both punching component and target, or only component. Nothing helps.

                                      I know I'm missing some really simple point here, and it's embarrassing to ask you, but I can't seem to figure it out on my own, and the advantages of your tool are irresistible. Thanks for saving countless people countless hours of intersecting and erasing, and for your help with this.

                                      David


                                      This is the whole problem, in a file reduced to the relevant elements only.

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • TIGT 離線
                                        TIG Moderator
                                        最後由 編輯

                                        Your window has its insertion-point [axes] on its back corner, not the front - where it might normally be put.

                                        It also is placed onto the wall's inner-face - not its outer-face - so there's nothing to be punched, as it punches backwards from the component, expecting to meet an inner-face.
                                        If you move the instance onto the outer-face and reglue it to that, then it will punch a hole through both faces of the wall, although at that point the window is then balanced on the very front of the wall.

                                        May I suggest that you relocate the window's axes so that it cuts any wall at the correct place, when you insert it on the outer face, as intended by the entire concept of 'cutting-components'.

                                        Also having a cutting-component made of lots and lots of subcomponents will take ages to work out the cutting/punching 'hole'.
                                        Try exploding nested geometry to speed it up.

                                        Basically you are making your cutting-component too complex and with strangely placed axes...


                                        Capture.PNG

                                        TIG

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • U 離線
                                          UncleMonkey
                                          最後由 編輯

                                          Many thanks, TIG! I had completely forgotten how axes placement affects cutting and punching. I am thinking that as a general rule, it might be best to start out with punching components reduced to the perimeter only, and when they're placed to my satisfaction, open one to edit all and then insert the subcomponents. (My reason for wanting to keep them unexploded is so I can get an easy count of how many to put in my BoQ.)

                                          The amount and quality of effort you and others like you (Gaeius, for example) put into helping us struggling beginners is probably the best thing about SketchUp. Thanks again!

                                          David

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • TIGT 離線
                                            TIG Moderator
                                            最後由 編輯

                                            Here's v2.2 http://forums.sketchucation.com/viewtopic.php?p=271170#p271170
                                            Fixed rare DefnsObserver Bugplat! onQuit with some DC coded edits.

                                            TIG

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 10
                                            • 7 / 10
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement