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
