Hi all,

I'm finally back to brl-cad (was very busy with moving house, work,
playing in 2 table-tennis teams + training the kids 2 times a week).

I still have a patch to submit with the pipe length function to be shown
in the analyze result for pipe objects, coming soon.

I have used brl-cad in the meantime to build some models (via tcl
scripts) - and have a few notes on the usability side.

Most of the times I wanted to do the following operations:

 * create an object with some of the structural variables as parameter
(e.g. a box with the length of the edges set from previous
calculations);

 * pick one reference point of the object and move it to a calculated
point in space (e.g. take the front-left-lower corner of the box and
move it to point (x,y,z) previously calculated);

 * rotate the object around one or more axes, where the axes could be
previously calculated or based on reference points on the object;

The problem I encountered is that brl-cad has most of it's object input
methods taking the parameters resulting _after_ applying all those
calculations to an object, so I really need to know inside out the
workings of the primitive object's parameters to be able to calculate
the final place in space.

For example I can't create a box just by giving 3 dimensions - that's
all a box really needs - but I also need to give a positioning in space
to be able to create one.

Then once the box is created, there's no clean way to ask for it's front
face, or front-upper-left corner, or whatever else on it... of course
you can ask for point nr. 1 or 5 on it, but there's no easy way
currently to visualize which point that really is !

So I was thinking of creating a higher level model where the objects are
first created without any positioning parameters, and the position is
calculated later, based on constraints enforced on/using the reference
points of the object. Those reference points would be clearly defined in
the object interface, and could be visually represented/selected when
the object is inspected.

Once the object has it's position/orientation resolved, it can generate
the corresponding brl-cad object containing both structural and
positioning parameters.

While all that can be done in TCL, it is really a PITA.

I also had sometimes a few subcomponents of the model as variants, and
an object oriented language would have helped me there really a lot by
just implementing the variants as sub-classes.

So I started to look for an object oriented language which can interface
well with brl-cad, and before I reinvent the wheel and do some java or
python bindings, in whatever form, I wanted to ask on the list if
there's any effort already done for interfacing java or python with
brl-cad ?

And I don't mean reimplementing any part of brl-cad, but really just
load brl-cad .g DB, load/write objects, run ray-trace, etc. - all using
the brl-cad existing libraries !

I had a short look at the jbrlcad project in the svn repository, but I
have the impression it is a re-implementation of the brl-cad libraries
in java, and that's not what I'm looking for. Please correct me if I'm
wrong !

I also found this one:

https://pypi.python.org/pypi/brlcad/0.0.1

It might be what I'm looking for but I'm not sure as it has near 0
documentation, does anybody on this list have some experience with it ?

I would probably settle for any other OO language with decent syntax
(where I can for example document my parameters directly next to them,
which seems to be impossible in TCL), but of course prefer java or
python because of previous experience with them. Python might be the
better choice because it is a scripting language and thus better suited
for quickly testing ideas.

I'm not that interested in GUI interfaces, I mostly do my work in a
program - the only GUI features I use in mged are to inspect an object
by turning it around, zooming and raytracing it. One additional feature
I could use is to select reference points on it and get the _code_ I
would need to use in a program to get the same.

If any of this is possible or there's some work being done in that
direction, I would be interested in pointers to it !

Cheers,
Csaba




------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to