Software for Pre-CAD systems design


Even if "software is eating the world", nuts, bolts, and hardware are still pretty crunchy. Mechanical engineers use a lot of software, but it is precisely because we focus on the real world that we're constantly in need of new software, and particularly new software architectures that allow us to better express our ideas of how our systems should work and interact with the world.

Mechanomy develops software libraries that aide modeling of mechanical systems, focusing on the essential and difficult period before CAD design, prototyping, and FEA. This page gives an overview of our released work. We're always looking for new ideas, let us know if you would like to partner or see our services.

We also make targeted prototypes and exemplary systems to support model validation, establishing a common frame-of-reference for our simulation libraries. See our projects for more detail.


Released software and hardware, see the individual product pages for details and usage:

  • BeltTransmission
    Calculates pulley layout and belt size for planar belt transmissions using flat and timing belts. The system geometry is used to estimate the occurrence of belt slip or breakage.

  • Geometry2D
    An MIT-licensed Julia library containing basic structures for geometric entities. This is heavily used by our BeltTransmission library.

  • Mechanics
    An MIT-licensed Julia library for calculating beam loadings, given geometry and material information.

  • Materials
    An MIT-licensed Julia library containing basic structures for modeling engineering materials.


Mechanomy works in Julia, a 10 year old language inspired by Python and Matlab. Its clear syntax strikes a great balance between expressivity and efficiency, and this is paired with multiple dispatch for excellent performance. Enthusiasm aside, our libraries and analyses generally tolerate translation into other languages, see our Services for more detail.

Mechanomy is in favor of open engineering and believes that engineers should have full access to their tools, be they hardware or software. Some of our libraries are MIT-licensed and some are not, we would appreciate your feedback on these choices. The MIT license is excellent for users, enabling them to run, modify, and use in any manner code released under that license. But as library developers, it is challenging to learn what our users need and want in a library, making it harder for us to design new tools and prioritize our efforts. And so, our libraries are offered under different terms, according to the needs of the development; please pay attention to each library's licensing terms and contact us with any questions or suggestions.


  • Model
    A web-based Modelica editor and simulator, to introduce engineers to the power of systems modeling.