• Login
sketchucation logo sketchucation
  • Login
๐Ÿค‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

[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.
  • S Offline
    sergey2402
    last edited by 24 Jul 2011, 07:35

    Angle of Hatching


    HatchRotation.jpg

    1 Reply Last reply Reply Quote 0
    • J Offline
      jolran
      last edited by 24 Jul 2011, 08:04

      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
      • J Offline
        jolran
        last edited by 24 Jul 2011, 08:14

        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
        • J Offline
          jolran
          last edited by 24 Jul 2011, 09:15

          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
          • T Offline
            TIG Moderator
            last edited by 24 Jul 2011, 10:01

            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
            • J Offline
              jolran
              last edited by 24 Jul 2011, 11:56

              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
              • J Offline
                jolran
                last edited by 24 Jul 2011, 17:10

                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
                • T Offline
                  TIG Moderator
                  last edited by 24 Jul 2011, 18:08

                  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
                  • J Offline
                    jolran
                    last edited by 24 Jul 2011, 18:36

                    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
                    • J Offline
                      jolran
                      last edited by 25 Jul 2011, 09:16

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

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        TIG Moderator
                        last edited by 25 Jul 2011, 09:53

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

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • J Offline
                          jolran
                          last edited by 25 Jul 2011, 11:54

                          No worries! ๐Ÿ˜„

                          1 Reply Last reply Reply Quote 0
                          • J Offline
                            jolran
                            last edited by 25 Jul 2011, 13:01

                            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
                            • J Offline
                              jolran
                              last edited by 25 Jul 2011, 14:42

                              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 25 Jul 2011, 14:51

                                Could you upload version 1.5 to test it?

                                1 Reply Last reply Reply Quote 0
                                • J Offline
                                  jolran
                                  last edited by 25 Jul 2011, 15:22

                                  Yep. This evening.

                                  I was planning on adding the crosshathcing as well. But it's not working yet.
                                  Anyway I will upload ver 1.5 anyway, with or without crosshatching.

                                  1 Reply Last reply Reply Quote 0
                                  • J Offline
                                    jolran
                                    last edited by 25 Jul 2011, 16:21

                                    1.5 beta uploaded!

                                    You might as well play with it. An Edge and a Face must be selected. The hatches will be created clockwise according to the edge. Hopefully ๐Ÿ˜„

                                    I will continue with the crosshatching...

                                    1 Reply Last reply Reply Quote 0
                                    • J Offline
                                      jolran
                                      last edited by 31 Jul 2011, 09:15

                                      Ooops!! ๐Ÿ˜ฒ The "Hatchfaces" menu item in Draw menu isent finished yet. Will fix that later...
                                      Should not affect usage with icons..

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        jolran
                                        last edited by 31 Jul 2011, 09:17

                                        Ok. ver 1.6 beta added.

                                        http://forums.sketchucation.com/viewtopic.php?f=323&t=38637&p=341461#p341461

                                        Crosshatching should be working. It creates the hatches in 2 groups inside a parentgroup, should you wish crosshatching.

                                        Had to rewrite parts into methods. TIG's been "directing" me more and finding problems than "giving" me code in this version. So I had to suffer and learn a little bit more ๐Ÿ˜„ Besides the script is getting longer so it takes more time to debug from his part...

                                        That said! Beware that this script could surely be optimized, and I'll gladely take tips about how to.
                                        I do feel it's a bit ugly script with all the methodcalling at the end.
                                        Just remember that the temp face(face_clone) method must be separate. So it can be used if there are possibilities to
                                        do other types of hatchpattern, and implement them on the face_clone.

                                        Thanks to TIG, again for tutoring ๐Ÿ‘

                                        1 Reply Last reply Reply Quote 0
                                        • T Offline
                                          TIG Moderator
                                          last edited by 31 Jul 2011, 10:39

                                          Great it's getting there...
                                          The dialog's values aren't getting remembered.
                                          Make variables like angle/spacing/cross_alt into @ types so they get remembered for next time... Otherwise you need to fill in the dialog each time.
                                          Use this too
                                          angle2=@cross_angle angle2=-@angle if not angle2
                                          This way the dialogs value is then the same as last time OR -@angle
                                          similar for spacing etc
                                          Also the menu item can reuse the cmd0 command rather that make another!
                                          Then it uses the same name as the Toolbar command...

                                          TIG

                                          1 Reply Last reply Reply Quote 0
                                          • 1
                                          • 2
                                          • 5
                                          • 6
                                          • 7
                                          • 8
                                          • 9
                                          • 17
                                          • 18
                                          • 7 / 18
                                          7 / 18
                                          • First post
                                            134/360
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement