Custom Extruded Products
It Starts with Great Design
Bonnell design support helps create the right solution for cost effectiveness and turn-around time. Our philosophy of continuous improvement starts at the very beginning of your project with our custom aluminum design and engineering services.
Even one small design change in an aluminum extrusion profile at this stage can result in major cost savings on downstream processes. That’s why our Value Stream Engineers and designers work to help you identify these improvement opportunities early on—at no additional cost to you.
Collaborating with an experienced extruder also pays when developing profile geometries. Bonnell’s experience with designs that extrude well vs. those that increase costs can yield significant part cost reductions
Accuracy in Profile Creation
Whether you need standard or custom aluminum extrusion profiles, look no further than Bonnell Aluminum. Our new Ascona Vision System technology uses one of the largest telocentric camera lenses ever produced. Made by Carl Zeiss, this machine allows us to measure extrusion dimensions more accurately and far more quickly. We can measure dimensions that would have been impossible to measure with calipers. These lenses have lowered our manufacturing costs and we look forward to passing the savings onto our customers.
We also have the ability to get more accurate weight per foot using the latest extrusion technology. By easily creating measurements and manufacturing reports for our customers and die vendors, this technology guarantees that we distribute only the most accurate custom aluminum profiles.
Custom Aluminum Extrusions
Everyday we are challenged to create extrusions that are easier to machine, lightweight and have greater strength to weight ratio. With aluminum’s demonstrated superior strength, its end use applications are almost limitless.
Our regular participation in industry events such as Design2Part tradeshow, d2p.com, is a testament to our commitment to finding new applications for those who create solutions, and look for manufacturers to bring their designs to life.
Aluminum can be finished by paint or anodization, making it suitable as a stand-alone product. Consider the ergonomics and finishes of an adjustable desk in today’s home office setting.
Its fabrication capabilities—well known in many industries, makes it easily cut, drilled, machined, and bent to fit almost any structural and non-structural application, including high-rise commercial buildings. Whether the application is in an indoor retail space or harsh external environment, aluminum meets the challenge.
Aluminum can also be easily joined to other aluminum products, or even different materials by soldering, brazing, bolts, rivets, clips, adhesives, clinching, slide-on, snap-together or interlocking joints. And aluminum products can be designed for easy and reduced assembly at its end use.
With light-weighting a primary concern in today’s manufacture of automotive parts, extruded aluminum parts can contribute to lessening carbon footprint, while still being 100% recyclable—a double win for our environment.
Whether you need a simple shape, a complex hollow, or highly custom aluminum extrusion profiles, Bonnell Aluminum can extrude it. With our state-of-the art technology, combined with our customized approach, we can handle your toughest aluminum extrusion challenges. We deliver on-time results that will keep your business running smoothly.
Aluminum at a Glance
Bonnell Aluminum can also service your mill order production needs with our Standard and Architectural shapes. See more about the aluminum extrusion process on our resource page.
Environmentally Responsible
Aluminum’s unique properties allow for infinite recycling without compromising its integrity or aesthetics, while its inherent in-use benefits allow for more environmentally friendly applications. See more on our sustainability document.
Bonnell Aluminum can also service your mill order production needs with our Standard and Architectural shapes. See more about the aluminum extrusion process on our resource page.
Superior strength-to-weight ratio
A unique combination of high strength and low weight makes aluminum extrusions perfect for a wide array of industries—from automotive and building products, to aerospace and machinery/equipment applications.
Significant material savings
With a density about 1/3 lighter than brass, copper, iron or steel, aluminum can help significantly reduce shipping costs and is why engineers look to aluminum to help meet lightweighting goals.
Resilient and resistant
Naturally flexible under pressure, aluminum can handle the shock of impact, while its surface properties are naturally resistant to corrosion, allowing it to stand up to moisture where other materials eventually rust.
Completely customizable
The extrusion process allows for the ability to design nearly unlimited profiles, resulting in parts that can meet specific functional, aesthetic, and manufacturability objectives across a wide array of product solutions.
REQUEST FOR QUOTE
If you would like a quote for a custom extrusion please complete this form.
System.Web.HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.Web.HttpException (0x80004005): Cannot use a leading .. to exit above the top directory. at System.Web.Util.UrlPath.ReduceVirtualPath(String path) at System.Web.Util.UrlPath.Reduce(String path) at System.Web.Util.UrlPath.Combine(String appPath, String basepath, String relative) at System.Web.VirtualPath.Combine(VirtualPath relativePath) at System.Web.VirtualPath.Combine(VirtualPath v1, VirtualPath v2) at System.Web.VirtualPathUtility.Combine(String basePath, String relativePath) at System.Web.WebPages.UrlUtil.MakeAbsolute(String basePath, String relativePath) at System.Web.WebPages.UrlUtil.GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) at System.Web.WebPages.UrlUtil.GenerateClientUrlInternal(HttpContextBase httpContext, String contentPath) at System.Web.WebPages.UrlUtil.GenerateClientUrl(HttpContextBase httpContext, String contentPath) at System.Web.Mvc.UrlHelper.GenerateContentUrl(String contentPath, HttpContextBase httpContext) at System.Web.Mvc.UrlHelper.Content(String contentPath) at Umbraco.Forms.Mvc.HtmlHelperExtensions.RenderFormsScripts(HtmlHelper html, UrlHelper url, FormViewModel model, IDictionary`2 tagAttributes) at ASP._Page_Views_Partials_Forms_Themes_default_Script_cshtml.Execute() in C:\inetpub\wwwroot\bonnell\bonnellaluminum.com\Views\Partials\Forms\Themes\default\Script.cshtml:line 54 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 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) at System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper htmlHelper, String partialViewName) at ASP._Page_Views_Partials_Forms_Themes_default_Render_cshtml.Execute() in C:\inetpub\wwwroot\bonnell\bonnellaluminum.com\Views\Partials\Forms\Themes\default\Render.cshtml:line 62 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 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__4() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) at System.Web.Mvc.Controller.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End() at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Controller.<>c.<BeginExecute>b__151_2(IAsyncResult asyncResult, Controller controller) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End() at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End() at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.<>c__DisplayClass3_0.<EndProcessRequest>b__0() at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass5_0.<Wrap>b__0() at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func) at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap(Action action) at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerAsyncWrapper.EndProcessRequest(IAsyncResult result) at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) at System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) at System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper htmlHelper, String actionName, String controllerName, Object routeValues) at ASP._Page_Views_MacroPartials_InsertUmbracoFormWithTheme_cshtml.Execute() in C:\inetpub\wwwroot\bonnell\bonnellaluminum.com\Views\MacroPartials\InsertUmbracoFormWithTheme.cshtml:line 49 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 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ControllerExtensions.RenderViewResultAsString(ControllerBase controller, ViewResultBase viewResult) at Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, IPublishedContent content) at Umbraco.Web.Macros.MacroRenderer.<>c__DisplayClass17_0.<ExecuteMacroOfType>b__0() at Umbraco.Web.Macros.MacroRenderer.ExecuteProfileMacroWithErrorWrapper(MacroModel macro, String msgIn, Func`1 getMacroContent, Func`1 msgErr) at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroWithErrorWrapper(MacroModel macro, String msgIn, String msgOut, Func`1 getMacroContent, Func`1 msgErr) at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroOfType(MacroModel model, IPublishedContent content) at Umbraco.Web.Macros.MacroRenderer.Render(MacroModel macro, IPublishedContent content, IDictionary pageElements) at Umbraco.Web.Macros.MacroRenderer.Render(String macroAlias, IPublishedContent content, IDictionary`2 macroParams) at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(IPublishedContent content, String alias, IDictionary`2 parameters) at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(Int32 contentId, String alias, IDictionary`2 parameters) at Umbraco.Web.UmbracoHelper.RenderMacro(String alias, IDictionary`2 parameters) at ASP._Page_Views_Partials_grid_editors_Macro_cshtml.Execute() in C:\inetpub\wwwroot\bonnell\bonnellaluminum.com\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 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model) at ASP._Page_Views_Partials_grid_editors_Base_cshtml.Execute() in C:\inetpub\wwwroot\bonnell\bonnellaluminum.com\Views\Partials\grid\editors\Base.cshtml:line 20