Sorry to be such a newbie, but I am very interested in learning some computer programming. I’ve recently graduated with a degree in civil engineering and would greatly like to create my own programs to calculate forces and output things in a 3d model and be able to place and retrieve drawings in 3d for analysis of structures.
I’m not sure exactly what programs/compilers i need or what language to start to learn.
I would like to be able to have a 3d space to enter in the nodes of a structure and retrieve the node points. Then compute everything using matrixs as well as design equations from lists or charts. Also, output it into a 3d model to rotate in space and zoom. As well as output the file into an autocad format. All of which would utilize combo list boxes and controls and such.
This might not all be coming out right (especially at 4 in the morning), but it would be a little more complex …eventually.
So far from looking around…i think need to learn some opengl for the 3d part, c++ for computing the information, but not sure if thats all. Just need to create an Interface with the control buttons/lists/charts that links with the computing program.
If anyone could help direct me in the ridirection you would be the greatest!
You need an GUI API (for the combo boxes and the gl window etc.), I would recommend qt (which is free for linux) www.trolltech.com, which is quite easy to learn and use. What you are planning to do sounds like a rather large piece of work, but OpenGL/C++ surely is not the worst choice.
Another choice would be to use Java3D, this is a higher level API on top of OpenGL or Direct3D that comes complete with a scene graph, model loading and so on, not sure if that’s what you want but it might be worth a look.
www.j3d.org and java.sun.com would be a good start in that case.
I am a civil engineer too. But now I am working as a software developer, working on the exact same things you mentioned, and some more complex stuff
First of all, if you are planning to write these programs for your job as an engineer, I will suggest you to take easier paths. Because learning OpenGL (together with a new programming language), will take time. This is how I started, by the way.
If you are in Windows, and have AutoCAD, I will suggest you to look at AutoCAD development options. By this way you will concentrate on your civil engineering algorithms(these are complex enough) not other stuff. You have to learn a programming language anyway.
For AutoCAD you have 3 options.
- ObjectARX. I will suggest this option, you have to learn C++ and you will need Microsoft Visual Studio, for more info, http://usa.autodesk.com/adsk/servlet/index?id=773204&siteID=123112
- Visual Lisp (never used this one)
- Visual Basic for applications(might be used but not for applications that needs high numerical stability and performance eg. Matrix operations.)
Thank you for the quick replies! There would be some more additions to the idea, but I’m sure you know exactly what i’m refering to on the structural part- using the stiffness matrices.
I’ll def look into that section and I will look into the others as well…to see any possibilities there. It will be hard I’m sure, but I’m pretty determined.
how long have you been a civil?
I graduated at 98. I am a (professional) software developer since 2001.
Qt is not free for commercial non GPL development, even on Linux.
[This message has been edited by dorbie (edited 12-22-2003).]