If you want to work on computer-aided design (CAD), geometry, or graphics, you've come to the right place! Help us improve open source CAD.

Well prepared proposals from capable students have an outstanding chance of getting selected. We consider proposals for all skill levels ranging from simple to crazy hard and everything in between. Introduce yourself, and we'll help you plan one right for you.

Remember that project descriptions are just initial ideas. You must expand with considerably more detail. Change the goals to fit your experience and interests. See our checklist to get started.

This year, BRL-CAD is coordinating with five other communities that will get 1-2 students each to help bridge our work and encourage collaboration. Projects that help exchange data or share code are desired!

OpenSCAD: rich syntax, programmable geometry. Lots of possibilities to make it interoperate with BRL-CAD and LibreCAD. Slic3r: toolpath/G-code generator for 3D printers. LibreCAD: specializes in 2D CAD modeling, drafting, drawings. Help build a bridge to BRL-CAD or add STEP support. BRL-CAD: 3D solid modeling, geometry processing, and robust high-performance ray tracing. Help us make a better CAD system. FreeCAD: parametric 3D modelling with strong Python interface and general engineering functionality like FEM and CAM

Project titles link to a page with more details.

BRL-CAD Projects [ edit ]

High Priority Topics [ edit ]

This year, we are most interested in topics that will immediately benefit BRL-CAD users. Please align your proposal with one of the following three focus areas. Talk with us at http://brlcad.zulipchat.com

Performance Faster geometry. In order, ideas likeCoherent Raytracing, anything involving OpenCL, parallelizing serial code, and eliminating LIBBU pointer aliasing. User Interface Build on Google Code-In progress (OpenSCAD-style GUI), Convert MGED from Tk to Qt, revamp our Overlap tool GUI, etc. Qt and ray tracing are fair game. Core Infrastructure Integrate appleseed rendering, extend and deploy Online Geometry Viewer (OGV), expand our geometry conversion (GCV) library.

Web Development [ edit ]

Geometry [ edit ]

Performance & Quality [ edit ]

Infrastructure [ edit ]

Rendering & Scientific Analysis [ edit ]

Open Channel For Goods Using Optics +robotics concept: We can Create A Tunnel Like way Where we can transport goods like We Transport data through seas Using Optics. Only Need Is To make it automated with perfect coding for destination. We can Do this with the help of Software+Mechanical Engineers. Where coding and assembly plays important role.. Coding can Be Done In General By C/c++ language which is Simpler

OpenSCAD Projects [ edit ]

OpenSCAD is a parametric solid 3D modeling tool which uses a Domain Specific Language to specify designs as plain text. It is specifically designed with 3D printing in mind.

The OpenSCAD team is also open to new ideas. Please get in touch to discuss your ideas and convince a mentor to back it.

LibreCAD Projects [ edit ]

LibreCAD is a free Open Source CAD application for Windows, Apple and Linux. Support and documentation is free from our large, dedicated community of users, contributors and developers. Please refer to LibreCAD GSoC 2018 ideas for more detailed description.





STEPcode Projects [ edit ]

Slic3r Projects [ edit ]

Slic3r is CAM desktop application for toolpath/G-code generation for 3D printers.

Languages Difficulty Contacts Port the GUI to C++: The GUI is currently coded in Perl using wxWidgets and our goal is to have it ported to C++. The wxWidgets API is almost identical between Perl and C++, so it's an easy task. There are a couple things where we use the dynamic features of Perl which are trickier and interesting to port. C++/wxWidgets Easy Alessandro/Joseph Port the SVGNest library to C++: The SVGNest library provides an algorithm for polygon nesting. It's written in JavaScript and a C++ port of it would improve Slic3r's auto-arrange feature. #3237 C++ Easy Alessandro/Joseph Fix bugs of the Boost.Voronoi library: The good but unmaintained Boost.Voronoi library has a couple minor issues affecting Slic3r's results. Interesting task for learning the Voronoi algorithm and how to troubleshoot a computational geometry issue. #2948 C++ Medium Alessandro/Joseph Wireframe printing: Implement the wireframe printing algorithm. #2274 C++ Medium Alessandro/Joseph Automatic part rotation: Automatically rotate a part to make some face of the part the bottom. #3047 C++ Medium Alessandro/Joseph Manual support creation: Allow users to place and move support pillars by clicking in the 3D GUI. #3062 C++/Perl/OpenGL Medium/Hard Alessandro/Joseph Refactor the TriangleMesh class and support non-solid walls: Replace the internal mesh representation (currently based on admesh) using an existing 3D mesh library or implementing a half-edge structure; only use admesh for fixing models. Keep non-solid walls and slice them as single paths. Bonus: import SVG paths and position them freely using the GUI for printing as single extrusions. #3560 #3523 C++ Medium/Hard Alessandro/Joseph Non-planar printing: Implement techniques for non-planar printing. #3442 C++ Medium Alessandro/Joseph Support surface colors and mixing extruders: Read surface colors from AMF or OBJ and keep them throughout the slicing process in order to generate G-code for mixing extruders. #3546 C++/Perl Hard Alessandro/Joseph Clean the libslic3r API and write bindings for it: Expose the internal algorithms of Slic3r as a library and write bindings for Python, Perl etc. C++/any Easy Alessandro/Joseph Write a Slic3r plugin for Grasshopper: Expose Slic3r functionality as many separate components that can be plugged in larger GH definitions (for example: slice a NURBS model in GH and feed the slices to the toolpath generation process in order to skip mesh generation, or provide flow calculation for people driving 5-axis robots with custom motion). This requires a fair amount of design work. C++ Medium/Hard Alessandro/Joseph

FreeCAD Projects [ edit ]

Mentors [ edit ]

BRL-CAD operates under group mentorship. That means you can contact anyone, not just the person assigned to you, for assistance. The mailing list and IRC channel are the preferred communication methods.

Christopher Sean Morrison brlcad on irc.freenode.net Org admin, BRL-CAD open source project lead



Erik Greenwald ``Erik on irc.freenode.net Org admin, BRL-CAD core dev mainly FDM/FFF, geometry conversion, CAE/prototyping



Cliff Yapp starseeker on irc.freenode.net BRL-CAD Mentor, core dev



Daniel Rossberg d_rossberg on irc.freenode.net BRL-CAD Mentor, core dev, math expert



H.S. Rai hsrai on irc.freenode.net BRL-CAD Mentor, math expert



Tom Browder BRL-CAD Mentor, analysis expert



Bryan Bishop BRL-CAD Mentor, python guru



Isaac Kamga Izakey on irc.freenode.net BRL-CAD Mentor, C/C++ Programmer



Mohit Daga zero_level irc.freenode.net BRL-CAD Mentor, Computer Science Engineer



Inderpreet Singh (Pooh) Pooh on https://brlcad.zulipchat.com OGV mentor



Gauravjeet Singh (Panda) Panda on https://brlcad.zulipchat.com OGV mentor



Mark Pictor mpictor on irc.freenode.net STEPcode Mentor



Charlie Stirk cstirk STEPcode Mentor



Marius Kintel kintel on irc.freenode.net OpenSCAD Mentor



Torsten Paul teepee on irc.freenode.net OpenSCAD Mentor



Armin Stebich LordOfBikes on irc.freenode.net LibreCAD Mentor



Florian Roméo Feragon on irc.freenode.net LibreCAD Mentor



Alessandro Ranellucci Sound on irc.freenode.net Slic3r Mentor



Joseph Lenox LoH on irc.freenode.net Slic3r Mentor

