[Plugin] SolidSolver
-
Copyright 2011-2020 TIG (c)
Permission to use, copy, modify, and distribute this software for any
purpose, and currently without fee, is hereby granted, provided that
this text and the above copyright (c) notice appear in all copies.
This software is provided "as is" and without any express or implied
warranties, including, without limitation, the implied warranties of
merchantability and fitness for a particular purpose.Parts are based on ThomThom's 'solid_inspector' tool which can also be
used prior to this tool, so that you get a better understanding of what
is wrong with your Non-Solid Group...Name: TIG-solidsolver.rb
Menu: 'Tools' > 'SolidSolver'
Context-menu: > 'SolidSolver'Usage: [Note this works on >= v8 only]
Select a Non-Solid Group/Component-Instance and run the tool from the menu
or context-menu.
If it contains nested groups or instances you are warned, and given the
option to explode these - it could never be a 'solid' otherwise.
It analyzes the object's form for holes [which it heals], small faces
[also healed] and removes partitions/flaps that are making the form
'non-manifold', and it merges any 'split' colinear edges.
If there are any coplanar edges it asks if you want to remove them.
It then reports on the results 'solidity' & what was done to achieve it.
It is one step undoable.
If the object remains 'non-solid' it's likely be due to some edges still
having more than two faces - e.g. two otherwise solid cubes touching at
an edge will therefore use that edge for four faces, which is therefore
regarded as making it a non-solid. An additional dialog explains, and it
then offers the chance to try to rectify this. A 'fix' might produce odd
results - for example the common edge to two cubes might be removed so
there are no longer any edges with more than two faces, but the form
might then be folded back on itself to achieve interpenetrating faces -
which, although then regarded as forming a 'solid', is an 'impossible
object' in normal three dimensions... You are given a separate undo for
this step if you do try it.
Tip: IF you have this type of form temporarily group one of the 'cubes'
and move if over say 0.5mm, so that there are then two distinct edges
and it will become a proper solid of two separated volumes, without the
involuted faces issue.Donations: PayPal.com to info @ revitrev.org
############
Get the latest version from the PluginStore...
http://sketchucation.com/pluginstore?pln=TIG_solidsolver -
This will be handy. Thanks!
-
uh,....
Just Fantastic!
Expect payment.
-
Any reason it is V8-Pro only
-
You are welcome to try it on other versions... [worst that can happen is Ruby Console Errors] but I think some of the methods it uses are available for v8/Pro only ??
EDIT: Actually it should work on v8 free too... -
Here is v1.1 http://forums.sketchucation.com/viewtopic.php?p=359994#p359994
Now if it contains nested groups/instances you are told, and given the option to explode these - remember that it will never be considered to be a 'solid' otherwise: any nested groups/instances within the exploded ones are exploded too... -
Here's v1.2 http://forums.sketchucation.com/viewtopic.php?p=359994#p359994
It now spots if problems arise from nested groups/instances, shared-edges or geometry that can never form a 'solid' - no matter what you try to do to it !
The closing dialogs now explain what's what... as appropriate...
So... it's best to use this tool on a group you think is nearly [or could easily become] a 'solid'...
You're wasting your time using it on a poorly made mess because it won't be 'solvable'... -
Here's v1.3 http://forums.sketchucation.com/viewtopic.php?p=359994#p359994
It now merges any split colinear edges into one continuous edge. -
Thanks Again TIG.
Now that you mention it, is there any merit in combining two coplanar faces (remove edge) where the material is the same. This is something I have to fix occasionally when joining solids. Usually it heals itself.
No wait. Do that and you'll soon get the opposite request.
Peter
-
It [already] removes coplanar edges if the two faces have the same material/back_material.
It now merges split colinear edges into a single edge -
Hey Tig,
I get this error when i try to use it on attached model
Error: #<NameError: undefined local variable or methodentities' for TIG:Module> C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/TIG-solidsolver.rb:294:in
solidsolver_heal_small'
...
-
Pout
Thanks for the feedback - a stupid typo!
I'll fix it asap.
As for your SKP... it can't be made a 'Solid'. There are reversed faces, hidden edges, many multi-vertex straight edges, coplanar/unfaced edges, tiny edges, clear large gaps and holes etc... that all need 'fixing' - best to at least try - the tool is intended to fix issues with groups you think ought to be solid but aren't - rather than make a solid out of a collection of mismatched geometry that clearly is nothing like a solid to start with and which might never achieve solidity, no matter what is tried in code - although some manual redrawing it editing could nudge it in the right direction...
So do some tidying up [perhaps using SolidInspector after an initial attempt to see where the problems are - e.g. you have many 'coincident faces' - try intersecting the geometry with itself or group/explode/regroup] - it tries to fix hundreds of issues and fails - it can become a solid. -
Here's v1.4 http://forums.sketchucation.com/viewtopic.php?p=359994#p359994
A daft typo in the heal small faces/holes code has been fixed. -
Thank you TIG. You Rock!
-
TIG
Found an interesting error. If I use this program to fix a non solid, and do nothing else except go to the file save option to save the file. Before the file is saved, the solid reverts back to the non solid status. If I do something other than go to save, like draw a line the file will save without reverting to the non solid.
-
Weird... I'll try to reproduce it...
-
Thanks, TIG!
SolidSolver is incredibly easy to use. Just go through a couple of steps and ur model is a solid! Although, it won't completely solve shapes that have edge with 3+ faces, but I understand it's complex. -
TIG; Just curious....
Any reason SS does not work on components, but only on groups?
Since almost all my drawings are made of solid comps, I only use groups to keep stuff together, or for layering options. When SS says "Select a group..." when I select a comp, I have to edit the comp, select all, and group it to work, then explode the group. A bit of a pain.
Otherwise it works reasonably well on SU 8-Free. I generally like to cleanup my solids manually, after SI reports problems. SS tends to clobber very complex solids, which I generated in a quick but sloppy manner, so the fixing after SS may take longer than doing the fix manually in the first place.
Mind you, SS is far more adept at fixing some real toughies, such as co-linear lines, and co-resident faces. I had one "celebrated" comp that had 7 (count-em) 7 co-resident faces in 3 places. I went nuts fixing one of the faces, then sent SS after the others. I only had to redraw 2 lines to fix that after.
-
It could readily deal with component instances too - it's just easy to write for a group...
-
Here's v1.5 http://sketchucation.com/forums/viewtopic.php?p=359994#p359994
it now works on groups AND component instances; makes the result unique, if needs be.
Advertisement