- {state.isLoading && (
-
- )}
+
{image && (
{
)}
+ {state.isLoading && (
+
+ )}
diff --git a/web/src/helpers/cadPackages/openScadController.js b/web/src/helpers/cadPackages/openScadController.js
index d363cf0..f808c81 100644
--- a/web/src/helpers/cadPackages/openScadController.js
+++ b/web/src/helpers/cadPackages/openScadController.js
@@ -2,6 +2,8 @@ let openScadBaseURL =
process.env.OPENSCAD_BASE_URL ||
'https://x2wvhihk56.execute-api.us-east-1.amazonaws.com/dev'
+let lastCameraSettings
+
export const render = async ({ code, settings }) => {
const body = JSON.stringify({
settings: {
@@ -9,10 +11,13 @@ export const render = async ({ code, settings }) => {
x: 500,
y: 500,
},
- camera: settings.camera,
+ camera: settings.camera || lastCameraSettings,
},
file: code,
})
+ if (settings.camera) {
+ lastCameraSettings = settings.camera
+ }
try {
const response = await fetch(openScadBaseURL + '/render', {
method: 'POST',
diff --git a/web/src/helpers/hooks/useIdeState.js b/web/src/helpers/hooks/useIdeState.js
index 90c4464..15723f1 100644
--- a/web/src/helpers/hooks/useIdeState.js
+++ b/web/src/helpers/hooks/useIdeState.js
@@ -1,17 +1,26 @@
import { useReducer } from 'react'
import { cadPackages } from 'src/helpers/cadPackages'
+const donutInitCode = `
+color(c="DarkGoldenrod")rotate_extrude()translate([20,0])circle(d=30);
+donut();
+module donut() {
+ for(i=[1:360]){
+ rotate(i*13.751)stick(20,i*1.351);
+ }
+}
+module stick(basewid, angl){
+ translate([basewid,0,0])rotate([angl,angl,angl*2])color(c="hotpink")hull(){
+ sphere(7);
+ translate([0,0,10])sphere(9);
+ }
+}`
+
export const useIdeState = () => {
const initialState = {
ideType: 'openScad',
consoleMessages: [{ type: 'message', message: 'Initialising OpenSCAD' }],
- code: `difference(){
- union(){
- cube(60);
- sphere(25);
- }
- translate([30,30,30])cylinder(r=25,h=100);
-}`,
+ code: donutInitCode,
objectData: {
type: 'stl',
data: 'some binary',