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

[Plugin][WIP][OpenSource] Bezier Surface

Scheduled Pinned Locked Moved Plugins
245 Posts 69 Posters 47.4k Views
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.
  • T Offline
    thomthom
    last edited by 23 Nov 2014, 19:15

    @jolran said:

    @unknownuser said:

    it looks super nice thank you but it doesn't work for me (sketchup 8 on win7)

    Same here. I only had it working in 2014.

    Error "defined method `force_encoding' for #String:0xb10993c"

    This is "probably" and Ruby 1.8 error. I have the impression that many authors will stop supporting SU 8 soon.

    Yea, with my new subdivison extension I'm certainly dropping support for anything older than SU2014.

    Though this was written before SU2014 and it should work. (Though might have introduced a bug when I added SU2014 support. Can you provide the full error message and exact SketchUp version and OS?)

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

    1 Reply Last reply Reply Quote 0
    • T Offline
      thomthom
      last edited by 23 Nov 2014, 19:16

      @panixia said:

      yeah. force encoding blablabla.. getting similar message when loading sketchup

      The bla bla bla bit of error message is in fact very useful for developers when debugging errors - please post all of it when reporting issues.

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

      1 Reply Last reply Reply Quote 0
      • T Offline
        thomthom
        last edited by 23 Nov 2014, 19:17

        @jolran said:

        It may have be a condition set on line 26 in the loader rb
        "file = FILE.dup.force_encoding("UTF-8")"

        Ah - right, I'll fix that and push an update next week.

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

        1 Reply Last reply Reply Quote 0
        • T Offline
          thomthom
          last edited by 23 Nov 2014, 19:18

          @unclex said:

          It's just always updating...

          Like the GIF[attachment=0:1br0oo34]<!-- ia0 -->8.gif<!-- ia0 -->[/attachment:1br0oo34]

          Cannot Click or DoubleClick

          and when SU opening, nothing prompt

          Any errors in the Ruby Console?
          What SketchUp version?

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

          1 Reply Last reply Reply Quote 0
          • T Offline
            thomthom
            last edited by 23 Nov 2014, 19:19

            @oxer said:

            Thanks you very much for the plugin!! πŸ‘ πŸ‘
            I installed it in SU2014 & SU2015 on Mac but the plugin didn't work, I found a conflict with smartdrop.rb and Sketchyphysics, I deleted smartdrop.rb (I use tt.raytracer now to drop components) and I have deactivated Sketchyphysics on SU2014 with Sketchucation Plugins Manager and Bezier Surface work fine now.
            😍

            SketchyPhysics is known to clash with extensions. I think an update is coming.
            Not sure about smartdrop.rb - not familiar with that one.

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

            1 Reply Last reply Reply Quote 0
            • O Offline
              Oxer
              last edited by 23 Nov 2014, 19:34

              A quick test taking like reference the torso of Box.

              Quick Torso Femenino.jpg

              "The result is the end what is important is the process" by Oxer
              [http://www.oxervision.blogspot.com/(http://www.oxervision.blogspot.com/)]

              1 Reply Last reply Reply Quote 0
              • P Offline
                panixia
                last edited by 23 Nov 2014, 19:40

                @thomthom said:

                @panixia said:

                yeah. force encoding blablabla.. getting similar message when loading sketchup

                The bla bla bla bit of error message is in fact very useful for developers when debugging errors - please post all of it when reporting issues.

                i'm pretty much sure that the "blablabla" part of the message returned ad least 3 different values with different tries (that's pretty odd i suppose) the last try being: "Loading File tt_bezier_surface.rb
                undefined method `force_encoding' for #String:0xec947b8no such file to load --" 😲
                hope this can help

                1 Reply Last reply Reply Quote 0
                • T Offline
                  thomthom
                  last edited by 23 Nov 2014, 20:29

                  I'll mainly focus on my subdivision extension over this one. Though I'll try to maintain small bug fixes and pull requests. I'll see after SUbD is done what I do with this project.

                  Btw, I have a fix for the compatibility bug with SU2013 and older. I'll be pushing an update.

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

                  1 Reply Last reply Reply Quote 0
                  • J Offline
                    jolran
                    last edited by 23 Nov 2014, 20:31

                    @unknownuser said:

                    I'll mainly focus on my subdivision extension over this one

                    I understand.

                    @unknownuser said:

                    Btw, I have a fix for the compatibility bug with SU2013 and older. I'll be pushing an update.

                    πŸ‘

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      pilou
                      last edited by 23 Nov 2014, 21:01

                      When there is incompatibility (Sketchyphysics 3, SKalp, (my case) etc...
                      Who is faulty ? These plugins or Bezier Surface ?

                      @oxer : Rodin 2 πŸ˜„

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

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        thomthom
                        last edited by 23 Nov 2014, 23:14

                        Bezier Surface is confined to its own namespace - so the only thing I can think of would be possibly other extension clashing with observers. SketchyPhysics has been known to clash with many extensions - though I'm not sure if it's been updated recently to address that.
                        Odd if Skalp clashes... maybe observer fights?
                        Do you get any errors in the Ruby Console?

                        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
                          pilou
                          last edited by 24 Nov 2014, 00:02

                          @unknownuser said:

                          Do you get any errors in the Ruby Console?

                          See my previous posts from here

                          Messages were the same that the restant on my post linked πŸ˜‰

                          So for have no message errors I disconnect plugins after plugins.

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

                          1 Reply Last reply Reply Quote 0
                          • C Offline
                            CadFather
                            last edited by 24 Nov 2014, 01:47

                            ok, in my case progressbar.rb is the culprit

                            now it's smartdrop

                            it changes.. πŸ˜†

                            1 Reply Last reply Reply Quote 0
                            • U Offline
                              unclex
                              last edited by 24 Nov 2014, 03:17

                              @thomthom said:

                              Re: [Plugin][WIP][OpenSource] Bezier Surface

                              Postby thomthom Β» Mon Nov 24, 2014 4:18 am

                              unclex wrote:It's just always updating...
                              
                              Like the GIF
                              8.gif
                              
                              
                              
                              Cannot Click or DoubleClick
                              
                              and when SU opening, nothing prompt
                              

                              Any errors in the Ruby Console?
                              What SketchUp version?

                              Now I Know what happened
                              Smartdrop clash with TTlib2
                              something named "definition"

                              so I change "definition" to "a4sddefinition" @ smartdrop.rb
                              and it works

                              Smartdrop.rb

                              1 Reply Last reply Reply Quote 0
                              • J Offline
                                jeff hammond
                                last edited by 24 Nov 2014, 05:25

                                .

                                here's a simple introductory example.. maybe something a lot of people can use..
                                seamless background for rendering


                                1- draw the patch next to a flat plane:
                                1.png


                                2- double click the patch to enter the editing mode.. select the back line:
                                2.png


                                3- using the blue arrow on the gizmo, move the edge vertical:
                                3.png


                                4- using the red arc, rotate the edge downwards 90ΒΊ (degrees will be shown in the measurement box)
                                4.png


                                5- using the blue square, scale downwards.. align the green control point with the green axis
                                5.png


                                6- change the segmentation in the measurements box (i think i used 20)

                                6.png



                                DreamCar.jpg

                                dotdotdot

                                1 Reply Last reply Reply Quote 0
                                • J Offline
                                  jolran
                                  last edited by 24 Nov 2014, 07:58

                                  Wow, this topic is moving fast now. πŸ˜„

                                  Ok, so it's cubic 4 X 4 Bezier Patch. (As can be seen).

                                  The idea I had was to conform my surfaces(from the node editor) to be valid with your nice editing possibilities after baked down to Sketchup.

                                  I've built a simple translation-Gizmo for moving points(must have that at least) but your editing abilities are way more advanced. More than I would need actually in my GUI, since mostly dependent on parameter values..

                                  This would be at a later stage anyway. There is still plenty of Math to deal with πŸ˜„

                                  In all case.
                                  Congratulations to this version! The Gizmo is spectacular. πŸ‘

                                  BTW
                                  I don't know if you are gonna continue updating this plugin, since focus is on the subdivision pligin. But if you do and stay with Beziers, have you had a look at the power basis forms ? I studied them a little before since easier to grasp.
                                  They are used a lot in gamers code.

                                  They should perform better.
                                  It's also possible to have other degree curves with different matrix.
                                  For example a 3 X 3 Patch with degree 2 Power basis.
                                  Although the @last Bezier code base the degree on n_points so that should be the same.. ?
                                  (this is for a curve)

                                  #                      β”Œ            ┐   β”Œ    ┐
                                  #                      β”‚ βˆ’1  3 βˆ’3 1 β”‚   β”‚ P1 β”‚     MATRIX FORM for Cubic Bezier with 4 controlpoints.
                                  # P(t) = [tΒ³ tΒ² t 1] Β· β”‚  3 βˆ’6  3 0 β”‚ . β”‚ P2 β”‚
                                  #                      β”‚ βˆ’3  3  0 0 β”‚   β”‚ P3 β”‚
                                  #                      β”‚  1  0  0 0 β”‚   β”‚ P3 β”‚
                                  #                      β””            β”˜   β””    β”˜
                                  #
                                  # t = interval-value between 0 and 1. t2 = t*t, t3 = t2*t 
                                  # For even greater efficiency a,b,c,t3 coefficients could be cached and reused,
                                  # and updated when interval/subd changes.
                                  #
                                  def power_basis(t3,t2,t, p0, p1, p2, p3)
                                  
                                  	# Calculate 4 coefficients (MATRIX T*U) where 4th coefficient is simply reusing t3
                                  	a = t3*(-1) + t2*3    + t*(-3) + 1
                                  	b = t3*3    + t2*(-6) + t*3 
                                  	c = t3*(-3) + t2*3 
                                  
                                  	# Calculate Points coordinates (MATRIX U*V)
                                  	x = a*p0.x + b*p1.x + c*p2.x + t3*p3.x
                                      y = a*p0.y + b*p1.y + c*p2.y + t3*p3.y
                                      z = a*p0.z + b*p1.z + c*p2.z + t3*p3.z
                                  	
                                  	return Geom;;Point3d.new(x,y,z) # Return 1 point from interpolation
                                  
                                  end
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • BoxB Online
                                    Box
                                    last edited by 24 Nov 2014, 09:41

                                    I found a little problem with it.
                                    If you scale to 0 as a way of straightening an edge it freezes and won't update the surface. If you get out of edit mode and go back in an move a point it will revert to the unscaled skin.

                                    http://i155.photobucket.com/albums/s296/storeben/SU/0Scale.gif

                                    1 Reply Last reply Reply Quote 0
                                    • Rich O BrienR Offline
                                      Rich O Brien Moderator
                                      last edited by 24 Nov 2014, 09:53

                                      @box

                                      I'm not seeing that occur for me

                                      Download the free D'oh Book for SketchUp πŸ“–

                                      1 Reply Last reply Reply Quote 0
                                      • BoxB Online
                                        Box
                                        last edited by 24 Nov 2014, 10:07

                                        IT doesn't happen on all axis, I have yet to determine exactly when it happens, but I will pin it down.

                                        1 Reply Last reply Reply Quote 0
                                        • BoxB Online
                                          Box
                                          last edited by 24 Nov 2014, 10:19

                                          Try this and see if it is just me.
                                          The patch is drawn up the blue along the red. Second patch added, joint moved up on the blue. Select the two edges(3 points) on the red and scale to 0.
                                          Please excuse the sloppy movements, I find it's very hard to maneuver on a trackpad.

                                          http://i155.photobucket.com/albums/s296/storeben/SU/Red.gif

                                          1 Reply Last reply Reply Quote 0
                                          • 1
                                          • 2
                                          • 7
                                          • 8
                                          • 9
                                          • 10
                                          • 11
                                          • 12
                                          • 13
                                          • 9 / 13
                                          9 / 13
                                          • First post
                                            167/245
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement