Design Tip

Trattamento testi:

alcune semplici linee guida sulla progettazione di pezzi con testo
Figura 1: Istruzioni di accensione/spegnimento (On/Off) su un pezzo.
Rilievo vs. Incassato

La prima cosa da tenere a mente è che i risultati sono di gran lunga migliori se il testo aggiunto su un pezzo in plastica non è incassato ma in rilievo (il che significa che sarà fresato nello stampo). Sul pezzo le lettere in rilievo sono più facili da leggere; nello stampo, invece, il testo agevola la lucidatura quando è incassato, mentre se è in rilievo ostacola una buona finitura.

Caratteri

 Il secondo punto è l'uniformità di dimensione delle pareti del testo. È preferibile evitare i caratteri serif, che hanno quei piccoli svolazzi alla fine delle aste verticali. Le grazie (o serif) sono generalmente più strette rispetto ai tratti principali della lettera e sono quindi troppo piccole da fresare. È meglio usare caratteri sans-serif (senza grazie) come il Century Gothic Bold (il carattere predefinito di SolidWorks). Altri caratteri sans-serif usati di frequente sono l'Arial e il Verdana. In linea generale ricordate che, anche se la maggior parte dei programmi CAD 3D permette di utilizzare i caratteri standard di Windows, è meglio resistere alla tentazione di aggiungere fronzoli senza una buona ragione.

Figura 2: La “o” è troppo piccola da fresare.
Dimensioni

Il terzo punto è la dimensione delle lettere (Figure 2 e 3). Non è necessario che il testo sia molto sollevato rispetto alla superficie del pezzo (è sufficiente un'altezza di 0,5 mm), ma si applicano comunque le stesse regole che valgono per le nervature sottili. Inoltre, non occorre calcolare lo spessore di ciascun tratto di lettera; se si utilizzano caratteri da almeno 20 punti e in grassetto, con molta probabilità sarà possibile fresare il testo. In molti casi siamo in grado di fresare anche caratteri più piccoli. Se avete questa esigenza, inviate il pezzo con il testo più piccolo per ricevere un preventivo interattivo ProtoQuote®, che vi fornirà utili consigli ed evidenzierà eventuali modifiche da apportare. In alternativa, potete contattare i tecnici del servizio clienti di Proto Labs al numero +39 0321 381211 per discutere il progetto.

 

 

Figura 3: La “L” ha una dimensione maggiore e lo spazio è sufficiente per l'utensile di fresatura.

Infine, se il testo è collocato nella parte superiore di un elemento alto (ad esempio, una nervatura alta), potrebbe essere necessario aumentare le dimensioni del carattere.

Per aggiungere del testo e ottenere i migliori risultati::

  • Progettate il pezzo con il testo in rilievo
  • Utilizzate caratteri sans-serif in grassetto
  • Utilizzate caratteri da almeno 20 punti
  • Restate lontani dalla parte superiore degli elementi alti
System.Web.HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: input
   at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
   at ProtoLabs.Web.Controllers.MacroController.ImageWithContentMacro(ImageWithContentMacroInputModel model)
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass4.<Wrap>b__3()
   at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func)
   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.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter)
   at System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues)
   at ASP._Page_Views_MacroPartials_Image_with_Content_cshtml.Execute() in e:\protolabs\webs\ProtoLabs.Web\5327\content\Views\MacroPartials\Image with Content.cshtml:line 3
   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 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:\protolabs\webs\ProtoLabs.Web\5327\content\Views\Partials\grid\editors\macro.cshtml:line 13
   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:\protolabs\webs\ProtoLabs.Web\5327\content\Views\Partials\grid\editors\base.cshtml:line 19
Hai cercato ""