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 / 4043
4042  |  4044
Subject: 
Re: stl2dat conversion tool beta2
Newsgroups: 
lugnet.cad.dev
Date: 
Mon, 14 Feb 2000 20:06:37 GMT
Reply-To: 
rui.martins@%Spamcake%link.pt
Viewed: 
1330 times
  
On Mon, 14 Feb 2000, Marc Klein wrote:

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.

This should be one of your top priorities, since unwanted data only slows
down the rendering programs.

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.

Iep, but the valid values for the angle differ.

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

See my previous reply about merges !

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.

I don't think so !
Where have you read that a .STL file must have a closed solid ?

This would make no sense either.
Also in my CAD program, I can define open surfaces, and I can then save
them to .STL files.

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.

That was what I meant, because in the application where you modeled the
part, possibly there were quads, which once translated into tris generate
two coplanar tris, when saving as an .STL file.

In future version, I will extend this merge to quad more than two
triangles.

Always remember what I have said in the previous reply.

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.

See ya

Rui Martins



Message has 1 Reply:
  Re: stl2dat conversion tool beta2
 
On Mon, 14 Feb 2000 20:06:37 GMT, Rui Martins <Rui.Martins@link.pt> wrote: [SNIP] (...) What do you mean ? Isn't a = b ? \ b| \ | _ _ _______face a / / /face / (...) The merging is done only for strict coplanar and adjacent facets, and the removed (...) (25 years ago, 15-Feb-00, to lugnet.cad.dev)

Message is in Reply To:
  Re: stl2dat conversion tool beta2
 
(...) The normal is explicitely given in STL files. (...) 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. (...) I use case 1: _ _ (...) (25 years ago, 14-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