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.
    • jolranJ Offline
      jolran
      last edited by

      Thanks for all your help and advice TIG!

      I will follow them.

      @unknownuser said:

      is the angle always more logically oriented to an axis rather than an edge of the face ??

      Don't know ๐Ÿ˜„

      So I'll update the plugin then? All OK?
      Will work on the crosshatching later. I think it is a good idea to get this fix out, so people can use this plugin
      more properly.

      This coding-testing burns more calories than a 2hours jogging in the forest ๐Ÿ˜„

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

        Test it on a cube's faces and a copy/copies of that cube rotated oddly in 3d to see what the hatching angles look like ??

        TIG

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

          Crap! It always hatches in the axis. Doesent matter if the cube is rotated or not.

          OK. for tomorrow then... sigh... I hope you will come to the rescue again ๐Ÿ˜„
          I'm guessing -transformation to axis something?

          I will never get to experiment with NEW features!!!

          It put the ver 1.4 update up anyway. Think it's better than it was before.

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

            It's just great!
            I see - this is a very difficult job.
            But now I am a real bad guy. I see only flaws! ๐Ÿ˜•
            (Iโ€™m sorry ๐Ÿ˜ณ )


            HatchLayer.jpg

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

              Sergey. No need to feel bad. It's good if you report anything suspicious. โ˜€

              The hatchgroup is created on Hatchlayer. The edges are created on the "active" layer.If you want ALL hatchline-geometry on "Hatchlayer". Just create one hatch(to add the hatchlayer). Delete it.
              Select Hatchlayer as active layer, then ALL lines will get to that layer.

              If we go back to the problem with hatchline alignment. Yesterday's update (TIG code)fixed the problem with ngons or to call it "asymmetrical" faces .

              I thought about this. I think the best solution(if doable) would be to do an additional edge selection.
              Where hatches get aligned to that edge. Something like if selection.contains edge, the vector will be created from that edge and override current solution. Eg if only face is selected hacthing will be done as current "on axis solution".

              I do not think this problem can be solved by an automatical solution(hope I'm wrong), cause faces can be created in so many different shapes. What edge should hatching be aligned to and so on..

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

                Angle of Hatching


                HatchRotation.jpg

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

                  That is true Sergey!

                  Should be an relativley easy fix. For TIG that is ๐Ÿ˜„ For me, everything takes time..

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

                    Hmm. GRRRRoin ๐Ÿ˜ 
                    The problem from yesterday is worse than I thought. Linehatch direction gets switched in different axis.
                    That is probably what TIG was reffering to. In my over-enthusiastic mood I did not notice that.

                    So my only conclusion is that an selected edge MUST be included in the calculation of hatch.angle.

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

                      Trying something. Comments are VERY welcomed. Have selected the face and 1 edge.

                      Can retrieve the edge like this.

                      @h_edge=ss if ss.class==Sketchup;;Edge
                      

                      And if using the edges points to make a vector, I've tried @h_edge.line. Did not work. This does not work either.

                      pt=@h_edge.start
                      p1=@h_edge.end
                      ve=pt.vector_to(p1)
                      

                      Main goal is to make a condition: If an edge+face is selected run this code. If only face is selected run the axis code.
                      Of course only 1 edge can be selected.
                      Bad idea?

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

                        The problem with the idea is that currently it processes all of the faces in a selection, if you have one edge selected it won't necessarily lie on the plane every face processed ?

                        My way uses the x-axis [usually] to determine the start vector [projected onto the face's plane] from which you angle off the hatching edges...

                        TIG

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

                          Ahh, you mean multiple face selection? Yes I see, that will not work of course. ๐Ÿ˜•
                          I don't see it as a big limitation that only 1 face could be processed at each time?
                          Or faces on the same plane, wich is probably the most common case?

                          Edges get drawn a bit irregular atm.


                          crossed.jpg

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

                            If selecting face and edge I can only get an array, not the edge as an individual edge selection? ๐Ÿ˜ž
                            Even if doing a ==Sketchup::Edge thingy..
                            Must I use a selection observer for this?
                            Would be fun if I could even try this method out, but stuck on basic things..

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

                              No complications like observers needed.
                              To pick one face and one edge from the selection use
                              ss=model.selection face=nil edge=nil faces=[] edges=[] ss.each{|e| if e.class==Sketchup::Face faces << e end if e.class==Sketchup::Edge edges << e end } face=faces[0]if faces edge=edges[0]if edges
                              This takes the first face and first edge it comes across in the selection and ignores all others [if there are any].
                              You then need a trap if there's no face selected
                              if not face UI.messagebox("Select a Face you dolt!") return nil end
                              and
                              ` if not edge

                              choose 'edge' by other means or error message again

                              endYou now process 'face' just the once and not 'each face in faces'... If you want to be thorough report the user has picked more than one face or edge if faces[1]
                              UI.messagebox("Select ONE Face - only the 1st selected Face was processed - Twit!")
                              return nil
                              end
                              if edges[1]
                              UI.messagebox("Select either NO or ONE Edge - only the 1st selected Edge was used - Fool!")
                              return nil
                              end`
                              etc etc...

                              TIG

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

                                Ahhh ๐Ÿ˜ฎ Excellent! That certainly make more sence then the shiยฃ$y stuff I was working on.

                                I will try this tomorrow, avec plaisire.

                                Thank you TIG.

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

                                  I think I will alter the "Tourette Syndrome style" prompts in the inputbox you recommended.

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

                                    They were intended as a 'joke' ๐Ÿ˜‰

                                    TIG

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

                                      No worries! ๐Ÿ˜„

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

                                        Well, it seams to be working a little better now. No promises though..

                                        TIG's selection code works like a charm.
                                        Just had to change pt and pt1 to pt=@edge.start.position, p1=@edge.end.position. And use ve=pt.vector_to(p1) as usual.
                                        So now the hatching gets aligned to the selected edge..

                                        Maybe it would be a good idea to have the plugin run as usual(axis mode) if NO edge is selected? Some if statements when edge is NOT selected or so..

                                        That way one still would have the possibility to alter several faces should one wish so.
                                        Anyway if no objections I might do the update on this?


                                        for ver1.5.jpg

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

                                          eekk, don't know what I'm talking about ๐Ÿ‘Š It does multiple faces as long 1 edge is selected and the face is
                                          connected to that edge.

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

                                            Could you upload version 1.5 to test it?

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 14
                                            • 15
                                            • 16
                                            • 17
                                            • 18
                                            • 17 / 18
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement