On Aug 5, 2014, at 6:56 AM, Djimeli Konrad wrote:

> Hello
> 
>             My name is Djimeli Konrad and i am interested in contributing to 
> the open source through brlcad. I am primarily a c/c++ programmer from Africa 
> and would like to work on any of the brlcad geometry converters. Presently i 
> am doing some research on how import and export work but i can not really 
> decide on weather to improve any of the existing converter or create a new 
> one among those on the ideas page, since i do not fully understand the 
> concept and also my limitation. I would be glad to get any pointer that would 
> help facilitate my understanding of this aspect and i am willing to dedicate 
> the rest of my summer holiday to learn more about brlcad and especially file 
> import and export as it seem to be something very interesting to work on.

Hi Konrad and welcome!  Glad to hear about your interests.  Working on 
converters is actually a high priority for us right now because we're creating 
a new geometry conversion library that can be embedded into applications 
external to BRL-CAD.  This requires improving our existing converters and 
implementing new ones.

To get started, I would recommend first extending / improving one of our 
existing converters.  It's harder to read code than to write code, but that 
will give a much better understanding of how our converters work.  It will also 
better prepare you for writing a new converter, should you attempt that as well.

A simple task to begin with would be to make any existing converter convert all 
top-level objects by default.  Currently, you specify which file (e.g., 
myfile.g) and which object(s) to convert (e.g., object1 and object2), so when 
you run something like g-stl, the usage looks like this:

Usage: g-stl [-bvi8] [-xX lvl] [-P num_cpus] [-a abs_tess_tol] [-r 
rel_tess_tol] [-n norm_tess_tol] [-D dist_calc_tol] [-o output_file_name.stl | 
-m directory_name] brlcad_db.g object(s)

And a typical use would be:

g-stl -o myfile.stl myfile.g object1 object2

You could make it work so that you don't have to specify any objects:

g-stl -o myfile.stl myfile.g

This would convert all top-level object(s).  To make that work, you'll probably 
want to use the db_ls() function (e.g., something like db_ls(dbip, DB_LS_TOPS, 
&paths); will get a list of objects).  The converters are in the src/conv 
directory.  You can see db_ls in use in the src/libged directory.

Cheers!
Sean


------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to