Skip to main content

FermaNext : Open Source structural Analysis (and failed attempt to compile it on OSX)

FermaNext (http://sourceforge.net/projects/ferma) is an Open Source stuctural Analysis software for Windows and Linux.
Ferma is a free educational CAD software for truss units analysis. It is grounded on the construction conception and designed for finite element calculation and optimization of 2D truss structural units.
Struggling with OSX compilation

After re-installing the Qt SDK (Qt 4.7.2 for Mac) recently, I made an attempt to recompile this software from the provided sources, as there was only a Windows and a Linux version prepared. Unfortunately, this is quite complex because of dependencies and non up-to-date packages... I failed. But got reasonably close.

Qt Creator read the Pro-files and created a full project structure. But the dependencies were harder:

  • expat (sources for this XML parser are included) did not compile, as it only contained some hints for Mac OS Classic. I added an "__APPLE__" directive to at least get through with it.
  • Anti-Grain-Geometry (AGG) was also there but also gave some linking problems.
  • this software apparently uses Java plugins (which was a surprise for me for a C++ application). I downloaded Apache Ant and added an environment variable to find it. Launching Qt Creator from the bash-promt helped to pick it up at compilation time.
  • it uses a deprecated and non-documented "QAtomic" class, which has been replaced with QAtomicInt and QAtomicPtr since Qt 4.4. As I didn't have a clue on what was going on (well, it was about shared pointers and reference counting), I had problems replacing the call to QAtomic with similar calls to these new classes.
  • I had to remove a linking instruction "-enable-dynamic" wich is not required on OSX.
Most of the software seemed to compile, but still not all of it. Anyone on OSX made an attempt? Would be nice to have as an additional tool. But I did get a chance to see how a Qt project can be prepared to include different libraries and how a more complex project is set up.

Comments

Popular posts from this blog

Improve usage of BIM during early design phases

When I was collecting ideas for a book chapter on BIM (that seemed to never have emerged after that), I collected 10 ideas, which I believe still reflect good recommendations to improve the usage of BIM during the early design phases. These ideas are related to BIM software, but you can apply them in any flavor, as long as you can model with Building Elements, Spaces and have control over representation. Introduction This article gives an overview of several recommendations and tips, to better apply BIM applications and BIM methodologies, in the context of the early design phases. Many of these tips are applicable in any BIM application and they are based on experience gathered from teaching, researching and using BIM software. Sometimes they could help software developers to improve the workflow of their particular BIM implementation. Tip 1 : Gradually increase the amount of information In the early design phases, the architect makes assumptions and lays out the main design in...

Getting BIM data into Unity (Part 9 - using IfcConvert)

This is part 9 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss the IfcConvert utility from the IfcOpenShell Open Source IFC Library to preprocess an IFC model for integration with Unity. This is (finally?) again a coding post, with some scripts which are shared to build upon. Conversion of IFC into Unity-friendly formats The strategy with this approach is that you preprocess the IFC-file into more manageable formats for Unity integration. Most Web-platforms do some sort of pre-processing anyway, so what you see in your browsers is almost never an IFC-file, but an optimised Mesh-based geometric representation. However, it wouldn’t be BIM-related if we’d limit ourselves to the geometry, so we will parse the model information as well, albeit using another, pre-processed file. IFC to Wavefront OBJ I used a test IFC-model and used the IfcConvert-utility converted it into OBJ en XML formats. The default way to use it is very simple: ...

Getting BIM data into Unity (Part 8 - Strategies to tackle IFC)

This is part 8 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss IFC as a transfer format towards Unity. As with the previous post, this is not a coding post, although hints and examples are provided. Open BIM and IFC Everybody who ever met me or heard me present on a conference or BIM-lecture will not be surprised to hear that I’m a strong believer in the Industry Foundation Classes (IFC), an open standard, with already two versions published as an ISO standard, being IFC2x2 and IFC4 (but surprisingly not IFC2x3 which is widely used). In the ideal world, this would be the format to use to transfer BIM data into another environment, such as Unity. So what are our options? Looking in the Unity Asset Store Assimp is a library which supports multiple formats, including IFC. https://assetstore.unity.com/packages/tools/modeling/trilib-unity-model-loader-package-91777   I did a few attempts, but alas without any success. It is po...