Back to Programs

Media

BRL-CAD

3D CAD & other computer-aided tech (CAx)

cc++graphicsopenclopenglpythonscripting

Participation history

11 GSoC years

2026

8 projects

Official year page

Improving CI and Benchmarking for Manifold

This project improves Manifold’s CI and benchmarking by adding missing determinism, sanitizer, and performance regression checks. I will implement a...

Empowering OpenSCAD with Local Agentic AI Assistance

This proposal introduces an optional, privacy-first AI assistant for OpenSCAD to flatten the learning curve of SCAD syntax and geometric...

Geometry Verification and Validation GUI in Qt

This project focuses on improving the Geometry Verification and Validation (V&V) GUI in Qt for the Arbalest application in BRL-CAD. Currently, the...

Saikei Civil — Native IFC Roadway Design for Bonsai BIM

Saikei Civil is an initiative to bring professional roadway design capability to Bonsai/IfcOpenShell. The goal is to add tools, features, and...

BRL-CAD Agentic MCP Interface

BRL-CAD is a battle-tested Constructive Solid Geometry (CSG) engine, but it currently lacks a native, bidirectional interface for headless command...

IfcOpenShell C API, Improved WASM builds, and migration of high-level APIs from Python

The IfcOpenShell library lacks a stable C API, which currently limits interoperability with other programming languages and makes its higher-level...

OpenSCAD to JS with ManifoldCAD

This project aims to build a reliable OpenSCAD to JavaScript compiler using ManifoldCAD, making it possible to run existing OpenSCAD code in a modern...

BRLCAD Python bindings

I plan to make BRL-CAD python bindings. Basically my goal is to make a Python interface for BRL-CAD using MOOSE as the core modeling backend, with a...

2025

6 projects

Official year page

Improving the k-File to BRL-CAD Converter & proposal for BRL-CAD database to k-File converter.

This project is intended to improve the interoperability between LS‑DYNA and BRL‑CAD by enhancing the existing k‑g converter and by implementing a...

Developing a MOOSE-based Console for arbalest: a first step to merge arbalest and qged

This project sets out to take the initial step in merging BRL-CAD's two in-development GUIs: "arbalest" and "qged". The primary objective is to...

Web Application to create and check BIM project exchange requirements for IfcOpenShell

Information Delivery Specification (IDS) is a standard for defining information requirements in a computer interpretable form, written in XML....

BRL-CAD OGV Migration

This project proposes a complete rewrite of BRL-CAD's existing OGV, which currently uses Meteor.js, an older framework no longer actively maintained....

Development and Build Support for Native Windows

OpenSCAD currently supports Windows development/build setup through 2 key ways: MSYS2 and MXE. A MSVC based build has instructions circa 2012, but...

Add polygon fillet algorithm for manifold

While filleting is a common and essential modeling technique, its implementation in existing mesh processing libraries is often limited or absent....

2024

9 projects

Official year page

Optimizing convex hull algorithm

To optimize the current convex hull algorithm to improve robustness and efficiency. The current implementation (quickhull) has cases which it cannot...

Rendering with Neural Intersection Functions

Ray tracing involves computationally expensive calculations and geometry with varying degrees of complexity. According to Fujieda et. al[1], a novel...

Develop further the new GUI for BRL-CAD!

The proposal aims to enhance the BRL-CAD experience through a new GUI. Leveraging my software development background, including projects like Website...

Neural rendering

The proposed project aims to further investigate the potential of neural networks in accelerating the process of ray tracing for 3D rendering....

OpenSCAD Library Manager

Over the years, a vast collection of OpenSCAD libraries has been developed by the community. These libraries provide pre-written functions and...

Implementation of a g-k converter and Improvements to the existing k-g converter

The ability to convert BRL-CAD database files to other formats is an important feature, especially being able to convert the BRL-CAD geometry into a...

Web-based UI integration with Blender

This project aims to overcome Blender's limitations with spreadsheets and other functionalities. The goal is to have a web interface running...

IfcOpenShell: IfcTester WebApp

The proposal outlines the development of an enhanced web application, IfcTester, for managing Building Information Modeling (BIM) project exchange...

