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

    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

      Hey guys, i was just curious, i noticed there are some very notable plugins that were made not too long ago including the loft tool and the shape on surface tools and the bezier spline tools - where the use of splines can be used then can be subdivided to generate a 3d shape and even offset 3d surfaces after you draw them and even draw on those surfaces. Is there a plugin that can offset just simply a 3d spline? that would resolve alot of issues creating custom curved walls via the loft tool ๐Ÿ˜„. i know there are vector push pull plugins - but creating simply two loft via 2 different offset surfaces is easier. If the spline goes into the z axis it can no longer be offset - is it possible to create a tool to offset that? I'm sure there are many other applications that can be thought of for such a tool. just a thought. anyone have any ideas ? ๐Ÿ˜„

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

        Hey, I'm not sure what you mean. Do you just want a 3d bezier to be moved and scaled simultaneously?

        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 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