Skip to content

FreeCAD/FreeCAD-Component-Library-Addon

 
 

Repository files navigation

Component Library Plugin

Preview

Project Description:

The Component Library Plugin is a PySide6 application designed to enhance FreeCAD's capabilities by providing a user-friendly interface for managing FreeCAD models from various repositories. This plugin integrates with the Component Management System backend API to seamlessly access, download, and insert components into FreeCAD documents.

Features

  1. Browse and preview components available in the online repository.
  2. Download and manage individual components for local use.
  3. Add and manage user-specific models in the local library.
  4. Insert downloaded components directly into FreeCAD documents.(yet to implement)
  5. Upload components to Component Management System for public access.

Setup

  1. Clone the repository: git clone [repository URL]
  2. Navigate to the project directory: cd Component_Library_Plugin
  3. Install dependencies using Poetry: poetry install
  4. Run App: python app.py

Dependencies

  1. python = ">=3.10,<3.12"
  2. PySide6 = "^6.5.1.1"
  3. certifi = "^2023.5.7"
  4. python-dotenv = "^1.0.0"

Development TODOs:

  1. Add downloaded components to document
    1. add to document button
    2. add functionality to insert component to the active FreeCAD document
    3. BUG: only able to add step files. all other files gives error
  2. new window every time we go to the workbench
  3. upload path default to the user_dir
  4. change upload dialog to a widget in the main window
  5. test upload
  6. BUG: resolve remove attribute button error
  7. remove download button from grid view item
  8. UI updates
    1. add user profile section
    2. ui revamp (responsive ui, proper scaling)
  9. Manage configurations
    1. managing configs with freecad parameters
    2. add configurations to the backend

About

Addon for the FreeCAD Component Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%