image 2023
image

Work Product Submission

UI tool for fetching online content.

Brief Summary of Project

The project aimed to design a FreeCAD components library management tool that can fetches the components from different online repositories, without the need to download a single bulky Library of components hosted on github. The library management tool to be developed aimed to provide following features:-
  • Browse the existing dataset of all the components
  • Management of different file formats for same component
  • Download individual component files
  • Manage user components
  • Structured online repository storage system
  • Local storage structure

What Work Was Done

Two Repositories were made namely Component Management System and Component Library Addon  were created. These Projects together makes a FreeCAD Addon which facilitates management of public component(3D-models) by using a distributed github-repositories system. This is done with a database which maintains the location of different components and exposis these information through REST-API.
image image

Component Management System

The Component Management System is a utility application designed to manage FreeCAD models from different online repositories. It provides features to seamlessly browse, download, and organize individual models while avoiding the need to download the entire library. The system is built using Flask, SQLite, and SQLAlchemy, and it serves as the backend API for the Component Library Addon . Features :-
  • Browsable online repository of FreeCAD components.
  • Individual component download with preview and metadata.
  • Integration with the Component Library Plugin frontend.
  • Structured online repository storage system.
  • RESTful API endpoints for component management.
image

Component Library Addon

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 :-
  • Browse and preview components available in the online repository.
  • Download and manage individual components for local use.
  • Add and manage user-specific models in the local library.
  • Insert downloaded components directly into FreeCAD documents.(yet to implement)
  • Upload components to Component Management System for public access.
image image

What Code Got Merged

Whole code got forked from my public Component Management System repository and my public Component Library Addon repository  to FreeCAD.

Links to the merged work

What Code Did Not Got Merged

There is nothing that did not got merged and the whole repository got forked.

What's Next

Conclusion and Acknowledgement

In summary, the project "UI Tool for Fetching Online Content" has successfully addressed the need for a user-friendly solution to manage FreeCAD components from various online sources. The tool's development enhances component accessibility, browsing, and utilization, eliminating the requirement for extensive downloads. By implementing key features like component management, browsing, and user contribution, the project significantly improves the FreeCAD experience.

The tool's potential for future expansion, accommodating a growing FreeCAD community, is clear. The successful completion of this project signifies a notable advancement for the FreeCAD ecosystem.

I extend my gratitude to my mentors for their guidance and support and the FreeCAD community for their contributions. This project stands as a collaborative effort, and while this chapter concludes, the journey of innovation and improvement persists.