From XFOIL to SolidWorks, here’s why I needed a better way to design drones—and decided to build it.


As a mechanical engineer and drone developer, I’ve spent years navigating the fragmented ecosystem of tools for aircraft design. My workflow has often involved a mix of SolidWorks for 3D modeling, XFLR5 and XFOIL for aerodynamic analysis, and spreadsheets for sizing and performance estimates. These tools are powerful in their own right, but combining them into a cohesive workflow is a challenge. Each step often involves manual data transfer, approximations, or even redundant redesigns—especially when iterating quickly during conceptual phases.

The limitations became even more apparent as I began developing more sophisticated drones. I found myself frequently switching between software, re-importing airfoil shapes, manually recalculating parameters, and sometimes sacrificing accuracy just to keep things moving. The friction slowed down creativity and innovation—two things that should be at the core of every design process.

This struggle led me to build my own preliminary sizing tool during my undergraduate thesis drone design project, DroneDesign, which automates early-stage aircraft sizing calculations. It was a small but necessary step toward reclaiming control over my design process. But even with that, the need for a more integrated tool remained—especially one that brings together airfoil visualization, modification, and analysis into one unified platform.

That’s where Airfm comes in.

Airfm is my attempt to streamline the chaotic workflow many hobbyist and early-stage drone designers face. It’s a desktop software that aims to bring together airfoil editing, visualization, and analysis using tools like Qt/QML for UI and XFOIL for backend simulation. The goal isn’t just to build another simulation tool—it’s to bridge the gap between fragmented utilities and offer a foundation for smoother iteration, design consistency, and exploration.


Airfm’s Core Features

  • Intuitive GUI for loading, visualizing, and modifying airfoil geometry
  • Interactive parametric editing for shape manipulation.
  • XFOIL integration to enable direct aerodynamic analysis such as lift and drag coefficient plots.
  • Multiple airfoils side-by-side comparison and tracking of performance metrics.
  • Project session management, allowing users to save their workspace—including airfoils, modifications, and simulation results—and restore them later.
  • File export into formats that can be readily used by popular CAD software (Solidworks, Fusion 360, etc.)
  • In future, Airfm will also be built as a plugin for these CAD software, to further ease the drone development process.

Airfm brings together a suite of tools tailored for airfoil-based UAV design. And with a clean architecture built on Qt/QML’s model-view design and powered by Python, Airfm is built for extendability, usability, and efficiency in early-stage aircraft design.

In this series, I’ll be documenting the journey of building Airfm—starting with the motivations like this one, and moving through the technical architecture, challenges, and eventual roadmap. Whether you’re an aircraft design hobbyist, a student in aero/mechanical engineering, or someone trying to build better tools for makers, I hope this series will resonate with you.

Note that Airfm is still in development, and so contributions are much welcome.


What’s Next in This Series?

  1. Post 2 – The Architecture of Airfm
    Qt/QML, Python, Model-View structure, and design philosophy.

  2. Post 3 – Integrating XFOIL: Bridging GUI and Simulation
    Subprocess logic, plotting results, and error handling.

  3. Post 4 – Making Airfoils Editable and Visual
    Parametric editing, geometry transforms, and undo-redo.

  4. Post 5 - Interesting Basic Advanced Python Simple python concepts used in Airfm that can also make you look professional


Thanks for reading! If you’re building something similar or have ideas for how to make Airfm better, feel free to reach out or contribute on GitHub.