Feature list/pt

Este é uma lista extensa mas incompleta das funcionalidades do FreeCAD. Se quiser saber o que está planeado para o futuro veja o Development roadmap(em ingles); para uma vista rápida os Screenshots são uma boa ideia.

Release notes

 * Release 0.11

Aplicação Base



 * O FreeCAD é multiplataforma. Corre e funciona exatamente da mesma maneira nas plataformas Windows, Linux e Mac OSX.


 * O FreeCAD é uma aplicação completamente gráfica. O interface gráfico é baseado na popular arquitetura Qt e o processamento das vistas 3D é baseado na biblioteca Open Inventor, permitindo um processamento eficiente u uma representação da cena (scene graph representation) muito acessível.


 * O FreeCAD também corre como uma ferramenta da linha de comandos, com consumo reduzido de recursos. No modo de linha de comandos, o FreeCAD corre sem o interface gráfico, mas com todas as suas ferramentas geométricas. Pode ser usado, por exemplo, como um servidor para produzir conteúdos para outras aplicações.


 * O FreeCAD pode ser importado como um módulo Python, seja como parte de outras aplicações capazes de correr scripts python ou como uma série de comandos numa consola python. Como no modo de linha de comandos, o interface gráfico não está disponível, mas é possível aceder a todas as ferramentas geométricas.


 * Arquitetura Plugin/Módulo para posterior carregamento de funcionalidades/dados. O FreeCAD encontra-se dividido entre um programa base e módulos, que são carregados apenas quando necessário. Quase todas as ferramentas e tipos de geometria estão incluídos em módulos. Os módulos funcionam como plugins, e podem ser adicionados ou removidos a uma instalação existente do FreeCAD.


 * Arquitetura de scripting incluída. O FreeCAD inclui um intérprete de Python, e um API que abrange praticamente todas as áreas do programa, o interface, a geometria e a representação da geometria na janela 3D. O intérprete pode correr desde programas individuais até scripts complexos; de facto, é possível programar módulos completos em Python.


 * Um instalador MSI modular. Permite instalações flexíveis em sistemas Windows. Pacotes para Ubuntu também são mantidos.

Estrutura dos Documentos FreeCAD



 * Arquitectura Undo/Redo: Todas as operações podem ser desfeitas/feitas, com acesso à sequencia de operações anteriores, de maneira que é possível desfazer várias operações ao mesmo tempo.


 * Gestão de transações: A sequencia de operações desfazer/fazer guarda as transações no documento a não apenas ações individuais, permitindo a cada ferramenta definir exatamente o que deve ser desfeito ou refeito.


 * Objetos do documento associativos paramétricos: Todos os objetos num documento FreeCAD podem ser definidos por parâmetros. Esses parâmetros podem ser modificados em tempo real, e recalculados em qualquer momento. A relação entre objetos também é guardada, assim, modificar um objeto também modifica os objetos dependentes.


 * Formato compósito (baseado em compressão ZIP): os documentos guardados com a extensão .fcstd podem conter muitos tipos diferentes de informação, por exemplo, geometria, scripts ou imagens.

Interface Gráfico

 * Interface Gráfico completamente configurável/programável. O interface baseado em Qt é completamente acessível através do intérprete de Python. Para além de todas as funções fornecidas pelo FreeCAD às workbenches, a arquitetura QT está também acessível, permitindo qualquer operação no GUI, tal como criação, adição, modificação ou remoção de widgets e barras de ferramentas.


 * Conceito de workbenches: No interface do FreeCAD, as ferramentas são agrupadas em workbenches(bancadas). Isto permite mostrar apenas as ferramentas necessárias para realizar uma certa tarefa, mantendo a área de trabalho organizada e funcional, e o programa com um tempo de iniciação curto.


 * Consola Python incluída com realce de sintaxe, autocomplete e explorador de classes: os comandos Python podem ser invocados diretamente no FreeCAD e devolver resultados imediatamente, permitindo aos autores de scripts testar a funcionalidade em tempo real, explorar os conteúdos dos módulos e conhecer o funcionamento do FreeCAD.


 * Interações do utilizador refletidas na consola: Todo o que o utilizador faz no interface executa código Python, que pode ser mostrado na consola e guardado na forma de macros.


 * Gravação e edição de macros completa: Os comandos Python invocados quando o utilizador usa o interface podem ser guardados, alterados se necessário, e guardados para seres reproduzidos depois.


 * Miniaturas (neste momento apenas em Linux): O documento FreeCAD mostra os conteúdos do ficheiro na maioria dos gestores de ficheiros como o Nautilis do Gnome.

