#32 Create a wing using a macro

Modeling (11)

I would like to know if it is possible to create macro in brl-cad.
In particular I would like to create a wing inserting only some data (profile type, sweept angle, wing surface, taper ratio ...) and letting the macro do the work usdingan ars primitive whose point are calculated using the NACA formulas which give the profile point coordinates.
Is it already possible to create such a macro? If not, will such feature be added in the future? If yes, is there any tutorial which explains how to do that?
Thank you,

PS I will use the model to create an stl geometry for a CFD calculus, is there any issue given by the tassellation of the surface I should consider (I suppose that if I use a lot of point in the chord direction, the stl geometry should be preatty accurate, isn't it?)?


  • Sean Morrison

    Sean Morrison - 2009-09-14

    To do what you're suggesting, you can either a) write an mged procedure (in Tcl), or b) create a procedural geometry tool (in C), or c) script mged externally (using any language you desire). The "a" option is effectively the way to create a macro command in mged, but all three options can give exactly the same result. Given the complexity of what you're trying to model, I suspect any one of those three options will be feasible for you so it'll be more what language do you want to use to define your macro procedure.

    The MGED Quick Reference Card has an example of creating a new MGED procedure (option "a") called "get_primitives" that can be easily extended: http://brlcad.org/wiki/Documentation

    There is an example C program (option "b") that shows how to procedurally create geometry: http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/proc-db/wdb_example.c

    The wiki has an example on scripting mged (option "c") with lots of explanation: http://brlcad.org/wiki/SGI_Cube

  • Sean Morrison

    Sean Morrison - 2009-09-14
    • labels: 622319 --> Modeling
    • priority: 5 --> 7
    • assigned_to: nobody --> brlcad
    • status: open --> closed

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks