To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 4040
4039  |  4041
Subject: 
Re: stl2dat conversion tool beta2
Newsgroups: 
lugnet.cad.dev
Date: 
Mon, 14 Feb 2000 17:03:12 GMT
Viewed: 
1310 times
  
On Fri, 11 Feb 2000 20:29:56 GMT, Rui Martins <Rui.Martins@link.pt>
wrote:


Maybe You should allow the use of the abs() function to be optional,
because if the face normal are correctly calculated (the faces are well
defined, CCW or CW) you can check the correct value, and NOT the absolute
value.
The normal is explicitely given in STL files.

I think there are some situations in which this would create unwanted
optional lines.

Example suppose a 'kind of cylinder' with this form
---------
\      /
\    /
  |  |
/    \
/      \
--------

You should correctly generate vertical (concentric with the cylinder
center) optional lines, but you should NOT generate horizontal optional
lines, which I think your current algo does.

The vertical eventually will define the silhuete, but the horizontals
never will.

Yes. I have planed to optimize this point. I think it is the same case
for internal cylinders. The angle must be convex and not concav.
However, it is not done yet.

How do you measure the angle ?

I use case 1:
_  _  _______face
   a /
    /
   /face
  /
In fact, I measure the angle between the normal of the face, but the
result is the same.

I have to improve it so it check also partial adjacent facets.

The bug was because I have a step where I replace two triangles by a
thrid. This step caused vertex suppressions. I moved this step after
the edges have been created.
  1
/|\
2-3-4

to

  1
/ \
2---4

If an Edge belongs to a sigle triangle then it's a
NORMAL LINE
This case can never happend in STL files. The solid must be entirely
closed. An edge has always two adjacent facets.
Else /* Connects two triangles */
calc angle between the two triangles
if (angle near 0 ) /* they are coplanar */
   NO LINE
elsif (angle optional test)
   OPTIONAL LINE
else
   NORMAL LINE

About new Ideias
You could make also an option to recreat the quads which once whore
quads, you would have to check for this, and  if possible, create quads.

I do no understand what you mean with "which once whore quads". In STL
files they are no quads, only triangles. There is a step in the
algorithm where two adjacent triangles are merged to one quad.

In future version, I will extend this merge to quad more than two
triangles.
I will also made option to swith on/off all features of the program,
plus some extra functions usefull for debug.

Marc Klein
A Mindstorms fan.



Message has 1 Reply:
  Re: stl2dat conversion tool beta2
 
(...) This should be one of your top priorities, since unwanted data only slows down the rendering programs. (...) Iep, but the valid values for the angle differ. (...) See my previous reply about merges ! (...) I don't think so ! Where have you (...) (25 years ago, 14-Feb-00, to lugnet.cad.dev)

Message is in Reply To:
  Re: stl2dat conversion tool beta2
 
(...) Both those constant should be configurable, eventually within predefined ranges. Maybe You should allow the use of the abs() function to be optional, because if the face normal are correctly calculated (the faces are well defined, CCW or CW) (...) (25 years ago, 11-Feb-00, to lugnet.cad.dev)

14 Messages in This Thread:


Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR