Building a dynamic component library for cabinetmakers and architects