Novato, California, United States
Senior software engineer with experience in both traditional and start-up environments. Highly analytical with solid expertise in object-oriented software design and development of commercial software applications. Specialties C++, 2d and 3d geometric modeling, CAD.
Developed new features and enhancements for Autodesk’s flagship product AutoCAD. Key individual accomplishments: • Designed and implemented new C++ classes to support surfaces and solids that are created by lofting and sweeping 3d profiles. • Developed new network, n-patch, and blend, surface types and integrated them with AutoCAD’s associative framework. • Developed new features such as adding 2d constraints to dynamic blocks and implementing pre-selection previewing of the outcome of several AutoCAD commands. • Improved the rendering time for solid fill regions by enhancing AutoCAD’s triangulation algorithm to minimize the number of computed triangles.
Member of small startup developing software for feature-based manufacturing of mechanical parts. Key individual accomplishments: • Designed and coded algorithms for extracting geometric data from the solid model to be used in computing toolpaths for machining operations. • Designed and implemented algorithm for performing boolean operations on planar profile curves. • Developed software for performing version migration of existing parts, so that geometric and feature data is preserved when importing a new version of a part.
Member of core team that developed a geometry library which provided a common interface to geometry across Autodesk products. This C++ library provided classes for representing both analytic and non-uniform rational b-spline (NURB) curves and surfaces as well as linear algebra classes for points, vectors, and matrices. Key individual accomplishments: • Designed and implemented object-oriented architecture of library including API interface classes and underlying implementation classes. • Developed algorithms for a variety of geometric operations such as computing intersections, projections, and trimmed offsets of 3d curves. • Developed ObjectARX application that used geometry library to project AutoCAD Designer curves into native AutoCAD entities. • Re-implemented parts of AutoCAD to use the geometry library instead of the ACIS solid modeler for representing ellipse and NURB curves. • Enhanced 3d user interface of AutoCAD 2000 by developing new dialogs and toolbars in MFC that automated the manipulation 3d coordinate systems.
Member of small team developing software for computer-aided manufacturing. Key individual accomplishments: • Designed and implemented C++ classes for the modeling base system, including all geometry and topology classes needed for the mathematical representation of a solid model. • Designed and implemented C++ classes to manage all vector and polygon data needed for rendering shaded images, and provide all functions necessary for color highlighting and graphical selection of solid geometry. • Developed mathematical algorithms needed for the manufacturing application including automatic recognition of certain types of features, computing intersections of curves and surfaces, computing bounding boxes of geometric entities, and evaluating points and derivatives on curves and surfaces. • Developed interface to an object-oriented database (Objectivity 2.0).