Scripts to generate light simulation input files from 3D models (Issue #85)

1. Python scripts for IFC to OBJ conversion and text file generation: Objective: Develop Python scripts that take an input 3D IFC model and generate...

2023

5 projects

Official year page

VDB Rendering for BRL-CAD

VDB is a volumetric, sparse and hierarchical data structure which can be used for volumetric rendering, simulation and computational solid geometry...

NURBS Editing Support in BRL-CAD

NURBS is a basic function for BRL-CAD and BRL-CAD has support for some functions based on brep using openNURBS library. Beyond basic operations such...

OpenSCAD OpenGL Modernization

The project would undertake the necessary code restructuring to facilitate OpenSCAD's transition to rendering with modern OpenGL. An important early...

Interface to interact with Brickschema

While Industry Foundation Classes (IFC)—the leading international standard for exchanging building data—offers generic descriptions for smart...

Updating Appleseed: Python 3 and Dependencies

The goal of this project is to update the Python codebase for Appleseed from Python 2 to Python 3 and update the PyQT code and GUI to PyQT6. This...

2022

7 projects

Official year page

OpenSCAD 3D Viewport Graphical Enhancements

The project would allow the 3D viewport to support custom shaders for the render mode (F6). This requires retrieving the necessary uniforms and other...

BRL-CAD Project Site

This project is being proposed to redesign and update the official site for BRL-CAD, which will add more details to the site related to the...

New BRL-CAD GUI

Arbalest, a modern geometry editor for BRL-CAD is an improvement over the existing editors MGED and Archer which is developed during the '80s and...

Test-Driven Development for BRL-CAD NURBS/Brep Boolean Operation

Currently, BRL-CAD has implemented a series of NURBS and Brep operations, and in some cases it works well. But there are many cases to be tested,...

Create a new KiCad importer for LTSpice.

KiCad is an open-source EDA software. Which is used globally. It is hence important to ensure that KiCad is compatible with all other EDA software...

LibreCAD 3 automatic releases

Right now to install and use LibreCAD3 on your computer you have to get all the dependencies and build it yourself from the source code in the Github...

Create visual programming nodes for generating BIM data with IfcSverchok

Industry Foundation Class (IFC) is the leading open data format for the built environment, based on the ISO 16739-1:2018 standard. It’s the...

2021

6 projects

Official year page

Adding the Ability To BCF Libraries to connect to BCF API's.

Integrating existing BCF libraries with the API's so as to perform reading and writing of files .

Open Geometry Viewer(OGV)

Open Geometry Viewer is a web-based application to view 3D CAD models on browsers. Users are able to host the model online and comment on others...

Generator for offline documentation

The current documentation for OpenSCAD is available online at WikiBooks for easy access, which also facilitates user edits for improvisation of the...

Automate Reinforcement Process of Slab and Footing in FreeCAD

This project is to automate reinforcement process of slab and footing by using the Reinforcement Workbench in FreeCAD.

Add IDS validation with BCF output to IfcOpenShell

BuildingSMART organisation is currently working and about to publish new IDS (Information Delivery Specifications) which in simple terms is a...

Implement UNDO and transactional changes

I would like to implement the undo function into libged. This will be a significant feature addition to BRL-CAD, giving designers the option to...

2020

8 projects

Official year page

New Geometry Editor

BRL-CAD has 2 geometry editor applications, MGED and Archer. They have been created a long time ago with the technology available at that time. The...

OpenScad GUI & Text Editor’s Interactivity Enhancements

OpenSCAD is a FOSS which belongs to the CAD software category. It allow users to describe the CAD model using codes/scripts, and using those scripts;...

LibreCAD v3 GUI Revamp

LibreCAD 3 is the new version of LibreCAD currently under development. LibreCAD 3 uses Lua for GUI initialization, management, plugins and for the...

OpenCL GPGPU Raytracing

This project is to introduce a GPGPU pipeline into BRL-CAD using OpenCL for existing primitives and parallelize them for faster computation.

FEM Examples Extension in FreeCAD

This project is to expand the list of Finite Element Method (FEM) examples currently present in FreeCAD by adding more examples. The target will be...

Persistent Caching for OpenSCAD

OpenSCAD is an open-source 3D modeling software. It uses two main modeling techniques namely, Constructive Solid Geometry (CSG) and extrusion of 2D...

Extended functionality of Rebar Addon

This Project is to create rebar shape cut list, bar bending schedule, export to BVBS format and automatic drawing of a structural element after...

A better IPython and Jupyter Notebook Integration for FreeCAD

Currently, FreeCAD's IPython and Jupyter Notebook integration can only provide visualization by running the entire FreeCAD GUI alongside the...

2019

8 projects

Official year page

FreeCAD Configuration Management Proposal

FreeCAD is a powerful tool with worldwide usage but suffers a shortage of developers. This proposal aims to encourage new developers to adopt FreeCAD...

Imporve DXF Import and Export Proposal

This is my proposal to the project, improve DXF import and export for OpenSCAD. It includes a breif introduction of myself, project description and...

Implement more annotation support: labels, notes, and dimensions #28

The project will aim to enhance the existing annotation capability and add another type of annotations like dimensions , labels and single or...

FEM Workbench Testing

Improve the quality and reliability of the FEM Workbench of FreeCAD by introducing a extensive and consistent testing approach and developing a test...

Improvement of OpenSCAD Text-Editor Features

As modern OpenSCAD usage has advanced, it now makes more extensive use of libraries consisting of many files, and the editor features have not kept...

LibreCAD 3 OpenGL Rendering

LibreCAD is a free Open Source CAD application for Windows, Apple and Linux. It allows industrial designers and graphics enthusiast to create CAD...

BCF Support in BIM WB - FreeCAD

Collaboration is ingrained into human nature, without it we, as a species, wouldn’t be able to build astonishing buildings like we have today....

Automate Reinforcement Process in FreeCAD

This project is to automate Reinforcement process by using Rebar Addon in FreeCAD. The idea is to create UI on top of the current implementation to...

2018

7 projects

Official year page

Slic3r - Rotating Face to Bottom

The primary goal of this project would be to implement a solution to issue #3047. This issue is basically about implementing a way for users to...

Improving raytracing performance by improving libbu

Improve parts of BRL-CAD's raytracer by removing unnecessary work and using better-suited data structures.

Python BRL-CAD

Project aims to wrap BRL-CAD geometry primitives in python using ctypesgen and extending support to use python BRL-CAD on multiple operating systems....

OpenCL GPGPU Raytracing

BRL-CAD objects are made from about two dozen primitives, ray-tracing of which can be quickly realised in a GPU owing to its parallel architecture....

Overlap Tool - Cross platform compatibility

The project aims to bring cross platform compatibility to the existing overlap tool which currently uses a shell script that works only for Linux. By...

FreeCAD Configuration Management Project

FreeCAD is a general purpose 3D computer-aided engineering & design program available for Windows, Mac, and Linux, and as a result it has a huge...

Add exec option to search

BRL-CAD's MGED search needs an -exec option - like the find command in UNIX - but that would mean low level library functions accessing the...

2017

8 projects

Official year page

GPU Boolean Evaluation for CSG Ray-Tracing

In BRL-CAD, some work has been done in order to optimize the ray-tracing process, with ray-intersection calculations implemented in OpenCL for...

Annotations: Implement support for 2D annotations, labels that can be added to geometry

The aim of the project is to enhance the representation of the wire frame views by adding annotations to the sketch.

Elmer-Integration

This proposal targets the “Elmer-Integration” project outlined in the “Google Summer of Code” article on the wiki...

Rebar Addon for FreeCAD

The current rebar functionality in FreeCAD is very limited by its UI and creating a reinforcement system using it is quite tedious. Currently, the...

Implement 3MF read/write

Project Goal: Implement support for the 3MF file format in Slic3r and allow conversion into (AMF, OBJ, STL). 3MF is generally smaller than other...

LibreCAD 3 plugins system

This proposal is made to improve the current LibreCAD 3 plugin system, by adding new features like custom entities or read and write files, to allow...

Part Design Workbench Refinement

By adding complete functional test coverage to Part Design, bugs can be systematically eliminated. The Attachment Editor and Boolean Operation tools...

Online Geometry Viewer Update

This project aims to improve Online Geometry Viewer in different ways: UI update, code quality and improved model importing.

2016

9 projects

Official year page

LibreCAD 3 Scriptable User Interface Creation

This project will add to LibreCAD 3 an user interface allowing end-users to create and manipulate elements in the document without having to write a...

The FreeCAD Plugin Installer

My main idea is to implement a plugin manager for FreeCAD that will be used to install/remove/update plugins and other unofficial...

Online Geometry Viewer

OGV has the ambition to become something of an Instagram for 3D models. It includes features like profiles, likes, comments, followers. But the code...

Plate Mode NURBS raytracing

In Constructive Solid Geometry (CSG) system, the modeling process is usually represented as boolean operations of some basic primitives such as...

Automatic Polygonal Mesh Healing

The aim is to provide features that will be useful in automatic polygonal healing of a mesh, which BRL-CAD essentially represents as a bag of...

LibreCAD V3 Beziers and File I/O Support

LibreCAD V3 Beziers and File I/O Support project involves further development of the LibreCAD v3 Kernel and LibreCAD Software itself. LibreCAD at the...

BRL-CAD Web Infrastructure Update

This project aims to update current web infrastructure of BRL-CAD organisation. Specifically: creating new main web site at ‘brlcad.org’ as a central...

GPGPU Support for Boolean Evaluation Used in Ray Tracing

BRL-CAD uses Constructive Solid Geometry (CSG) to create complex objects by combining two or more primitives, with the help of Boolean operators. I...

User Interface for Customizing Models

This project intends to define user interface to Customize Model interactively instead of modifying them manually. It will make the user able to...