[Plugin][WIP][OpenSource] Bezier Surface
-
IT doesn't happen on all axis, I have yet to determine exactly when it happens, but I will pin it down.
-
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. -
@pilou said:
@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.
Ah, there's something suspicious:
@unknownuser said:
Error: #<NoMethodError: undefined method
parent' for nil:NilClass> C:/Users/Pilou/AppData/Roaming/SketchUp/SketchUp 2014/SketchUp/Plugins/ChrisP_PutsCompOnFace.rb:21:in
definition'Looks like this extension has injected itself into the system somewhere. Maybe it modified .definition. What happens if you remove that extension?
(Also, where did you get that extension?) -
@cadfather said:
ok, in my case progressbar.rb is the culprit
now it's smartdrop
it changes..
Ah yes, progressbar.rb is also known. But wasn't that updated?
Is smart drop also conflicting?
-
@unclex said:
@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[attachment=0:nay6raup]<!-- ia0 -->Smartdrop.rb<!-- ia0 -->[/attachment:nay6raup]
Right, so this is what is happening:
Smartdrop is modifying the SketchUp API classes - which is a Bad Thing (TM)
class Sketchup;;Group def definition return(entities[0].parent) end end
This method is bugged - it will fail when the group is empty because it tries to get the parent of the first entity in the entities collection. entities.parent would have worked though - so close. (But not perfectly in all older SU versions as there was a SU bug. There is a workaround for that, but that is not implemented here.)
This is a good example of why modifying classes and modules that doesn't belong to your own extension is a bad thing. Before SU2015 it was adding a method that was not there, but as of SU2015 we added .definition for Group - meaning now it's also overriding the Ruby API.Was this the latest version of smart drop - or is there a new one that might have fixed this?
-
@jeff hammond said:
.
here's a simple introductory example.. maybe something a lot of people can use..
seamless background for renderingWow, tutorials already! I'm really baffled that people find it usable in any sense - considering it's so much that's missing.
-
@box said:
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.Yea, I'm not surprised there are errors - I actually would have expected many more reports.
I'm going to guess that there are errors in the Ruby Console when your issue occur? -
Yes indeed, was just looking at that. a long error I think repeated.
Error: #<ArgumentError: Cannot convert argument to Sketchup::Point3d> C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_patch_quad.rb:528:in
intersect_line_line'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_patch_quad.rb:528:ininterpolate_points' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_patch_quad.rb:553:in
interpolate_interior'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_patch_quad.rb:262:inrefresh_interior' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_surface.rb:1046:in
block in refresh_automatic_patches'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_surface.rb:1044:ineach' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_surface.rb:1044:in
refresh_automatic_patches'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_surface.rb:1026:inupdate_after_transformation' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/bezier_surface.rb:427:in
transform_entities'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/operator_gizmo.rb:105:inblock in init_gizmo' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:65:in
call'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:65:inblock (2 levels) in initialize' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:319:in
call'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:319:inblock in initialize' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:1504:in
call'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:1504:inonMouseMove' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:473:in
onMouseMove'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/TT_Lib2/gizmo_manipulator.rb:156:inonMouseMove' C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/operator_gizmo.rb:70:in
onMouseMove'
C:/Users/Ben/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/tt_bezier_surface/operator_manager.rb:56:intrigger_event'
It appears this keeps repeating, but I could be wrong.
Edit: on a second look it doesn't repeat, but is very very long.
-
@thomthom said:
I'm really baffled that people find it usable in any sense - considering it's so much that's missing.
i bet what people could do out of Sub-d "as it is" would be even more surprising
-
I have one request that would make it much more useful.
Add support for editing without messing up UVs like your vertex tools works. -
@box said:
Yes indeed, was just looking at that. a long error I think repeated.
Edit: on a second look it doesn't repeat, but is very very long.
Thanks for posting the error message.
-
So are there instructions or tutorials for this?
-
@thomthom said:
@jeff hammond said:
.
here's a simple introductory example.. maybe something a lot of people can use..
seamless background for renderingWow, tutorials already! I'm really baffled that people find it usable in any sense - considering it's so much that's missing.
heh.. i was just thinking it was a way to show the scale/rotate/move options available via the gizmo.. also a way to point out that using a radius isn't the best way to build a psyche wall..
tangent blends aren't the smoothest since they abruptly change from one direction to another and you will see a more defined line in light/reflections.. you want something that eases into the transition.. bezier surface provides this type of blend (a little more control/ snapping of control points is necessary but as is, it still gets the job done.)
here's a tangent fillet vs one with G3 continuity for example:
-
@unknownuser said:
Error: #<NoMethodError: undefined method `parent' for nil:NilClass> C:/Users/Pilou/AppData/Roaming/SketchUp/SketchUp 2014/SketchUp/Plugins/ChrisP_PutsCompOnFace.rb:21:in `definition'
Looks like this extension has injected itself into the system somewhere. Maybe it modified .definition. What happens if you remove that extension?
(Also, where did you get that extension?)Removed and all works fine
This extension is from a French developper Cplassais
Look his other plug at PluginStore ColorEdge
he made also Explode View (with me
And numerous other ones it site -
@pbacot said:
So are there instructions or tutorials for this?
Not much. I basically released this because I haven't been keeping up development lately. So I had thought it was more of a preview and perhaps invite some developers to perhaps contribute in an open source project. However it appear to have drawn a bit more attention than I expected.
There are a couple of videos, though I'm not sure if they are visible in the PluginStore - at least I could not find where they ended up. Though they should be linked in this thread, and on the EW description page. You'll also find them from my YouTube channel.But they really are just teasers and not how to.
I'm also about to go on vacation for a week so I'll be slow to respond and won't be able to produce anything soon. (I'm in short of time in general.) Meanwhile I'd encourage people to share their experiences on the forum.
-
@pilou said:
Look his other plug at PluginStore ColorEdge
he made also Explode View (with me
And numerous other ones it siteBut the one that cause problems, that not publicly available? I was hoping to be able to inspect it and then see if I could reach out to the author and ask that he can release a new version that doesn't conflict.
-
@jeff hammond said:
tangent blends aren't the smoothest since they abruptly change from one direction to another and you will see a more defined line in light/reflections.. you want something that eases into the transition.. bezier surface provides this type of blend (a little more control/ snapping of control points is necessary but as is, it still gets the job done.)
Got a wireframe of that mesh? I'm curious to what makes out the difference. (I'm wondering if my SUbD tool might address that.)
-
@unknownuser said:
But the one that cause problems, that not publicly available? I was hoping to be able to inspect it and then see if I could reach out to the author and ask that he can release a new version that doesn't conflict.
Components on face by CPlassais
-
@thomthom said:
Got a wireframe of that mesh? I'm curious to what makes out the difference. (I'm wondering if my SUbD tool might address that.)
the render mesh looks like this:
the tangent one has all facets at equal angles/sizes whereas the g3 blend starts off mellower then gradually tightens..
at the highest end, this stuff only really matters if you're designing surfaces for cars etc but at the midTOlow end, some of it can & should trickle down into sketchup/architecture/furniture/etc.
-
@pilou said:
Components on face by CPlassais
That is using the exact code that smartdrop.rb uses - which is bugged and breaks the Ruby API.
class Sketchup;;Group def definition return(entities[0].parent) end end
I'm about to take a weeks vacation so I'll be off the grid. Pilou, since you worked with him, care to follow up with him on the issue? Request that he updates his extension to not modify the Ruby API?
Advertisement