[Plugin] Shell
-
Thanks Thomas, this plugin is very useful!
However, I don't seem to be able to commit after typing a thickness.
The shell is generated, but neither double-clicking or Return finishes off the process.
The space tab brings me back to the selection tool, but the already generated shell is lost.
Ruby console reads:Error: #<ArgumentError: Cannot convert argument to Sketchup::Point3d>
/Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:401:inadd_face' /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:401:in
add_border_face'
/Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:381:inshell' /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:374:in
each'
/Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:374:inshell' /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:362:in
each'
/Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:362:inshell' /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:321:in
offset_mesh'
/Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:319:ineach' /Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:319:in
offset_mesh'
/Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:188:in `onLButtonDoubleClick'
/Library/Application Support/Google SketchUp 8/SketchUp/Plugins/tt_shell.rb:328 -
Got a sample model?
The plugin is a very early experiment - so very prone to errors.
-
Thomas, my apologies for having bothered you without testing more thoroughly beforehand!
Although the error is reproducable, it is limited to geometry that has rounded corners in combination with an offset of the shell, that is close to or greater than the offset of the rounded corners.
I have attached a sample model with some tests - the red shape produces the error.
-
@krath said:
Thomas, my apologies for having bothered you without testing more thoroughly beforehand!
Although the error is reproducable, it is limited to geometry that has rounded corners in combination with an offset of the shell, that is close to or greater than the offset of the rounded corners.
I have attached a sample model with some tests - the red shape produces the error.Thanks for the sample file. It helps me when testing the plugin. It'd not first up on the priority list at the moment to be honest - I got some other updates lined up. But I'll be getting back to it.
In case you haven't tried it, Fredo's Join Push Pull is more mature and does a better job.
-
This issue is the same as the 2d offset when you get reversed edges in the internal offset loop on tight corners or narrow peninsulas.
I have an unpublished version of some 'smart_offset' code that spots this issue and offsets in 2d 'truly', ignoring these glitches... I might dust that off...
In the 3d equivalent - like 'shell' - we need a similar 'reversed faces' catcher.
Perhaps we make the internal 'shell' faces, then intersect everything in its group with its entities, to 'split-off' any 'crossovers', then we erase any faces that when raytested from their center by their normal hit the parent object's entities, finally erasing all single faced edges that are left over and any unfaced edges left after that...Just some ideas...
-
I pull and click or enter the distance and click but it never completes... allows me to choose again and again.
works on simpler mesh though. like box and sphere. wondering if it's my mesh that's the problem.
it shows me the preview of what will be made. never makes it. I wonder if there is another way to complete other than double click?
-
Got a sample model?
Does the Ruby Console display any error.
It it quite likely to be bugged - it's a very early experimental version.
-
sent
-
What a bomb "shell" Thomthom. Thank you very much for this beta that is already a great plugin.
I've been long waiting in the shadows, looking for a way to make myself useful around here. And if you don't mind, as I'm no coder I offer myself as a crash test dummie. I made some observations too and I hope you may be able to take some conclusions from them.
1 - As was already mentioned before, I noticed that with some geometry the preview is being shown but the shell isn't created with double click or enter. In my case It usually happens when the preview draws extra faces that intersect the original group/component's faces, getting outside. Besides that the preview is accurate. (If there was already a way to force the previewed geometry to become real geometry, this could be an awesome plugin.)
2 - This preview geometry thing is more prone to happening with closed or revolved shapes. Sometimes It works but creates strange intersections inside. If those faces are open and the shell isn't too deep, it works just fine and it's also very fast. When it does work it is flawless with all faces parallel and at the same distance from each other! I made some (almost) manual shells, just to compare and they were always perfect matches.
3 - I also tried negative shelling just to test if I could get the same shape back. When tt_shell works, the negative shell also works. I also noticed that once I inserted the negative value, SU remembered that direction as being positive. So if I wanted to make a "regular" shell after, I had to input a negative value again.
4 - In the file below there is an example of an object that did not create a shell but got some interesting results:
a) I tried creating a 30cm shell and it failed.
b) I created the shell above using Normal Push Pull and the usual intersect faces method. I got the resulting 30cm shell I wanted.
c) From this resulting shape I tried using the plugin to create a second 30cm shell and it worked, wich I found strange.
d) So I tried to make a negative shell wich would grow the shape back 30cm. This again worked and I was back with the shape I got in b).
e) I picked back the smallest shell from c) and I tried to make it grow 60cm so I could have the initial shape in a). It failed to do so.
f) I tried again, but with a 59cm value and it worked.
g) I noticed that there were some edges that were very small and that if I would have tried to reuse the 60cm value that I did before, they would become vertices.What this suggests me is that maybe the plugin isn't able to manage edges that shrink until they become vertices. The reverse should also be true and that means the plugin also can't handle vertices that must grow into edges. Of course I'm not absolutely sure but probably there's something down this line.
This is all illustrated in the scenes from the attached file.
If it is ok I'll keep testing the plugin until I find some more examples of this.
I really hope I made a small contribution and thank you again for all the hard work. It's much appreciated.
-
Joint Push Pull does a much better job at making a "shell". And it's not beta. I will probably take some time before I do more work on this plugin. (Though it is a part of another plugin I'm working on - so eventually.)
-
Thomthom,
I'm sorry if you don't go further with this plugin. I have been using JPP but, sometimes and on certain shapes, (the ones i usually work on) it creates a shell whose faces are not all parallel to each other. I was going to comment on the JPP topic but gave up when I read the manual. In there Fredo clearly states that JPP was designed in a way that those unparallel faces are supposed to happen sometimes.
Your shell, with those same shapes makes them always parallalel (at least in the preview). It really works well in the rest of the time and the only "flaws" I noticed were the ones I pointed. If only those previews could be materialized in "real" lines and faces...
If you give it a second thought, I do think it's worth putting just a bit more effort on this.
I don't want to sound ungrateful though, because in its current state, this is already one of my favourite plugins.
Best regards and thank you.
-
[quote="Krisidious"]I pull and click or enter the distance and click but it never completes... allows me to choose again and again.
quote]
Have the same issue. No preview, though. It's a lathed globe shape, open at both ends. Haven't tried it on anything else yet.
-
@jql said:
If you give it a second thought, I do think it's worth putting just a bit more effort on this.
I will get back to this, for sure. As I want to make sure of it's function in Bezier Surface. This plugin is a research experiment. It's just not at the top of the list of priorities right now. Just wanted to let people beware of that.
-
yes Joint Push Pull achieved the desired effect.
-
work but just on simply meshes
-
Huh?
-
Not sure if this and Simple Shell are the same. I've used Simple Shell on some rather complicated shells and it does a fantastic job. This one looks real good to.
-
Hi there thomthom
Its been long time since i was on these forums, well i ve been busy look up and checking out alot of your great plugins, one is something that could be handy for what i am after there is a few changes that could be addedwell i explain what iam after, iam trying to find plugins that best matches what it take to be user friendly with HAMMER(source map editor)for Counterstrike GO. So far i came across shell, basic and does it job, not sure if you could make a small change that can group the face first then shell, all done from the right menu.
oh not sure if there is a small bug in this script but when you try and edit the shell by clicking on one of the bounding line and moving its some times breaks the faces it seems the line wasnt connected to the face..
i know this is more a request, but the forums have change and i dont see the request part in here anymore.
-
Oh i just found out why the lines are not joined to some faces its cause the shell makes another group with in the selected group not sure if this was intened or not.
-
The plugin is just an experimental test. The A in the version number indicates Alpha - which means it's very early development release.
Have you tried Joint Push Pull?
http://sketchucation.com/forums/viewtopic.php?t=6708#p42783It's much more stable and mature.
Advertisement