putting in support for circular beds (and bed shapes)

changing SeeMeCNC to have circular beds
white listing RoBo 3D
This commit is contained in:
larsbrubaker 2014-02-05 12:04:05 -08:00
parent 059a2f62e9
commit 112661f5b9
11 changed files with 30 additions and 5 deletions

View file

@ -69,7 +69,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
string part3DViewLblBeg = ("3D");
string part3DViewLblEnd = new LocalizedString ("View").Translated;
string part3DViewLblFull = string.Format("{0} {1} ", part3DViewLblBeg, part3DViewLblEnd);
part3DView = new View3DTransformPart(printItem, new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight));
part3DView = new View3DTransformPart(printItem, new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), ActiveSliceSettings.Instance.BedShape);
TabPage partPreview3DView = new TabPage(part3DView, part3DViewLblFull);
partGcodeView = new GcodeViewBasic(printItem, ActiveSliceSettings.Instance.GetBedSize, ActiveSliceSettings.Instance.GetBedCenter);

View file

@ -264,7 +264,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
base.OnMouseUp(mouseEvent);
}
public View3DTransformPart(PrintItemWrapper printItemWrapper, Vector3 viewerVolume)
public View3DTransformPart(PrintItemWrapper printItemWrapper, Vector3 viewerVolume, MeshViewerWidget.BedShape bedShape)
{
MeshExtraData = new List<PlatingMeshData>();
MeshExtraData.Add(new PlatingMeshData());
@ -281,7 +281,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
GuiWidget viewArea = new GuiWidget();
viewArea.AnchorAll();
{
meshViewerWidget = new MeshViewerWidget(viewerVolume, 1);
meshViewerWidget = new MeshViewerWidget(viewerVolume, 1, bedShape);
SetMeshViewerDisplayTheme();
meshViewerWidget.AnchorAll();
}

View file

@ -195,6 +195,7 @@ namespace MatterHackers.MatterControl
{
return BedSize;
}
public Vector2 BedSize
{
get
@ -203,6 +204,24 @@ namespace MatterHackers.MatterControl
}
}
public MeshVisualizer.MeshViewerWidget.BedShape BedShape
{
get
{
switch(GetActiveValue("bed_shape"))
{
case "rectangular":
return MeshVisualizer.MeshViewerWidget.BedShape.Rectangular;
case "circular":
return MeshVisualizer.MeshViewerWidget.BedShape.Circular;
default:
throw new NotImplementedException(string.Format("'{0}' is not a known bed_shape.", GetActiveValue("bed_shape")));
}
}
}
public Vector2 GetBedCenter()
{
return BedCenter;

View file

@ -36,6 +36,7 @@ namespace MatterHackers.MatterControl
new NotPassedItem("", "temperature"),
new NotPassedItem("", "bed_temperature"),
new NotPassedItem("", "bed_shape"),
new MapItem("insetCount", "perimeters"),

View file

@ -5,4 +5,4 @@ SeeMeCNC
Printrbot
Deezmaker
Blue Eagle Labs
Robo 3D
RoBo 3D

View file

@ -1,4 +1,5 @@
avoid_crossing_perimeters = 1
bed_shape = circular
bed_size = 260,260
bed_temperature = 70
bottom_solid_layers = 5

View file

@ -1,4 +1,5 @@
avoid_crossing_perimeters = 1
bed_shape = circular
bed_size = 260,260
bed_temperature = 70
bottom_solid_layers = 5

View file

@ -1,6 +1,6 @@
# generated by Slic3r 0.9.9 on Tue May 14 10:04:09 2013
avoid_crossing_perimeters = 1
bed_size = 280,280
bed_shape = circular
bed_temperature = 80
bottom_solid_layers = 3
bridge_acceleration = 0

View file

@ -1,4 +1,5 @@
avoid_crossing_perimeters = 0
bed_shape = rectangular
bed_size = 200,200
bed_temperature = 70
bottom_solid_layers = 3

View file

@ -179,6 +179,7 @@ Advanced
print_center
build_height
z_offset
bed_shape
Firmware
gcode_flavor
use_relative_e_distances

View file

@ -1,4 +1,5 @@
avoid_crossing_perimeters|Avoid Crossing Perimeters|CHECK_BOX||Attempts to minimize the number of perimeter crossing. This can help with oozing or strings.
bed_shape|Bed Shape|LIST|rectangular,circular|The shape of the physical print bed.
bed_size|Bed Size|VECTOR2|mm|The size of the print bed.
bed_temperature|Bed Other Layers|POSITVE_DOUBLE|degrees|The temperature to set the bed to after the first layer has been printed. Set to 0 to eliminate bed temperature commands.
bottom_solid_layers|Number of Solid Layers\n on the Bottom:|INT||How many layers will be solid filled on the bottom surfaces of the object.