private void RecreateBed() { double buildHeight = ActiveSliceSettings.Instance.GetValue <double>(SettingsKey.build_height); UiThread.RunOnIdle((Action)(() => { meshViewerWidget.CreatePrintBed( new Vector3(ActiveSliceSettings.Instance.GetValue <Vector2>(SettingsKey.bed_size), buildHeight), ActiveSliceSettings.Instance.GetValue <Vector2>(SettingsKey.print_center), ActiveSliceSettings.Instance.GetValue <BedShape>(SettingsKey.bed_shape)); PutOemImageOnBed(); Vector2 bedCenter = ActiveSliceSettings.Instance.GetValue <Vector2>(SettingsKey.print_center); if (ActiveSliceSettings.Instance.GetValue <bool>(SettingsKey.center_part_on_bed) && !InEditMode) { if (meshViewerWidget.MeshGroups.Count > 0) { var bounds = meshViewerWidget.MeshGroups[0].GetAxisAlignedBoundingBox(); Vector3 boundsCenter = (bounds.maxXYZ + bounds.minXYZ) / 2; for (int i = 0; i < meshViewerWidget.MeshGroups.Count; i++) { meshViewerWidget.MeshGroupTransforms[i] = Matrix4X4.CreateTranslation(-boundsCenter + new Vector3(0, 0, bounds.ZSize / 2) + new Vector3(bedCenter)); } } } })); }
private void RecreateBed() { double buildHeight = ActiveSliceSettings.Instance.BuildHeight; UiThread.RunOnIdle(() => { meshViewerWidget.CreatePrintBed( new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), ActiveSliceSettings.Instance.BedCenter, ActiveSliceSettings.Instance.BedShape); PutOemImageOnBed(); }); }
void RecreateBedAndPartPosition(object sender, EventArgs e) { double buildHeight = ActiveSliceSettings.Instance.BuildHeight; UiThread.RunOnIdle((state) => { meshViewerWidget.CreatePrintBed( new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), ActiveSliceSettings.Instance.BedCenter, ActiveSliceSettings.Instance.BedShape); PutOemImageOnBed(); }); }
private void RecreateBed() { double buildHeight = ActiveSliceSettings.Instance.GetValue <double>(SettingsKey.build_height); UiThread.RunOnIdle((Action)(() => { meshViewerWidget.CreatePrintBed( new Vector3(ActiveSliceSettings.Instance.GetValue <Vector2>(SettingsKey.bed_size), buildHeight), ActiveSliceSettings.Instance.GetValue <Vector2>(SettingsKey.print_center), ActiveSliceSettings.Instance.GetValue <BedShape>(SettingsKey.bed_shape)); PutOemImageOnBed(); })); }