[Plugin] Super Drape
-
Just a bit of feedback.
I draped a simple sphere onto a flat surface at different rotations and got some strange results. I scaled up by 10 to see if it was just a small face issue and still odd.
I'm not sure that this is something anyone would do with this plugin, but thought I should show you anyway.It's strange how sometimes the drape goes all the way through to the bottom surface and other times not, and on the large version it blew out the top surface.
-
Thanks Box... I'm looking at a few bug fixes - which come more from Sketchup's limitations with intersect than my code itself
Watch this space... -
Here's v1.5 http://forums.sketchucation.com/viewtopic.php?p=358314#p358314
It includes some adjustments to minimize fails on texturing or intersecting faces.
It still might occasionally make odd draped faces - this is a shortcoming of Sketchup's intersect_with tolerances that I haven't yet found a tweak to fix it...
A little manually repair after super-draping will usually fix such glitches... -
hi tig.
thank you very much for this update.In some models (horizontal faces) are generated errors
And in other sketchup closes.I'm doing something wrong?
is a mistake and can be corrected?see model
Thanks for your time
-
Jorge
It's a weird bug - but you can minimize its affect by not using rotated groups, so rotate then explode and regroup before draping... so the axes then are matching.
The right-hand one returns an error because one group IS below the max. bounds of the other - look at their bounding boxes when they are selected...
The middle set is an oddity because = if you slide the text-group a few mm so it doesn't drape exactly centrally it will then drape OK with no missing faces and a proper intersection...
I'm reviewing issues and will be back with some ideas asap...
-
mmmm....version 1.5 is not working properly. When I click the second group (the one to drape on) I hear a "bell"(windows error sound or something), and it doesn't do anything....
anyone that problem?
-
@pep75 said:
mmmm....version 1.5 is not working properly. When I click the second group (the one to drape on) I hear a "bell"(windows error sound or something), and it doesn't do anything....
anyone that problem?
The 'ding' is added to tell us the processing is finished.
If you run it with the Ruby Console open do you get any error messages ?
Can you post the problem SKP so we can try it... -
What a quick reply! I installed 1.4 and it works....okay now i'm going to install 1.5 back again!
-
Okay now it works....but...sometimes is doesn't....can that be true? I mean I sometime mis a line on the draped surface so I don't get an intersected shape...
-
Is it a scale issue - very small or very large objects ?
There are occasional glitches - just as with the native Drape tool - Sketchup is prone to glitchy imperfect intersection results.
Indeed, sometimes when I'm testing I can get a fail followed by uninterrupted successes! I have optimized the code as best I can to minimize the number of fails... If it fails then try repeating it immediately and it'll probably work!
Post the SKP if you can so I can test it too... -
@tig said:
There are occasional glitches - just as with the native Drape tool - Sketchup is prone to glitchy imperfect intersection results.
I often experience that the native Drape fails on edges that are not too small. edges 1m or larger even fails some times... no idea why....
-
The simplistic way my tool works is that it makes a temp-group and projects all of the vertices of the draped edges down through the 2nd form and it also makes faces.
It then intersects the temp-group with the 2nd group to 'cut' all of the faces passing through the surfaces.
It then erases all 'verticals' that are not connected to the original vertices so only the top part of the temp-group is left, it then erases all 'non-vertical' faceless edges - except those left hanging if the two forms don't fully overlap [any faceless edges that have a vertex that has a face are saved and the lone vertex is re-healed with a new face/edge].
This mean that the temp-group is now perfectly molded to the 2nd group [unless there's a fail]
Now the temp-group is lowered slightly to ensure that the 2nd group's surfaces intersect with it and then there's an intersection.
The material adding part is a different issue...
One of the reasons for a fail is that the intersected edges returned are occasionally [randomly] incomplete - this is usually a missing segment of edge that clearly should result if you intersect the temp-group and 2nd group's entities - doing it manually to an aborted set of groups will not give an intersecting line either - although the face in one clearly passes through one in the other entities set. The other issue is that the intersected edges within the modified 2nd group do not always intersect with faces [in code, unlike when you do it manually OR explode one object onto another] - however. this is [usually] rectified by intersecting the 2nd group's entities with themselves a few times! BUT again occasionally you get a loop of edges that is coplanar with a face but refuses to intersect with it - I have found that such edges have their vertices the tiniest fraction off the face so these edges won't intersect with the face, BUT attempts to uses transform_by_vectors on these vertices by the tiny distance involved so they are truly coplanar and will then intersect fails too... -
Thx Tig
Now I can make some decaling jobs ....
Great plugin.. will post a pic -
This keeps bugsplatting me
No special in Ruby console.... just down it goes
Must be doing something wrong
-
super tool thx
-
Marleus
It's one of those problems compounding...
First the letters' faces are upside down and only have back-materials - so reversing them gives a better chance of it working and getting a good material exchange [I used my FixReverseFaceMaterials tool to reverse them and flip the materials].
Next there are lots of tiny edges in the groups - I scaled everything up x10.
The letters are also at a strange angle in 3d - I flattened them.
The letters aren't placed over the sofa in plan - Top view + perspective OFF and relocated it so wholly over the sofa's seat surface!
I then did the SuperDrape and it crashed
I then did a standard Drape... and it crashed - so no worse off there then !
I then edited the letters-group and did a ExtrudeEdgesByVectorToObject, keeping the vector constrained to vertical [blue] and passing through the seat... it made an extrusion up to the seat's surface [which is much like SuperDrape does...]; I then erased the vertical edges/faces to leave the original letters and the outlines draped over the seat; selected all of the outlines and Edit>Cut; close the group edit and edit the sofa group, Edit>PasteInPlace to add the outlines - they don't all 'cut' into the surface so Select All and Intersect with Selection to force it - even then some things like the circle in the O-centers doesn't cut properly - to fix that select an edge and use a AddFaceToEdge tool...
Move the letters-group vertically down so it's nearer the sofa surface and there is less likelihood of errors in reading the materials.
Then use my earlier 'Drape Materials' tool on the selected faces of the letter-outlines now on the sofa.
They should all transfer - a couple of small triangles etc didn't - with Hidden Geometry on, sample the sofa material and paint it onto those to fix - see image...
There are just some combinations of things that fail to drape and you managed to have all of them in one test -
Thx Tig...
I think I got it now LOLI'll try on an other model ....
-
Nice......
Thanks Tig
-
what exactly is happening?
it worked only if I first used the standart drape tool from Sketchup, and then used the Super Drape over it.
-
Try it again with Hidden Geometry ON - or post the example SKP...
Advertisement