Improving card holder

This commit is contained in:
LarsBrubaker 2018-02-22 08:01:48 -08:00
parent c5057c8177
commit 47f0edecbc

View file

@ -30,10 +30,13 @@ either expressed or implied, of the FreeBSD Project.
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Threading; using System.Threading;
using MatterHackers.Agg;
using MatterHackers.Agg.Font; using MatterHackers.Agg.Font;
using MatterHackers.DataConverters3D; using MatterHackers.DataConverters3D;
using MatterHackers.MatterControl.DesignTools.Operations; using MatterHackers.MatterControl.DesignTools.Operations;
using MatterHackers.VectorMath; using MatterHackers.VectorMath;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace MatterHackers.MatterControl.DesignTools namespace MatterHackers.MatterControl.DesignTools
{ {
@ -49,17 +52,20 @@ namespace MatterHackers.MatterControl.DesignTools
[DisplayName("Name")] [DisplayName("Name")]
public string NameToWrite { get; set; } = "MatterHackers"; public string NameToWrite { get; set; } = "MatterHackers";
[Sortable]
[JsonConverter(typeof(StringEnumConverter))]
public NamedTypeFace Font { get; set; } = new NamedTypeFace();
public void Rebuild() public void Rebuild()
{ {
IObject3D plainCardHolder = Object3D.Load("C:/Temp/CardHolder.stl", CancellationToken.None); IObject3D plainCardHolder = Object3D.Load("C:/Temp/CardHolder.stl", CancellationToken.None);
//TypeFace typeFace = TypeFace.LoadSVG("Viking_n.svg"); var letterPrinter = new TypeFacePrinter(NameToWrite.ToString(), new StyledTypeFace(NamedTypeFaceCache.GetTypeFace(Font)));
var letterPrinter = new TypeFacePrinter(NameToWrite);//, new StyledTypeFace(typeFace, 12));
IObject3D nameMesh = new Object3D() IObject3D nameMesh = new Object3D()
{ {
Mesh = VertexSourceToMesh.Extrude(letterPrinter, 5) Mesh = VertexSourceToMesh.Extrude(letterPrinter, 5),
Color = Color.LightBlue
}; };
AxisAlignedBoundingBox textBounds = nameMesh.GetAxisAlignedBoundingBox(Matrix4X4.Identity); AxisAlignedBoundingBox textBounds = nameMesh.GetAxisAlignedBoundingBox(Matrix4X4.Identity);