Describir: Integrating parametric modeling with BIM through generative programming for the production of NURBS surfaces and structures