working on a 2D CAD / 3D solid modeller

working on a 2D CAD / 3D solid modeller

Post by Davide C » Wed, 05 May 2004 23:20:36


Hi,
im starting to develope a small but complete CAD engine, i have read a lot
of papers on the web and i find that the best way i can use to describe and
organize my entity DB is a boundary rapresentation of them.

i have a little problem, i would like to have some in depth information to
such kind of organization..
i can understand tha i have vertex->edge->face->body->parts gerarchy in 3D..
but i have some kind of similar gerarchy in the 2D domain?

for example "solidworks" base the 3D solid creation on 2D sketch that lay on
a plane..
inside a sketch i can have some gerarchy? how can i organize my data?

what i would like to have is a solid and fast structure that allow me to
perform boolean operation among solid, sweeping and extrusion of 2D path...


thanks to all

Davide
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Fernando C » Fri, 07 May 2004 02:10:56


For 2D (planar figures), Google for "Halfedge Data Structure"

HTH

Fernando Cacciola
SciSoft

 
 
 

working on a 2D CAD / 3D solid modeller

Post by Davide » Fri, 07 May 2004 03:52:07


--"Fernando Cacciola" < XXXX@XXXXX.COM > ha scritto nel

i have read something about that Data structure... but i would like to know
if something exist that works on 2D and 3D figures.. what do u think about
quad-edge data structures?

what HTH means

thanx
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Philippe G » Tue, 11 May 2004 14:47:36

Davide C." < XXXX@XXXXX.COM > a rit dans le message de

and

Good luck. It's a hard work... Check www.opencascade.org before...

3D..

when you extrude a sketch, 2 structures emerge:
1) closed contours of sketch segments generate loops of edges in your solid
2) area delimited by an outer contour and some inner contours define a
"region" which is the section of your extrusion and generate end faces

I've done some work on cad APIs (www.cadoo.com ) and always wondered why
cads make a separate structure for flat entities.
Why not consider 3d vertices/edges constrained to a plane directly (with a
transform to manipulate them in handy 2D coordinates)
or even not constrained (3d sketches) ?

This is the hardest part with B-rep. Think a lot about all the intersection
code you'll need. Check www.magic-software.com to avoid reinvening the
wheel...
Voxels/Octrees are much simpler and faster if you only want to graphically
visualize bodies generated by boolean ops.
I'm working on this now, contact me if you're interested.

Another really hard part in a CAD is constraint solving. I think an open
source alternative to www.d-cubed.co.uk/ products would be more interesting
than one more 3D kernel.
--
Philippe Guglielmetti - www.dynabits.com
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Davide » Wed, 12 May 2004 09:10:27

"Philippe Guglielmetti" < XXXX@XXXXX.COM > ha scritto nel messaggio


i m really interested in voxel tecnology .. one of the thinik i hve to cook
is a mill/lathe simulator, ie i need to show a tool that crve a stock...
(like ncverify or predator simulator) can you point me to some goodpaper on
voxel fixed view renderig?

thanx
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Tim Sharro » Wed, 12 May 2004 18:45:04


good luck - it is not an easy problem. At one stage we attempted this with our
own facetted boundary modeller. A particular issue we found is that each new
position of the cutting tool is close to the previous one, and so a high
proportions of the intersections involved nearly-parallel facets, and numerical
accuracy problems. Voxels should avoid some of this.

Tim

--
Tim Sharrock ( XXXX@XXXXX.COM )
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Davide C » Wed, 12 May 2004 23:50:51


"Tim Sharrock" < XXXX@XXXXX.COM > ha scritto nel messaggio

eh eh i know.. it s a lot of time i'm analasying that issue
new
numerical
i have found thae same problems.. and i would liekt to use voxels because i
think to solve the simulation with a graphic trick, no real solid
computation

do you know where i can find some good stuff on voxel engine?

thanx for your help :)

Dav
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Tim Sharro » Thu, 13 May 2004 02:05:02


[on solid modeling for cutter simulation]


I don't know, I am afraid. We eventually bought in a solution from
what is now http://www.yqcomputer.com/
(This was several years ago). I was very impressed with what they
could do.

My company no longer works in the mechanical engineering field, so
I am out of touch in this area.

Tim

--
Tim Sharrock ( XXXX@XXXXX.COM )
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Davide C » Thu, 13 May 2004 16:31:00


"Tim Sharrock" < XXXX@XXXXX.COM > ha scritto nel messaggio



thanx for the help, actually we buy the same software from machineworks :)
i need to develope my own engone to get in depth customization...

however thanks for your help

Dav
 
 
 

working on a 2D CAD / 3D solid modeller

Post by dyj75 » Fri, 14 May 2004 09:55:48


high


Can you give some detail about MachineWorks? Are they using pure voxels? If
so, the solution can not be precise in that all solids are approximated
using voxel models which can be only finite resolution. I do not think you
can achieve real-time milling using Brep since boolean operations on Brep is
way too expensive for real time applications. I have yet to find a solid
modeling engine that is faster than BspSolid
(www.ncf.ca/~ds755/prod02.htm). However, even that is not fast enough for
real-time milling. Boolean operations on voxel models is fast and easy using
linear octrees (I have developed a lib to do it) but again, it is only an
approximation.

Dennis
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Tim Sharro » Fri, 14 May 2004 19:59:40


not really, I am afraid, I don't knew if I ever knew what approach(es)
they used then, and certainly not what they do know.


I am not ever certain whether they use Voxels at all. My statements
may have been misleading (sorry).

tim

--
Tim Sharrock ( XXXX@XXXXX.COM )
 
 
 

working on a 2D CAD / 3D solid modeller

Post by Philippe G » Sat, 15 May 2004 00:31:29


I bet not. Look at the images on their site closer, you'll see the
polygons...


If you machine a 1m long part, you can't expect much more than about 1/100
mm precision, so a 2^16^3 voxel size might be enough. Right, it is much more
than the voxels space used in games, but feasible with octrees...

applications.

Right. MachineWorks and others generally work in steps corresponding to the
program : they compute the "swept volume" geneated by the tool along a
segment of the path, then substract this volume.


Any pointer to it ? I'm writing one too...
--
Philippe Guglielmetti - www.dynabits.com
 
 
 

working on a 2D CAD / 3D solid modeller

Post by dyj75 » Sun, 16 May 2004 07:20:44


more
the

In terms of algorithms, do a google search on "linear octrees". The one I am
using is from Gargantini. For the lib, I am thinking of comercialization if
there is enough interest.

Dennis