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

    Is it possible to offset a 3d spline?

    Scheduled Pinned Locked Moved Developers' Forum
    19 Posts 5 Posters 3.1k Views 5 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.
    • P Offline
      pr0
      last edited by

      I think that's how an offset works. All i know is that with an offset the endpoints tend to be parallel to each other - not necessarily exceeding the length of the spline. It could definitely work - just so long as the distance can be controlled in a small dialogue or something 😄.

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

        I still don't get it. Have you tried the regular offset tool in SU? Does it do what you want? If not, what do you think should be different.

        Chris

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

        1 Reply Last reply Reply Quote 0
        • P Offline
          pr0
          last edited by

          when you create a bezier spline - it usually does it based on a 2d axis constraint. I.E. it does it along the xy, yz, or xz axis - or along a constrained single face. However when you have a welded spline or a bezier spline that is oriented in xyz - i.e. a bezier spline that starts off of xy and then slowly goes into the z axis. Maybe a picture or a sketchup file will help.


          3d_spline_example.jpg

          1 Reply Last reply Reply Quote 0
          • thomthomT Offline
            thomthom
            last edited by

            How would you expect a 3D line like that to offset? Seeing how it flows in all three directions there's a number of ways it could be offset.

            Thomas Thomassen — SketchUp Monkey & Coding addict
            List of my plugins and link to the CookieWare fund

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

              I tihnk what you are wanting is to just scale the spline. But it is a little tricky because you can't do a copy-scale link oyu can do with move. Sop take your spline, turn it into a group. THen copy and paste in place. The scale the new group. Then copy and paste in place again. And scale the new group again. See if that does what you have in mind.

              Chris

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

              1 Reply Last reply Reply Quote 0
              • thomthomT Offline
                thomthom
                last edited by

                @chris fullmer said:

                I tihnk what you are wanting is to just scale the spline. But it is a little tricky because you can't do a copy-scale link oyu can do with move. Sop take your spline, turn it into a group. THen copy and paste in place. The scale the new group. Then copy and paste in place again. And scale the new group again. See if that does what you have in mind.

                Chris

                That won't work, as inner corner offsets will be smaller and outer will be larger.

                Thomas Thomassen — SketchUp Monkey & Coding addict
                List of my plugins and link to the CookieWare fund

                1 Reply Last reply Reply Quote 0
                • P Offline
                  pr0
                  last edited by

                  I think the best way to do it would be to have a line or construction line at the vertex between each bezier edge to guide the path for the new line. I.E to every vertex a perpendicular construction line would be created and then based on the distance guided by those construction lines connect the dots - and get an offseted line. I mean that is how it works with the tools on surface - except it already has a face. I think a picture will say it better than me.


                  3d_spline_example2.jpg

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

                    I think the closest thing is TIG's grow script. One of the problems with the idea is that a single point doesn't have such thing as "perpendicular" in 3d space. So those endpoints are difficult to solve.

                    The tools on surface work so well because he isn't actually working on 3d space. His shapes are confined to the 2d of the faces they are working on, so there is a 3d constraint on them, making it possible to determine where they should go.

                    Something like what your asking might be possible to make, but the results would be VERY unreliable. Sometimes it might do what you want, and sometimes it won't. That's my take.

                    Chris

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

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      pr0
                      last edited by

                      i know, what i meant to say a perpendicular line to each edge preceding the vertice that way it isn't constrained to 3d space. its like taking the follow me tool and using a square to follow the a constrained geometry - i.e. a square. The distance of the height and width of the square would determine where the offset line would go. Maybe like this? (p.s. the determining factor i used as the follow me constraint was your perpendicular face tool 😄, which is really great)


                      3d_spline_example3.jpg

                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        pr0
                        last edited by

                        Hey Chris, I just wanted to thank you for your help either way. Your tools are more than great, and i just wanted to show you I really appreciate your advice. Thanks a lot man.

                        -Sam

                        1 Reply Last reply Reply Quote 0
                        • E Offline
                          Ecuadorian
                          last edited by

                          You could use "Follow Me And Keep" to extrude a rectangular profile and then delete all faces of the resulting object.

                          To delete all faces and keep only edges, change to wireframe mode, select everything with a marquee, cut it, return to shaded mode and paste it.

                          Here's a skippy showing the "before" and "after". If this is what you want to achieve, let me know and I'll explain it in more detail.


                          extrude_3d.skp

                          -Miguel Lescano
                          Subscribe to my house plans YouTube channel! (30K+ subs)

                          1 Reply Last reply Reply Quote 0
                          • P Offline
                            pr0
                            last edited by

                            Yep, thats what i did in that image that i posted before the last one. 😄. I was just wondering if this can be automated.

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

                              Yeah, I have a feeling that the follow me and keep method might be the best way to do that. Essentially the offset you are suggesting is one that ignores the z or blue axis. So when you offset it on the blue, there is no change. Its just like a copy. But on the red and green it expands like a true offset. I think you'll find in your example that the upper offset is no different than the original line.

                              Its not a bad idea, and with webdialogs it would be possible for the user to indicate which axis to ignore, making it possible to be more specific about how to get to the desired offset. I keep finding that webdialogs are the solution to lots of my UI issues. I need to learn those so it would be possible to create a script like this that lets the user supply more information about how they want the script to act.

                              Maybe Webdialogs are my next project.....that means learning me some javascript.

                              Chris

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

                              1 Reply Last reply Reply Quote 0
                              • P Offline
                                pr0
                                last edited by

                                There is also a very interesting way to be able to control it intuitively without a web based dialogue. I don't know if this is possible if you were to create a small resizable square along the nearest vertex you click to offset the line and intuitively resize it or snap an edge to constrain the 'follow me' function and then simply offset the distance of that particular box along its edges. I'm always bad at explaining things, maybe i can show it in a picture once more. lol 😄


                                example 4.png

                                1 Reply Last reply Reply Quote 0
                                • P Offline
                                  pr0
                                  last edited by

                                  Sorry guys, let me repost it with the snaps 😄.

                                  -Sam


                                  example 4.png

                                  1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    pr0
                                    last edited by

                                    Actually now that i think about it, it could be a new function for lathe - given if it can take every custom angled edge on the area that it follows and uses this offset tool to follow with for the lathe tool. 😄 Don't mind me guys, i'm just dreaming. lol 😉

                                    -Sam


                                    example 5.png

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

                                      You could try offset.rb

                                      While I wrote it to provide standard "flat" offset capability, I noticed it does perform 3d offsets. It may not be exactly what you want, but it could form the basis for a 3d offset.

                                      RickW
                                      [www.smustard.com](http://www.smustard.com)

                                      1 Reply Last reply Reply Quote 0
                                      • 1 / 1
                                      • First post
                                        Last post
                                      Buy SketchPlus
                                      Buy SUbD
                                      Buy WrapR
                                      Buy eBook
                                      Buy Modelur
                                      Buy Vertex Tools
                                      Buy SketchCuisine
                                      Buy FormFonts

                                      Advertisement