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

    [Plugin] Hatchfaces (v1.8 beta) UPDATED 15-Dec-2012

    Scheduled Pinned Locked Moved Plugins
    360 Posts 41 Posters 228.5k Views 41 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      kyyu
      last edited by

      @jolran said:

      Guys, I'm glad youre showing interrest in this plugin! I will try to do by best to improve it.
      About Autocad compability.. You have to realize, 2 months ago I had no programming experience att all and
      that feature sounds fairly complex. I think priority must be made to get spacing OK, and holes get filled.

      You're doing good for 2 months. I started the same way, with no programming experience, about 1 & half years now. I still have alot to learn. Takes alot of time at our level, to do even simple stuff.

      @unknownuser said:

      @unknownuser said:

      file_loaded("Hatchfaces.rb")

      Hmmm, thought I did not need that. It's not loading right for you?
      

      Concerning this line of code. It put's your plugin in a list of loaded files. That's the list your are checking when you say "unless file_loaded?("Hatchfaces.rb")". So if you don't have the loaded line, then there is no reason to check if the file has been loaded in the 1st place.

      I thought Sketchup would give me a 2nd toolbar, if I loaded the plugin again. But it appears not. Maybe Sketchup won't let you have two toolbars with the same name? So I guess it didn't matter,after all, for your plugin. But, like I mentioned, then you could have left out the 1st line, also. Where it matters, is menu items. Sketchup will add a new menu item each time you reload a plugin, if you don't have those 2 lines.

      And as a fyi, these two methods are in the "sketchup.rb" file. That's probably why you have the line at the very beginning: "require 'sketchup.rb'"

      -Kwok

      1 Reply Last reply Reply Quote 0
      • jolranJ Offline
        jolran
        last edited by

        Thanks KYYU πŸ˜„

        And thank you for that explanation. You are most helpful!

        1 Reply Last reply Reply Quote 0
        • sadyoS Offline
          sadyo
          last edited by

          Thanks Jolran, it's really awesome plugin
          Then... AutoCAD would be far away now

          1 Reply Last reply Reply Quote 0
          • jolranJ Offline
            jolran
            last edited by

            Hi Atelerpaar!

            I did not think of that until you mentioned it now. Good suggestion πŸ‘ That would be the behaivior one would expect. Also files would get smaller. I will try my best πŸ˜„

            I have an new idea for getting different patterns. 2d DCs with intersection. Don't know if it is possible, have to do some research. But then a library of concrete and such could be made with a webdialog and thumbnails. Needles to say, quite a project..

            Any interest in that? Or are textures already sufficient as they are for that purpose?

            (my personal feeling is that textures get ugly in Layout unless perfectly scaled, Richards masking-method works ok, but is not 100% flexible)

            1 Reply Last reply Reply Quote 0
            • jolranJ Offline
              jolran
              last edited by

              Been at it all morning. Seems not that easy to erase surrounding edges as I thought.
              Outer edges are most possible, but I suspect you just want the hatched (eg45 deg or so) lines remained? Probably missing something in my code..

              @unknownuser said:

              Takes alot of time at our level, to do even simple stuff.

              Damn right about that 😠 πŸ˜„

              But you are far ahead of me in Ruby-knowledge 😳

              Cheers Sadyo

              I guess this thread is supposed to be about updates and wishes? So won't discuss too much code in here.

              1 Reply Last reply Reply Quote 0
              • TIGT Offline
                TIG Moderator
                last edited by

                Do you mean erase the surround edges to the hatching ?

                To do that you need to examine the hatching group's geometry before your code to finally erase all faces.
                Make an empty array
                edges2go=[]
                then iterate the geometry
                group.entities.each{|e|edges2go << if e.class==Sketchup::Edge and not e.faces[1]}
                i.e. 'edges2go' is now a list of all edges in the hatching group that are on the 'perimeter' - i.e. they have only one face. We will now erase them - this will destroy their faces too so you probably never need to erase the group's faces as there won't be any left!
                group.entities.erase_entities(edges2go)
                All perimeter edges are erased en mass. πŸ˜„
                How are you getting on with the 'holes' issue ❓

                TIG

                1 Reply Last reply Reply Quote 0
                • jolranJ Offline
                  jolran
                  last edited by

                  He he! I can't make this work. I wish it was as simple for me as it is for you 😳

                  @unknownuser said:

                  before your code to finally erase all faces.

                  By that you mean after the intersection and before the erasing?

                  The "hole" issue is putting a hole in my brain.

                  1 Reply Last reply Reply Quote 0
                  • TIGT Offline
                    TIG Moderator
                    last edited by

                    The two relevant lines in the code
                    gents.to_a.each{|e|e.erase! if e.valid? and e.class==Sketchup::Edge and e.faces.length==0} gents.to_a.each{|e|e.erase! if e.valid? and e.class==Sketchup::Face}
                    The first line removes any unfaced edges.
                    The second removes all faces.
                    What you need to do between them is add these lines
                    edges2go=[] gents.each{|e|edges2go << if e.class==Sketchup::Edge and not e.faces[1]} gents.erase_entities(edges2go)
                    This will remove perimeter edges and thereby all faces anyway... So after a test you should find the original second line to erase all faces is no longer needed...
                    πŸ€“

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • jolranJ Offline
                      jolran
                      last edited by

                      Ver 1.2 zip added at first post.

                      1 Reply Last reply Reply Quote 0
                      • jolranJ Offline
                        jolran
                        last edited by

                        Yeeyy!!! It works now!

                        I had to think a little bit πŸ˜„ Where some typos(I hope I did not destroy anything ❓ )

                        Anyway it works. Will post update soon..

                        gents.to_a.each{|e|e.erase! if e.valid? and e.class==Sketchup;;Edge and e.faces.length==0}
                              edges2go=[]
                              gents.each{|e|edges2go << e if e.class==Sketchup;;Edge and not e.faces[1]}
                              gents.erase_entities(edges2go)
                        

                        Thanks to TIG this plugin gets updated once more πŸ˜„

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          sergey2402
                          last edited by

                          Well done! You are doing greatly desired work!
                          I really, really like it.

                          1 Reply Last reply Reply Quote 0
                          • jolranJ Offline
                            jolran
                            last edited by

                            Why thank you 😳 But I really think you should thank TIG and Kyuu.

                            Feel free to ask for ways to improve! Or even come up with ideas πŸ‘

                            1 Reply Last reply Reply Quote 0
                            • kenK Offline
                              ken
                              last edited by

                              Well, this is starting to look good. My suggested improvement

                              1. If you do two hatches of the same face, is it possible to get both hatches in the same group.

                              Thank you for your work

                              Ken

                              Fight like your the third monkey on Noah's Ark gangway.

                              1 Reply Last reply Reply Quote 0
                              • S Offline
                                sergey2402
                                last edited by

                                Maybe hatches should be on its own layer?

                                1 Reply Last reply Reply Quote 0
                                • jolranJ Offline
                                  jolran
                                  last edited by

                                  Thank you for your input guys!! Good points!

                                  I will answer more profound tomorrow. I'm a bit in a hurry! For Now, here is a minitut or tips, as a compensation that the hole "issue" isent fixed yet. πŸ˜‰


                                  Hatchtut2-1.jpg

                                  1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    sergey2402
                                    last edited by

                                    TIG, kyyu, please do not leave jolran alone. You are all together make a very necessary work.

                                    1 Reply Last reply Reply Quote 0
                                    • TIGT Offline
                                      TIG Moderator
                                      last edited by

                                      We are helping him... [sometimes in the background πŸ˜‰ ] πŸ˜„

                                      TIG

                                      1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        sergey2402
                                        last edited by

                                        @tig said:

                                        We are helping him... [sometimes in the background πŸ˜‰ ] πŸ˜„

                                        πŸ‘

                                        1 Reply Last reply Reply Quote 0
                                        • jolranJ Offline
                                          jolran
                                          last edited by

                                          About added features:

                                          To put hatches in a layers(newly created OR selected) is possible, at least create a new layer. I was thinking of adding that anyway.

                                          @unknownuser said:

                                          If you do two hatches of the same face, is it possible to get both hatches in the same group.

                                          It is a good idea, looking at how the plugin works right now. But it's risky business adding geometry inside groups, and you probably have to select the created hatchgroup before running. Wich in turn will not add that much improvement in workflow?
                                          But if you really, REALLY want that feature... It won't hurt testing..

                                          My personal view is that I should rather investigate the possibilitie to improve the plugin with a "pattern library" instead. No promises can be made in that regard though. It seams difficult.

                                          @unknownuser said:

                                          TIG, kyyu, please do not leave jolran alone
                                          πŸ˜„

                                          TIG's been helping me a LOT! Through PM's and more, otherwise this plugin would not exist. KYuu fixed the spacing and that was mucho importante.

                                          1 Reply Last reply Reply Quote 0
                                          • TIGT Offline
                                            TIG Moderator
                                            last edited by

                                            The layer part is easy. Add some code to make/refer to the layer
                                            hatch_layer=model.layers.add("HATCH")
                                            If it doesn't exist it's made...
                                            Then after the group is made use...
                                            group.layer=hatch_layer
                                            Done πŸ˜„

                                            You could add a 'crosshatch' option to the main dialog, because most of the time that's what's wanted anyway - "Crosshatch? " >> "Yes|No" [you'd need to insert a 3rd ['','',["Yes|No"]] in inputbox moving the title over to 4th place] - default would be 'No'. If results[3]=='Yes' you'd repeat the line drawing steps within the same group entities, but at +/-90 degrees, so there would be twice as many edges overlaid etc... πŸ’­

                                            How are the 'holes' going... ❓

                                            TIG

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 17
                                            • 18
                                            • 2 / 18
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement