Add print button (#3133)
* add print button Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * generate more types Signed-off-by: Jess Frazelle <github@jessfraz.com> * add a github action to generate machine api-types Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * actually print on the real machine Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * add more Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * get the current machine Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * know when error Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * add fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * empty * empty * update machine api Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * empty * New machine-api types * emptuy * no circular deps Signed-off-by: Jess Frazelle <github@jessfraz.com> * New machine-api types * remove recursive dep Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
This commit is contained in:
@ -1,7 +1,9 @@
|
||||
import { Models } from '@kittycad/lib'
|
||||
import { StateMachineCommandSetConfig, KclCommandValue } from 'lib/commandTypes'
|
||||
import { KCL_DEFAULT_LENGTH } from 'lib/constants'
|
||||
import { components } from 'lib/machine-api'
|
||||
import { Selections } from 'lib/selections'
|
||||
import { machineManager } from 'lib/machineManager'
|
||||
import { modelingMachine, SketchTool } from 'machines/modelingMachine'
|
||||
|
||||
type OutputFormat = Models['OutputFormat_type']
|
||||
@ -22,6 +24,9 @@ export type ModelingCommandSchema = {
|
||||
type: OutputTypeKey
|
||||
storage?: StorageUnion
|
||||
}
|
||||
Make: {
|
||||
machine: components['schemas']['Machine']
|
||||
}
|
||||
Extrude: {
|
||||
selection: Selections // & { type: 'face' } would be cool to lock that down
|
||||
// result: (typeof EXTRUSION_RESULTS)[number]
|
||||
@ -160,6 +165,36 @@ export const modelingMachineCommandConfig: StateMachineCommandSetConfig<
|
||||
},
|
||||
},
|
||||
},
|
||||
Make: {
|
||||
hide: 'web',
|
||||
displayName: 'Make',
|
||||
description:
|
||||
'Export the current part and send to a 3D printer on the network.',
|
||||
icon: 'printer3d',
|
||||
needsReview: true,
|
||||
args: {
|
||||
machine: {
|
||||
inputType: 'options',
|
||||
required: true,
|
||||
valueSummary: (machine: components['schemas']['Machine']) =>
|
||||
machine.model || machine.manufacturer,
|
||||
options: () => {
|
||||
return Object.entries(machineManager.machines).map(
|
||||
([hostname, machine]) => ({
|
||||
name: `${machine.model || machine.manufacturer}, ${hostname}`,
|
||||
isCurrent: false,
|
||||
value: machine as components['schemas']['Machine'],
|
||||
})
|
||||
)
|
||||
},
|
||||
defaultValue: () => {
|
||||
return Object.values(
|
||||
machineManager.machines
|
||||
)[0] as components['schemas']['Machine']
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
Extrude: {
|
||||
description: 'Pull a sketch into 3D along its normal or perpendicular.',
|
||||
icon: 'extrude',
|
||||
|
Reference in New Issue
Block a user