Caraterísticas específicas do programa
A funcionalidade do FreeCAD está separada em módulos, cada um lida com tipos de dados e aplicações especiais:

[[Image:Workbench_Mesh.png]] Malhas



 * O Módulo de Malhas lida com malhas 3D. Serve principalmente para a importação, reparação e conversão de malhas geradas por software externo, e a conversão de geometria FreeCAD para malhas. O FreeCAD em si fornece formas geométricas muito mais avançadas do que malhas.


 * Criação de Primitivas (caixa, esfera, cilindro, etc), offset (trivial ou de Jung/Shin/Choi) ou operações booleanas (adição, corte, interseção)


 * Importação dos formatos seguintes: formato STL ASCII ou binário (*.stl, *.ast), formato OBJ (*.obj), suporte NASTRAN limitado (*.nas), malhas Open Inventor (*.iv), e malha nativa do FreeCAD (*.bms)


 * Exportação dos formatos seguintes: formato STL ASCII ou binário (*.stl, *.ast), formato OBJ (*.obj), suporte NASTRAN limitado (*.nas), malhas Open Inventor (*.iv), e malha nativa do FreeCAD (*.bms), malhas VRML (*.wrl) e malhas como módulos Python (*.py)


 * Ferramentas de Teste e reparação de malhas: teste de solidez, teste non-two-manifolds, teste de autointerseção, preenchimento de furos e orientação uniforme.


 * API de scripting Python extensivo.

[[Image:Workbench_Draft.png]] Desenho 2D

 * Criação gráfica de geometria planar simples como linhas, arames, retângulos, arcos ou círculos em qualquer plano no espaço 3D


 * '''Anotações como textos ou dimensões


 * Operações de modificação gráficas como translação, rotação, escala, espelhamento, offset e conversão de forma, em qualquer plano do espaço 3D


 * Importar e Exportar os seguintes formatos: Autodesk's Drawing Exchange Format (*.dxf), Open Cad Format (*.oca, *.gcad) e SVG (*.svg)

[[Image:Workbench_Part.png]] CAD



 * O Part Module lida com tudo à volta da modelação CAD e das estruturas de dados CAD. A funcionalidade CAD está em desenvolvimento (ver o PartDesign_project e Assembly_project no Development_roadmap). O Part Module funciona com geometria Open CASCADE de alto nível.


 * Formas primitivas paramétricas como caixas, esferas, cilindros e toros.


 * Componentes topológicos como vértices, arestas, arames e  planos (através de scripts Python).


 * Modelação com extrusões lineares ou de revolução, secções e chamfros.


 * operações Booleanas como união, diferença e interseção.


 * API de scripting Python extensivo.


 * Importação e Exportação dos seguintes formatos: peças e assemblies STEP (*.stp,*.step), modelos IGES (*.igs, *.iges) e BRep (*.brp), o formato nativo da biblioteca Open CASCADE.

Raytracing

 * O módulo de Raytracing permite exportar a geometria do FreeCAD para renderers externos para a geração de imagens de alta qualidade. Neste momento, o único renderizador suportado é o POV-Ray. Neste momento o módulo permite a criação de uma pagina de render, e a adição de geometria a essa folha para exportação para um ficheiro POV-Ray.

Desenho

 * O Módulo de Desenho permite exportar vistas projetadas da geometria 3D para um documento SVG 2D. Permite a criação de uma folha 2D com um padrão SVG existente, e a inserção de vistas projetadas nessa folha. Então a folha pode ser guardade com um ficheiro SVG.

CAM

 * O Múdulo CAM é dedicado à maquinação mecânica tal como a fresagem. Está na fase inicial e neste momento é dedicado ao Incremental Sheet Forming. Apesar de existirem mecanismos de planeamento do trajeto da ferramenta, neste momento não estão acessíveis ao utilizador final.