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

    [Plugin] Perpendicular Face Tools (UPDATED 26-03-09)

    Scheduled Pinned Locked Moved Plugins
    201 Posts 64 Posters 174.4k Views 65 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.
    • jeff hammondJ Offline
      jeff hammond
      last edited by

      @chris fullmer said:

      I like ctrl on the PC, but it apparently conflict on the Mac.

      actually, i'm not quite sure ctrl would conflict..
      ctrl is used with some other tools:

      cmd-ctrl-leftclick = orbit
      shift-ctrl with the eraser = unsoften/unsmooth

      i was just saying earlier that it's generally used for right clicking if you use apple's one button mouse.

      with the orbit example, i can ctrl-leftclick and get the context menu or i can add the command key and start orbiting.. i'm guessing it won't be a problem to use ctrl for the rotate function in your script and besides, it would probably be nicer to have a key on the left side of the keyboard instead of the right..

      is there anyway i can test a ruby with a ctrl modifier to see if it works on a mac?

      dotdotdot

      1 Reply Last reply Reply Quote 0
      • Chris FullmerC Offline
        Chris Fullmer
        last edited by

        @jim said:

        Well, then we woo nee dot show lkie tihs.

        
        > if key == VK_UP
        >   # do this
        > end
        > 
        

        I am a bad typer and a fast typer.....they don't go together well!

        Thanks for the tip Jim. Is there a way to list all the constants? I tried constant_variables (like global_variables does for globals), but thats not it. Is there a variable that contains all the initialized constants?

        Chris

        Lately you've been tan, suspicious for the winter.
        All my Plugins I've written

        1 Reply Last reply Reply Quote 0
        • Dave RD Offline
          Dave R
          last edited by

          Chris, I've been playing with this plugin some more. I like it in case you haven't noticed. πŸ˜„

          Drawer Pull.jpg
          This is a drawer or door pull or maybe a handle for the lid of an Asian influenced box.

          Etaoin Shrdlu

          %

          (THERE'S NO PLACE LIKE)

          G28 X0.0 Y0.0 Z0.0

          M30

          %

          1 Reply Last reply Reply Quote 0
          • Chris FullmerC Offline
            Chris Fullmer
            last edited by

            Dave, how are you getting the scale to change over the length of the shape? My tool only places the face on the line, but your shapes are all changing scale along their path quite smoothly. What is the trick there?

            Chris

            Lately you've been tan, suspicious for the winter.
            All my Plugins I've written

            1 Reply Last reply Reply Quote 0
            • Dave RD Offline
              Dave R
              last edited by

              Chris, I'd love to tell you something like, "I found a loophole in your script." πŸ˜† Alas, I'm just scaling the faces after placing them. In the case of the last image I posted, I drew a Bezier curve for the path--the curve you see in the top view--and another for the curve you see in the side view. I drew the custom face as half the profile and used your script to put it at the vertices along the curve. I rotated the large end profile 5Β° off vertical for this pull and then scaled all of them to height to match that upper curve.

              After that was all done, I exploded the faces, deleted the faces leaving the edges and used the Skin plugin to fill things in. I only made a quarter of the handle, made it a component and copied/fipped it to make the other three quarters.

              I probably don't need to use your plugin to create this but it is so quick at putting the faces in at the desired points and I think the end shape looks a bit nicer with the faces turned at each vertex to split the angle.

              Etaoin Shrdlu

              %

              (THERE'S NO PLACE LIKE)

              G28 X0.0 Y0.0 Z0.0

              M30

              %

              1 Reply Last reply Reply Quote 0
              • Chris FullmerC Offline
                Chris Fullmer
                last edited by

                @dave r said:

                Chris, I'd love to tell you something like, "I found a loophole in your script." πŸ˜†

                Ha, yeah right. A "loophole" in my script would be more likely to crash your system indefintely than create unexpected awesome geometry πŸ˜„

                Thanks for the explanation. I was wondering how you were getting the scaleing to come out so evenly. The bezier above them makes a lot of sense,

                Chris

                Lately you've been tan, suspicious for the winter.
                All my Plugins I've written

                1 Reply Last reply Reply Quote 0
                • takesh hT Offline
                  takesh h
                  last edited by

                  An interesting Ruby, Chris. This can be really handy.
                  One wish from me - Is it possible to pick a reference point (a vertice that sticks to the path) when placing profiles onto a path?
                  Right now it uses centers (more or less) of faces?

                  1 Reply Last reply Reply Quote 0
                  • Dave RD Offline
                    Dave R
                    last edited by

                    Chris, I don't mean to be getting off topic but here's sort of a deconstruction of the thing. The horizontal guides intersect the Bezier curve at the nodes or vertices. (Is it proper to call them nodes?) You can see the Bezier drawn on the ground plane, too. I copied that one and used the copy as the "path" for placing the faces with your plugin. All of this runs parallel to the red axis. Which you would glean from the position of the original face shown in green off to the right.

                    I did have to scale the faces in the green direction to get the vertical edges to lie on the centerline of the handle.

                    Drawer Pull Explained.jpg

                    Etaoin Shrdlu

                    %

                    (THERE'S NO PLACE LIKE)

                    G28 X0.0 Y0.0 Z0.0

                    M30

                    %

                    1 Reply Last reply Reply Quote 0
                    • X Offline
                      xrok1
                      last edited by

                      @unknownuser said:

                      Thanks for the explanation. I was wondering how you were getting the scaleing to come out so evenly. The bezier above them makes a lot of sense,

                      wouldn't it be awsome if you could get you're script to do that automatically?!! πŸ˜› scale to curves. WOW! how about this; draw to curves (rails) at get the profile to copy and scale at given intervals, say /6 or /12 or whatever. πŸ˜›

                      now that would be a great tool!!!!!!!!!!!

                      β€œThere are three classes of people: those who see. Those who see when they are shown. Those who do not see.”

                      http://www.Twilightrender.com try it!

                      1 Reply Last reply Reply Quote 0
                      • X Offline
                        xrok1
                        last edited by

                        @takesh h said:

                        An interesting Ruby, Chris. This can be really handy.
                        One wish from me - Is it possible to pick a reference point (a vertice that sticks to the path) when placing profiles onto a path?
                        Right now it uses centers (more or less) of faces?

                        place a constuction point and you should be able to use that.

                        β€œThere are three classes of people: those who see. Those who see when they are shown. Those who do not see.”

                        http://www.Twilightrender.com try it!

                        1 Reply Last reply Reply Quote 0
                        • Chris FullmerC Offline
                          Chris Fullmer
                          last edited by

                          Yeah, it would be very easy to make it recognize a construvtion point as the placement point. So next round:

                          Near future:
                          Add construction point placement
                          Fix rotation keys
                          Add multiple flat face support for the custom tool.

                          Distant Future:
                          Re-write custom face tool to rotate correctly always.

                          My Next Life:
                          Turn it into a proper sweep tool with multiple deformation methods.

                          Lets hope for the best πŸ˜„

                          Chris

                          And thanks for the detail on that Dave, quite useful. It might be possible to implement that funcitonality. Is that something that is wideuly used enough that it woul be helpful?

                          Lately you've been tan, suspicious for the winter.
                          All my Plugins I've written

                          1 Reply Last reply Reply Quote 0
                          • Dave RD Offline
                            Dave R
                            last edited by

                            Chris, if the function was available I think it would be used a lot by certain woodworkers who are using SU for designing their work. I can imagine others would use it as well. I've drawn a number of pieces utilizing the method I used for that handle such as table legs but I've always had to manually place the faces. I always found that the more tedious part of the process.

                            If you could automate the sizing of the faces, it would be very handy. I think working to nodes on the curves would be good.

                            I tend to halve or quarter more complex shapes such as that handle because they're generally a small part of a larger project and I don't want their contribution to the file size to exceed their worth if you know what I mean. I wonder if there would be a way in a dialog box to ask if the shape is half of a symmetric profile and should one edge of the profiles be aligned. Or maybe the scaling could be done such that the faces fit between top and bottom lines and left and right lines. If one of the pair of lines is straight, it could be used as the line of symmetry. Does that make any sense?

                            Not to dump a lot on you but the topper would be to roll the Skin plugin into your script. The process would be place the faces along the path, scale them to fit between the "sweep" curves, explode the face groups, delete the faces leaving the edges, skin between them and smooth the edges. What do you think of that?

                            Etaoin Shrdlu

                            %

                            (THERE'S NO PLACE LIKE)

                            G28 X0.0 Y0.0 Z0.0

                            M30

                            %

                            1 Reply Last reply Reply Quote 0
                            • Chris FullmerC Offline
                              Chris Fullmer
                              last edited by

                              I've got a few scripts in mind that deal with similar functions. We'll see if I attempt to write it into this one, or create a totally new script. I would definitely like to investigate this area of scripts. They sound like a lot of fun.

                              Chris

                              Lately you've been tan, suspicious for the winter.
                              All my Plugins I've written

                              1 Reply Last reply Reply Quote 0
                              • pilouP Offline
                                pilou
                                last edited by

                                A Scaling function between each click of a face along the curve β˜€
                                (with the arrows Right / Left for example Increase / Decrease)

                                Frenchy Pilou
                                Is beautiful that please without concept!
                                My Little site :)

                                1 Reply Last reply Reply Quote 0
                                • jeff hammondJ Offline
                                  jeff hammond
                                  last edited by

                                  @unknownuser said:

                                  A Scaling function between each click of a face along the curve β˜€
                                  (with the arrows Right / Left for example Increase / Decrease)

                                  to go even further off topic πŸ˜„ :

                                  what if you could scale the faces via some sort of weighing mechanism? (and i'm not sure if 'weighing' is the right term here -- i basically mean that everything isn't scaled equally and the 'pressure' is greatest at a determined point and dissipates as it gets further away ... i can sort of give an idea using the smoove tool but that only works up/down.. if this could somehow work with the scale tool instead, it would open up a lot of options.

                                  [flash=425,344:27kpptas]http://www.youtube.com/v/3AwbiNkwG9c&hl=en&fs=1[/flash:27kpptas]

                                  dotdotdot

                                  1 Reply Last reply Reply Quote 0
                                  • Chris FullmerC Offline
                                    Chris Fullmer
                                    last edited by

                                    Yeah, a soft selection tool (which is essentially what smoove does) would be nice. Its probably not enough, but you can hold down shift with the smoove tool to make it work in other directions than just the blue axis.

                                    Chris

                                    Lately you've been tan, suspicious for the winter.
                                    All my Plugins I've written

                                    1 Reply Last reply Reply Quote 0
                                    • jeff hammondJ Offline
                                      jeff hammond
                                      last edited by

                                      re: the construction point for placement of the custom profile..

                                      would something like this be hard to implement? (via 1001bit's extrude tool)

                                      [flash=425,344:avk32lsb]http://www.youtube.com/v/3AQ0bMPJh4Y&hl=en&fs=1[/flash:avk32lsb]

                                      dotdotdot

                                      1 Reply Last reply Reply Quote 0
                                      • Chris FullmerC Offline
                                        Chris Fullmer
                                        last edited by

                                        I like that. I'll have to think about it. It might require some re-writing and re-organizing.

                                        And I am really bad at the on-screen display of rubber band lines and crosshairs and lines that light up etc. Maybe once I get those under control, I can implement something more visually friendly. For now, I might just have to include a true construction point recognition.

                                        Thanks for the great suggestions,

                                        Chris

                                        Lately you've been tan, suspicious for the winter.
                                        All my Plugins I've written

                                        1 Reply Last reply Reply Quote 0
                                        • pilouP Offline
                                          pilou
                                          last edited by

                                          @dave
                                          @unknownuser said:

                                          Between Chris's plugin and the Skin plugin, this was all dead simple and fast work.

                                          What is the number of the version of Skin plug you use?

                                          Frenchy Pilou
                                          Is beautiful that please without concept!
                                          My Little site :)

                                          1 Reply Last reply Reply Quote 0
                                          • Dave RD Offline
                                            Dave R
                                            last edited by

                                            @unknownuser said:

                                            @dave
                                            @unknownuser said:

                                            Between Chris's plugin and the Skin plugin, this was all dead simple and fast work.

                                            What is the number of the version of Skin plug you use?

                                            Looks like 2.2.1

                                            Etaoin Shrdlu

                                            %

                                            (THERE'S NO PLACE LIKE)

                                            G28 X0.0 Y0.0 Z0.0

                                            M30

                                            %

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

                                            Advertisement