Principal Software Developer, Cam Software
CurrentResponsible for toolpathing, probing, and CAD application integration of Proto Labs' in-house CNC Mill/Turn CAM package. Created DSLs for type-safe G-Code output, algorithms for 3D collision detection and spatial queries, as well as feature detection for feature-based toolpathing. Help refactor large swaths of the C++ application and libraries in order to unify CNC Mill and CNC Lathe support.Created prototype ML algorithms for instant evaluation of CAD models for cost estimation / manufacturability metrics. Apart from generic geometric features, used fast machining simulation algorithms to inject CNC machinability constraints into the developed models. A variant of the machining simulation I developed is also used for toolpath verification and optimization in internal applications.I developed several enhancements to Proto Labs' MIM (metal injection molding) and Thixomolding automatic quoting process - algorithms for estimating the quantity of MIM parts that fit in a sinter tray, and for estimating the maximum material flow length during magnesium casting. Implemented high-performance interactive collision detection used while designing machining fixtures for molded parts.My first experience in toolpath algorithms was to improve automatic tool selection and to vary tool feed rates based on cut types. Developed interactive visualization for uncut material during automatic and manual tool selection.