O Ftool (Two-dimensional Frame Analysis Tool) foi desenvolvido inicialmente através de um projeto de pesquisa integrado, coordenado pelo professor Marcelo Gattass do Departamento de Informática da PUC-Rio e diretor do Instituto Tecgraf/PUC-Rio (Instituto Tecgraf de Desenvolvimento de Software Técnico Científico) e com apoio do CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico). O idealizador e responsável pelo programa é o professor Luiz Fernando Martha do Departamento de Engenharia Civil da PUC-Rio. Participaram do desenvolvimento inicial do programa os ex-alunos de graduação do Departamento de Engenharia Civil da PUC-Rio Eduardo Thadeu Leite Corseuil, Vinícius Samu de Figueiredo e Adriane Cavalieri Barbosa como bolsistas de iniciação científica no período de março de 1991 a dezembro de 1992. O programa, desenvolvido na plataforma DOS, passou por alguns aprimoramentos até abril de 1995.
Também colaborou para o programa o então aluno de doutorado da PUC-Rio Waldemar Celes Filho (atualmente professor do Departamento de Informática da PUC-Rio), que trabalhou no desenvolvimento da biblioteca de funções HED (Half-Edge Data Struture), para representação interna dos dados, e no desenvolvimento do programa MTOOL, cuja interface gráfica e estrutura de dados foram tomadas como ponto de partida do programa. O módulo de análise numérica do programa recebeu a colaboração do então aluno de doutorado da PUC-Rio Ivan Fábio Menezes (atualmente professor do Departamento de Engenharia Mecânica da PUC-Rio).
Durante o período do final de 1997 ao início de 1998, o Ftool foi reescrito pelo professor Luiz Fernando Martha utilizando o sistema de interface IUP e o sistema gráfico CD, desenvolvidos pelo Tecgraf/PUC-Rio. Esta interface gráfica permite que o programa seja executado tanto no ambiente Windows quanto no ambiente Unix/X-windows. Em fevereiro de 1998 foi lançada a versão 2.00 do Ftool. Desde então, sucessivas versões do Ftool foram lançadas, cada uma com alguns melhoramentos.
Em agosto de 2000, a versão 2.08 foi também liberada na plataforma Linux. Na versão 2.09 de janeiro de 2001, foram incorporados procedimentos específicos para o auxílio ao ensino de análise estrutural, tais como consideração de barras inextensíveis ou infinitamente rígidas, e a aplicação de momentos concentrados em extremidades de barras para modelar cargas de hiperestáticos momentos fletores. Na versão 2.10 de novembro de 2001, foram adicionados o traçado de linhas de influência e a consulta de resultados por passos ao longo das barras. Na versão 2.11 de agosto de 2002, foi melhorada a definição de seções transversais de barras, sendo criados diversos tipos de seções transversais especificadas por parâmetros e duas tabelas de perfis I. Também foram criadas importação de propriedades e atributos de modelos do Ftool de outros arquivos, opção para desenhar diagramas de momentos fletores do lado das fibras tracionadas ou comprimidas da barra, opção para desenho de resultados transversalmente às barras e opção para desenho de valores por passos ao longo da barra, além de outras melhorias.
Na versão 2.12 de fevereiro de 2008, foi criado um menu para edição de cargas móveis (trens-tipo). Dessa forma, criou-se também a definição de posições críticas de cargas móveis e valores limites de esforços internos associados ao traçado de linhas de influência, além da criação do traçado de envoltória de esforços internos resultantes da ação de cargas móveis. Também foram adicionadas novas tabelas de perfis I. Na versão 3.00 de agosto de 2012, a interface gráfica do programa foi atualizada em função da evolução do sistema de interface IUP utilizado pelo Ftool, sendo que na versão Linux a interface gráfica utiliza o pacote GTK. Isso proporciona uma interface gráfica para a versão Linux bem melhor do que a versão anterior. Além de outras melhorias e correções, a principal modificação foi a consideração de barras com deformação por cisalhamento (barras de Timoshenko). Outra melhoria importante foi a eliminação do arquivo auxiliar (extensão ".pos") que fazia a comunicação com o módulo interno de análise (solver) do Ftool. Esse arquivo ainda pode ser criado, mas por opção explícita do usuário. Na versão 3.01, a interface gráfica para transformações foi alterada e adicionou-se a possiblidade de fazer transformações mantendo a topologia da estrutura durante a visualização de esforços estáticos e linhas de influência, com os resultados atualizando dinamicamente. Tabelas de perfis das empresas Vallourec e Mills também foram adicionadas.
O Ftool passou por uma profunda transformação na versão 4.00. Seu desenvolvimento foi transferido para a ALIS Soluções em Engenharia e Sistemas e uma versão avançada, com licença comercial, foi desenvolvida. A versão avançada tem como objetivo atender as necessidades dos projetistas de estruturas. A versão atual é a primeira de uma série de versões avançadas do Ftool que ocorrerão nos próximos anos e que resultam de demandas de inúmeros usuários do Brasil e do exterior. A comercialização da versão avançada visa exclusivamente o desenvolvimento de novas funcionalidades que da maneira individual como vinha sendo feita pelo próprio autor não teriam como serem atendidas. Deve-se ressaltar que a versão básica do Ftool continuará a ser distribuída gratuitamente.
A versão 4.00 do Ftool permite a visualização dos deslocamentos da estrutura com ou sem valores, tanto no sistema global (deslocamentos verticais e horizontais) quanto local (deslocamentos transversais e axiais). Diversas teclas de atalho foram adicionadas para controlar o programa, permitindo uma manipulação mais eficiente do programa por usuários mais avançados. A versão avançada permite a criação de múltiplos casos de carregamento, assim como a criação de combinações ponderadas desses casos e a visualização das envoltórias de resultados dos casos e das combinações. Essa versão também possibilita a criação de seções prismáticas genéricas através da composição de trapézios, facilitando o uso do programa com seções que não se encaixam nas seções paramétricas oferecidas. Finalmente, nessa versão o usuário customizar a inicialização do programa, sendo possível definir o sistema de unidades e formatos numéricos a serem adotados e diversos parâmetros de visualização do modelo, entre outros.