Paint and Custom Finishing

Protolabs provides a wide range of options for surface finishing. These services are for individual parts or entire assemblies.  We operate a specially equipped finishing department, with a dedicated team to support your project from preparation to shipping of the parts.

Our finishing services include:

  • Assembly of sub-components
  • Project support and individual consulting by our account management team
  • Surface treatment of finished parts (e.g. grinding and polishing)
  • Painting (including all preparation work)
  • Paints and varnishes supplied to all applicable standards (RAL, Pantone, ...)

Examples and applications:

Clear finish on transparent stereolithography parts

In this process, the component (or the entire assembly) is subjected to a high-quality surface treatment. The benefit of this is that any trace marks of the production method are significantly reduced. Secondly, the surfaces are coated with a clear lacquer. The result is a high-quality, and almost fully transparent, appearance.

Application: prototype, exhibition presentation pattern

Painting of 3D printed parts with a standard paint

This service is particularly useful for creating OEM coatings for automotive parts.

The component receives a surface treatment similar in appearance and feel to production part.  The material texture is enhanced, as varnishing provides weather and UV protection.

Application: prototype, presentation, small series


Our team supports the preparation of the CAD file data and the production of the individual parts.  After manufacturing the parts, all components are seamlessly joined together on a mounting frame, followed finishing the surfaces according to customer requirements.

System.InvalidOperationException: Could not find the view ~/Views/MacroPartials/Protoworks Form.cshtml, the following locations were searched: 
~/Views/MacroPartials/Protoworks Form.cshtml
   at Umbraco.Web.Mvc.ControllerExtensions.EnsureViewObjectDataOnResult(ControllerBase controller, ViewResultBase result)
   at Umbraco.Web.Mvc.ControllerExtensions.RenderViewResultAsString(ControllerBase controller, ViewResultBase viewResult)
   at Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, IPublishedContent content)
   at umbraco.macro.LoadPartialViewMacro(MacroModel macro)
   at umbraco.macro.renderMacro(Hashtable pageElements, Int32 pageId)
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(macro m, IDictionary`2 parameters, page umbracoPage)
   at ASP._Page_Views_Partials_grid_editors_macro_cshtml.Execute() in e:\protolabsUS\webs\ProtoLabs.Web\5606\content\Views\Partials\grid\editors\macro.cshtml:line 15
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   at ASP._Page_Views_Partials_grid_editors_base_cshtml.Execute() in e:\protolabsUS\webs\ProtoLabs.Web\5606\content\Views\Partials\grid\editors\base.cshtml:line 20