Dvourozměrná varianta objektu NurbsCurve je objekt NurbsSurface, který lze stejně jako křivku Nurbs volného tvaru vytvořit dvěma základními způsoby: zadáním sady základních bodů a interpolací mezi nimi, nebo explicitním zadáním řídicích bodů plochy. Interpolované plochy jsou užitečné jako křivky volného tvaru v případě, kdy konstruktér zná přesný tvar potřebné plochy, nebo pokud musí plocha procházet určitými body. Na druhou stranu, plochy vytvořené pomocí řídicích bodů mohou být užitečnější pro průzkum různých návrhových možností a úrovní vyhlazování.
Chcete-li vytvořit interpolovanou plochu, jednoduše vygenerujte dvourozměrnou kolekci bodů s přibližným tvarem plochy. Kolekce musí mít rovné, nezubaté hrany. Plochu z těchto bodů lze vytvořit metodou NurbsSurface.ByPoints.
Plochu Nurbs volného tvaru lze vytvořit také určením řídicích bodů plochy. Podobně jako u křivek Nurbs, řídicí body si lze představit jako reprezentaci čtyřúhelníkové sítě s rovnými segmenty, která bude v závislosti na stupni plochy vyhlazena do konečné podoby. Chcete-li vytvořit plochu Nurbs pomocí řídicích bodů, zadejte do metody NurbsSurface.ByPoints další dva parametry, které budou naznačovat stupně podřazených křivek v obou směrech plochy.
Stupeň objektu NurbsSurface lze zvýšit a změnit tím výslednou geometrii plochy:
Podobně jako lze plochy vytvářet interpolací mezi sadou vstupních bodů, lze je vytvářet také interpolací mezi sadou základních křivek. Tomu se říká šablonování. Šablonovanou křivku lze vytvořit pomocí konstruktoru Surface.ByLoft, jediným jeho parametrem je kolekce vstupních křivek.
Plochy rotace jsou dalším typem ploch vytvořených tažením základní křivky kolem střední osy. Pokud jsou interpolované plochy dvourozměrnou analogií interpolovaných křivek, pak rotační plochy jsou dvourozměrnou analogií kružnic a oblouků.
Plochy rotace se určují pomocí základní křivky, která reprezentuje „hranu“ plochy, dále pomocí počátku osy, základního bodu plochy, směru osy, středního „hlavního“ směru a počátečního a koncového úhlu tažení. Tyto parametry se zadávají jako vstup do konstruktoru Surface.Revolve.