Code Monkey home page Code Monkey logo

fembygen's Introduction

FEMbyGEN

A FreeCAD module that uses Generative Design to calculate and show structural analysis results

Background

This project was devoloped based on Rahul Master's thesis and Ogeday Yavuz Graduation Thesis.
František Löffelmann's calculix/beso topology optimization script was added as a feature recently.
The following process image is taken from Master Thesis Poster of Rahul Jhuree:

Rahul Jhuree's generative design process

For more information about Rahul's thesis please view the dissertation.

Requirements

  • scipy => 1.10.1
  • FreeCAD => 0.20.0

Installation

Recommended installation of the workbench is via the FreeCAD Addon Manager.
A restart of FreeCAD is required after installation.

Usage

A starter guide exist in forum post

  1. Create a FEM simulation in FreeCAD by using the classical procedure. This file will be your master simulation.
  2. Open FEMbyGEN workbench. Press first toolbar icon for initialization. It will create a spreadsheet which name is Parameters. Open it and write your parameters for different generations.
  3. Click the second toolbar icon to automatically alias parameter names and dimensions all at once.
  4. Assign your aliased dimensions to sketch constraints or any other property fields using the expressions editor.
  5. Click the Generate toolbar icon and then the Generate button to create new generations. Check the generation files by using the provided GUI or simply by clicking its table cell.
  6. Use FEA Generations toolbar icon to generate FEM simulations of all created generations.
  7. Check all results by clicking Show Results toolbar icon. Note: open the generated files by clicking table rows of results GUI. In addition, all results will append to the master file, check tree view for that.

Notes

The addon can also suggest optimum geometry for boundary conditions.

  1. By clicking Create Geo Generations toolbar icon, the ability to choose boundaries such as supports, pressures, forces and the function will create an optimum body.
  2. By clicking the Topology toolbar icon a topology optimization analysis will be executed.

Feedback

Bug reports are greatly appreciated. Please open a ticket in this repository. Please remember to always add your full About info when opening a ticket (and make sure you're using the latest version of the addon). Feature requests can also be requested in this repository. Please consider logging into the FreeCAD forum thread dedicated to the FEMbyGEN addon to discuss your ideas with the devs.

License

LGPLv2.1 (LICENSE)

fembygen's People

Contributors

luzpaz avatar mightybucket avatar ogedayy avatar s-quirin avatar serince avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fembygen's Issues

License file missing in repo

LGPLv2 (as mentioned in the package.xml file) is missing in the repository

Please also add a section in the README called 'License' and link to the file under it. TIA!

Add Prerequisite section to README

What prereqs are needed to run this ? What FreeCAD versions has this been tested on ?

Sample section in README:

Prerequisites

  • FreeCAD >= x.y.z
  • scipy >= x.y.z

FEMvtGEN has been tested on etc...etc...

file missing during topology optimization

Windows 11 Pro
FreeCAD 0.21.2
Scipy 1.4.? (anaconda)

(works on Ubuntu 22.04, FreeCAD 0.21.2)

18:52:17  Traceback (most recent call last):
18:52:17    File "C:\Users\...\AppData\Roaming\FreeCAD\Mod\FEMbyGEN\.\fembygen\topology\beso_lib.py", line 654, in import_FI_int_pt
18:52:17      f = open(file_nameW + ".dat", "r")
18:52:17  FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/../TopologyCase_1\\topology_iterations\\file000.dat'
18:52:17  
During handling of the above exception, another exception occurred:

Note that run optimization creates the other workfiles correctly
image

Can't change width of bending beam

Hi,

To familiarize myself with this addon I simply tried to change the width of a bending beam, but when I'm at the point 'Generate' -> 'Generate' FreeCAD crashes. If I change the length instead of the width, everything goes fine. I have attached the example.

bending beam.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.