[Plugin] FredoTools::Convexify - v1.0 - 25 Feb 15
-
@fredo6 said:
That won't be easy from the code itself and anyway it heavily relies on Sketchup framework to describe geometry (faces, edges, etc....). The best is that I provide you with a short description of the algorithm which could be adapted to your geometrical frameworks in MSPhysics and underlying engine.
Thank you Fredo. It seems complicated, but I'm fairly sure its possible to put together a C extension out of this. I'll look into the source and try to break it down. Otherwise, I could stick with Ruby-SketchUp implementation.
Thanks again,
Anton -
I decided to do a little test and got a generation error with that camel, which I got at 3dwarehouse.
@unknownuser said:
Date: 27-Feb-15 01:54:52
An error occurred in Convexify 3D Shapes
Error while processing Convexifywrong argument type (expected Sketchup::Face)
body_Lib6Solid.rb: 1212 -- reversed_in?
body_Lib6Solid.rb: 1212 -- block in solid_transfer_section_faces
body_Lib6Solid.rb: 1205 -- each
body_Lib6Solid.rb: 1205 -- solid_transfer_section_faces
body_Lib6Solid.rb: 1034 -- solid_split
body_Lib6Solid.rb: 909 -- solid_split_robot
body_Lib6Solid.rb: 560 -- robot_execute_protected
body_Lib6Solid.rb: 506 -- robot_execute
body_Lib6Solid.rb: 482 -- block in convexify
Lib6Operation.rb: 325 -- call
Lib6Operation.rb: 325 -- step_geometry
Lib6Operation.rb: 286 -- block in yield?
SketchUp: 1 -- callGeneration Options:
Put the Convex shapes on LAYER: Fredo6_Convexify
Tolerance Concavity: 0 deg.
Animation algorithm: NOA bit different error shows up when I generate with Animation set to 0.2s.
Edit: Adding
next if edge0.faces.size != 2
to body_lib6Solid.rb, line 1210 (afterbreak unless edge0
) seems to fix that initial error, and generate convex decomposition without problems. However, changing tolerance makes a different error to appear. Maybe you could look into it if you have time...
-
Anton,
Thanks for pointing to this bug.
Actually, the correction is to replace line 1207 (an error of too quick copy / paste!)
#ledges = face.edges.sort { |e1, e2| e2.length <=> e1.length } ledges = ledges.sort { |e1, e2| e2.length <=> e1.length }
I'll fix and re-release, after looking at the Camel
Fredo
-
Thanks. I was kind of wondering whether multiple convex shapes could be combined. The algorithm generates too much convex shapes for complex models. It would be nice to have a cleanup method which then combines final convex groups if they together are still a convex shape.
-
I am disapointed that the Pilou's model is not a real solid!
It should because it has an external closed skin!
Sure internal is maybe some convoluted!So next plug will be to tranform it in a real solid!
In any way another Cristallographic task!
-
@anton_s said:
Thanks. I was kind of wondering whether multiple convex shapes could be combined. The algorithm generates too much convex shapes for complex models. It would be nice to have a cleanup method which then combines final convex groups if they together are still a convex shape.
Anton,
This would be another type of decomposition (say a "blockify" method). Convexify does the job, and none of the small piรจces can be combined to form a bigger convex piece. In the camel, many of the mesh quads have a diagonal that is a concave edge.
For collision, I guess that what you need is an approximate block decomposition that would be visually sufficient to give the impression of contact.
Fredo
-
@pilou said:
So next plug will be to tranform it in a real solid!
Did you try Solid Inspector by thomthom. I think TIG also has a plugin for that.
Fredo
-
I will try that!
-
I am having a problem with Convexify. I am running SU15 Make. I have this tool on another computer and it runs seamlessly. I can't figure out why it won't work on this computer.
Running the tool seems to work at first where I get prompted to use the whole model (if nothing is selected) and then I can select the convex decomposition parameters. Once I click "OK" the green hour glass comes up, but then nothing happens. The second I move my mouse, the hour glass changes to a pointer as if nothing ever happened. Any clue to what's going on here?
-
hello,
Unfortunately, I have exactly the same problem.
I work with pro skecthup 2015 -
Thanks for signaling.
This is a bug introduced by LibFredo6 6.8. Sorry for inconvenience.Please install LibFredo6 6.8c, now published on the PluginStore.
Fredo
-
speed and efficiency
a big applause
thank you a lot
is it possible to keep the exploded model? -
Will be fine if we can exit with an actual position of the animation Explode Convexify colored view!
(with colors or not)
Or does exist a trick ?
(sure I can use other thing like Explode-view, Animator, ... but that give not the colors etc... -
-
It's seems to be relative with angular tolerance.
-
But I may be wrongโฆ
-
Even more evident for 2 simple circles extruded!
Dashed lines should be the good ones! -
Pilou,
This is normal.
The corresponding vertices of the inner and outer circles are not 'aligned', that is, the line joining two corresponding vertices does not go through the common center of the circles.
This is a frequent issue when drawing co-centric circles. Because they are made of segments, it may important to keep them 'aligned'. I must say that the Circle tool does not help too much for that.
If Convexify was 'following' your edges in the current model, the pieces would not be convex or would have to be divided in smaller chunks.
Fredo
-
That is some ennoyous!
So we must found a trick!
Because make drawings with concentric Circles or Arc-circle are very commune! -
Ok I found one
Drawing concentric circles on the same alignment!
here the red axe!
PS Now if you can exit during the animation for keept the position of objects & colors
that will be cool!
Advertisement