Wings 3D Development Forum
Short edges - Printable Version

+- Wings 3D Development Forum (https://www.wings3d.com/forum)
+-- Forum: Wings 3D (https://www.wings3d.com/forum/forumdisplay.php?fid=1)
+--- Forum: Gripes & Grumbles (https://www.wings3d.com/forum/forumdisplay.php?fid=4)
+--- Thread: Short edges (/showthread.php?tid=756)

Pages: 1 2 3 4


Short edges - Stem - 06-14-2014

Hello,

Something as been bugging me for a while, so a need to mention.

When I am building large models/scenes, I will work to a scale of 1 unit = 1 meter. A problem arises when I want to add small fillets/insets, in that if I want to cut/slice across small faces that would create short edges, the edges are not created.

For simple example. Create a default cube(2x2x2), select a face and inset by 0.0005 (in the scale used, that would be 0.5 mm). Now select the edge_ring that includes the inset edges, and cut them("C"). The new inset faces have not been cut.
Where it gets more annoying, is if I create a default cube(2x2x2) and scale it up by 1000%, then create an inset of 0.005, again when attempting to cut an edge_ring that includes the inset edges, the inset faces are not cut.(although on a default cube of 2x2x2, the inset of 0.005 can be cut across)


I do not know if that is some intentional limitation or a bug, but it sure bugs me Sad


RE: Short edges - micheus - 06-14-2014

It's something to check in the code - I don't know about it.
Use such small size is not good too in case you would like at some point call [Body]Cleanup command.

Wouldn't you work with a different scale - lets say 10 units=1m and then at the end you just create Bound Box which the "L" length is the grater dimension of you want for your project. Then select all and use Scale to Bound Box->All. It's more complicate to me explain than your run the action. Smile

Just an Idea that I already used.


RE: Short edges - Stem - 06-14-2014

[Body]Cleanup command has a setting for edge length tolerance, why would that be an issue?

Wings 3D gives me the ability to work to 0.0001, even with constraints, why should working with such distances cause issue?

Of course I can work to different scale, and scale model in export settings, but should that really be needed? I like to work to actual scale.

Another point. If I use different sale (x10), so the shortest edge created will be 0.005(as from example mentioned above), that works fine for "cut", but if using "Plane cut"(so I can set position), the distance of 0.005 is too small for Wings, and the edge will not be created.


RE: Short edges - micheus - 06-14-2014

(06-14-2014, 02:16 AM)Stem Wrote: [Body]Cleanup command has a setting for edge length tolerance, why would that be an issue?
Yes, it's not a problem if you remember to use RMB instead of the usual LMB (I did that many times - very bothering) Undecided


RE: Short edges - Stem - 06-14-2014

With "Plane cut", is that somehow calculating the shortest edge (that can be created) based on size of object?

For example.
Created default 2x2x2 cube. Inset a face by 0.005. "Plane cut" across inset face, works OK.

Create default 2x2x2 cube and scale by 1000% (or create cube 20x20x20). Inset a face by 0.005. "Plane cut" across inset face, the short edges (of 0.005) will not be created.


RE: Short edges - micheus - 06-14-2014

I just checked the code (long tracking) and it came from the fact that thin faces are discarded if Sum/Longest =< 1.001
Sum = sun of all face's edges
Longest = the most long edge in the face


The reason I got from a comment in the wings_vertex.erl (try_connect_1/4):
Quote: %% It is crucial that we reject long thin faces, such as
%%
%% A
%% |
%% |
%% C
%% |
%% |
%% B
%%
%% (where the edges are A-C, C-B, and B-A), since the
%% Connect command for vertices will try many combinations
%% of pair of vertices if the user has selected more than two
%% vertices.
If you use a box 1x1x1 and Inset with the same 0.005 you'll be able to cut/connect them.

Plane Cut is a plugin and it's not using the wings3d's core implementation for cut edges.


RE: Short edges - Stem - 06-14-2014

(06-14-2014, 03:15 AM)micheus Wrote: I just checked the code (long tracking) and it came from the fact that thin faces are discarded if Sum/Longest =< 1.001
Sum = sun of all face's edges
Longest = the most long edge in the face

From an end_user point of view, that brings in inconsistency, as different sized models will have a different limit on the smallest edge that can be added.
It looks like whatever scale I use, I am going to be hit with this issue while trying to add small detail/edges.


RE: Short edges - dgud - 06-16-2014

The problem is that to small lengths will eventually cause a crash somewhere since the error will propagate and become larger for each computation.
That is the fact of using float(or in our case doubles) when doing computations.

The simple way to avoid this is to avoid to small numbers which is why it is done the way it is.
The inconsistency is not nice but comes from different developers having fixed it in different ways,
when the bug reports have come. And we have missed it for some functionality, you are welcomed
to send a patch which fixes this consistently all over the code if you want.


RE: Short edges - Stem - 06-17-2014

(06-16-2014, 10:08 AM)dgud Wrote: .................. you are welcomed to send a patch which fixes this consistently all over the code if you want.
lol

I already have one, its called "use a different 3D modeler"


RE: Short edges - micheus - 06-17-2014

Stem, don't you think he could have put that words to me? Rolleyes
It was me who told there are different approach being used in the code.
Also, I had asked him to check this thread, because I still can't see the "whole picture" in the Wings3d code.

Anyway, you have the option to move to other 3d application - no one can prevent you to do that.