UNPKG

@plastichub/osr-cad

Version:

This is a CLI(CommandLineInterface) toolset to convert 3D files, using Solidworks and other software.

976 lines (838 loc) 24.8 kB
title: NodeSlicer Configuration Schema type: object oneOf: - required: [inputFile] - required: [inputFiles] properties: # Additional NodeSlicer parameters header: description: Print the Slic3r header line with timestamp default: true type: boolean # IO settings save: description: Save configuration to the specified file type: string load: description: > Load configuration from the specified file. It can be used more than once to load options from multiple files. type: string outputFile: description: File to output GCode to type: string outputFiles: description: Files to output GCode to type: array items: type: string outputDirectory: description: Directory to output GCode-files to type: string inputFile: description: Input STL-file type: string inputFiles: description: Input STL-files type: array items: type: string # Non-slicing actions (no GCode will be generated): repair: description: Repair given STL files and save them as <name>_fixed.obj type: boolean cut: description: > Cut given input files at given Z (relative) and export them as <name>_upper.stl and <name>_lower.stl type: number info: description: Output information about the supplied file(s) type: boolean split: description: Split the shells contained in given STL file into several STL files type: boolean default: false threads: description: Number of threads to use type: number default: 2 minimum: 1 # Output options: postProcessScripts: description: > Generated GCode will be processed with the supplied scripts. type: array item: type: string exportSvg: description: Export a SVG file containing slices instead of GCode. type: boolean outputFilenameFormat: description: Output file name format; all config options enclosed in brackets will be replaced by their values, as well as [input_filename_base] and [input_filename] type: string merge: description: > If multiple files are supplied, they will be composed into a single print rather than processed individually. type: boolean # Printer Options nozzleDiameter: description: Diameter of nozzle in mm type: number default: 0.5 printCenter: description: Coordinates in mm of the point to center the print around type: object properties: x: type: number y: type: number default: x: 100 y: 100 zOffset: description: Additional height in mm to add to vertical coordinates type: number default: 0 GCodeFlavor: description: The type of GCode to generate default: marlin type: string enum: - reprap - marlin - teacup - makerware - sailfish - mach3 - noExtrusion useRelativeEDistances: description: Enable this to get relative E values type: boolean default: false useFirmwareRetraction: description: Enable firmwareControlled retraction using G10/G11 type: boolean default: false useVolumetricE: description: Express E in cubic millimeters and prepend M200 type: boolean default: false GCodeArcs: description: > Use G2/G3 commands for native arcs (experimental, not supported by all firmwares) type: boolean default: false g0: description: > Use G0 commands for retraction (experimental, not supported by all firmwares) type: boolean default: false GCodeComments: description: Make GCode verbose by adding comments type: boolean default: false vibrationLimit: description: > Limit the frequency of moves on x- and yAxes in Hz (set zero to disable) default: 0 type: number pressureAdvance: description: > Adjust pressure using the experimental advance algorithm (K constant, set zero to disable) type: number default: 0 # Filament Options filamentDiameter: description: Diameter in mm of your raw filament type: number default: 3 extrusionMultiplier: description: > Change this to alter the amount of plastic extruded. There should be very little need to change this value, which is only useful to compensate for filament packing type: number default: 1 temperature: description: Extrusion temperature in degree Celsius (set 0 to disable) type: number default: 200 firstLayerTemperature: description: > Extrusion temperature for the first layer in degree Celsius, (set 0 to disable) default: 200 type: number bedTemperature: description: Heated bed temperature in degree Celsius (set 0 to disable) type: number default: 0 firstLayerBedTemperature: description: > Heated bed temperature for the first layer in degree Celsius (set 0 to disable) default: 0 type: number # Speed options travelSpeed: description: Speed of non-print moves in mm/s type: number default: 130 perimeterSpeed: description: Speed of print moves for perimeters in mm/s type: number default: 30 smallPerimeterSpeed: description: > Speed of print moves for small perimeters in mm/s or % over perimeter speed oneOf: - type: number - type: string default: 30 type: number externalPerimeterSpeed: description: > Speed of print moves for the external perimeter in mm/s or % over perimeter speed oneOf: - type: number - type: string default: 70% type: number infillSpeed: description: Speed of print moves in mm/s type: number default: 60 solidInfillSpeed: description: > Speed of print moves for solid surfaces in mm/s or % over infill speed anyOf: - type: number - type: string default: 60 type: number topSolidInfillSpeed: description: > Speed of print moves for top surfaces in mm/s or % over solid infill speed anyOf: - type: number - type: string default: 50 type: number supportMaterialSpeed: description: Speed of support material print moves in mm/s type: number default: 60 supportMaterialInterfaceSpeed: description: > Speed of support material interface print moves in mm/s or % over support material speed anyOf: - type: number - type: string default: 100% type: number bridgeSpeed: description: Speed of bridge print moves in mm/s type: number default: 60 gapFillSpeed: description: Speed of gap fill print moves in mm/s type: number default: 20 firstLayerSpeed: description: > Speed of print moves for bottom layer, expressed either as an absolute value or as a percentage over normal speeds anyOf: - type: number - type: string default: 30% type: number # Acceleration Options perimeterAcceleration: description: > Overrides firmware's default acceleration for perimeters in mm/s^2 (set zero to disable) type: number default: 0 infillAcceleration: description: > Overrides firmware's default acceleration for infill in mm/s^2 (set zero to disable) type: number default: 0 bridgeAcceleration: description: > Overrides firmware's default acceleration for bridges in mm/s^2 (set zero to disable) type: number default: 0 firstLayerAcceleration: description: > Overrides firmware's default acceleration for first layer in mm/s^2 (set zero to disable) type: number default: 0 defaultAcceleration: description: > Acceleration will be reset to this value in mm/s^2 after the specific settings above have been applied. (set zero to disable). This is the acceleration your printer will be reset to after the role-specific acceleration values are used (perimeter/infill). Set zero to prevent resetting acceleration at all. type: number default: 0 # Accuracy Options: layerHeight: description: Layer height in mm type: number default: 0.4 firstLayerHeight: description: Layer height for first layer in mm or % anyOf: - type: number - type: string default: 0.35 type: number infillEveryLayers: description: Infill every N layers type: number default: 1 solidInfillEveryLayers: description: Force a solid layer every N layers type: number default: 0 # Print Options perimeters: description: Number of perimeters/horizontal skins type: number minimum: 0 default: 3 topSolidLayers: description: Number of solid layers to do for top surfaces type: number minimum: 0 default: 3 bottomSolidLayers: description: Number of solid layers to do for bottom surfaces minimum: 0 default: 3 type: number solidLayers: description: Shortcut for setting the two options above at once type: boolean fillDensity: description: Infill density type: number minimum: 0 maximum: 1 default: 0.4 fillAngle: description: Infill angle in degrees type: number minimum: 0 maximum: 90 default: 45 fillPattern: description: Pattern to use to fill nonSolid layers type: string default: honeycomb solidFillPattern: description: Pattern to use to fill solid layers type: string default: rectilinear startGCode: description: > Load initial GCode from the supplied file. This will overwrite the default command (home all axes [G28]). type: boolean endGCode: description: > Load final GCode from the supplied file. This will overwrite the default commands (turn off temperature [M104 S0], home X axis [G28 X], disable motors [M84]). type: boolean layerGCode: description: Load layer-change GCode from the supplied file type: boolean toolchangeGCode: description: Load toolChange GCode from the supplied file type: boolean seamPosition: description: Position of loop starting points enum: - random - nearest - aligned default: aligned type: string externalPerimetersFirst: description: Reverse perimeter order type: boolean default: false spiralVase: description: > Experimental option to raise Z gradually when printing singleWalled vases type: boolean default: false onlyRetractWhenCrossingPerimeters: description: > Disable retraction when travelling between infill paths inside the same island. type: boolean default: false solidInfillBelowArea: description: > Force solid infill when a region has a smaller area than this threshold in mm^2 type: number default: 70 infillOnlyWhereNeeded: description: Only infill under ceilings type: boolean default: false infillFirst: description: Make infill before perimeters type: boolean default: false # Quality options (slower slicing) extraPerimeters: description: Add more perimeters when needed type: boolean default: true avoidCrossingPerimeters: description: Optimize travel moves so that no perimeters are crossed type: boolean default: false thinWalls: description: Detect single-width walls type: boolean default: true overhangs: description: > Experimental option to use bridge flow, speed and fan for overhangs type: boolean default: true # Support material options supportMaterial: description: Generate support material for overhangs type: boolean supportMaterialThreshold: description: Overhang threshold angle (set 0 for automatic detection) type: number minimum: 0 maximum: 90 default: 0 supportMaterialPattern: description: Pattern to use for support material type: string default: pillars supportMaterialSpacing: description: Spacing between pattern lines in mm type: number default: 2.5 supportMaterialAngle: description: Support material angle in degrees type: number minimum: 0 maximum: 90 default: 0 supportMaterialInterfaceLayers: description: > Number of perpendicular layers between support material and object type: number minimum: 0 default: 3 supportMaterialInterfaceSpacing: description: > Spacing between interface pattern lines in mm (set 0 to get a solid layer) type: number default: 0 raftLayers: description: Number of layers to raise the printed objects by type: number minimum: 0 default: 0 supportMaterialEnforceLayers: description: > Enforce support material on the specified number of layers from bottom, regardless of support-material and threshold type: number minimum: 0 default: 0 dontSupportBridges: description: > Experimental option for preventing support-material from being generated under bridged areas type: boolean default: true # Retraction options: retractLength: description: Length of retraction in mm when pausing extrusion type: number default: 1 retractSpeed: description: Speed for retraction in mm/s type: number default: 30 retractRestartExtra: description: > Additional amount of filament in mm to push after compensating retraction type: number default: 0 retractBeforeTravel: description: Only retract before travel moves of this length in mm type: number default: 2 retractLift: description: Lift Z by the given distance in mm when retracting type: number default: 0 retractLayerChange: description: Enforce a retraction before each Z move type: boolean default: true wipe: description: Wipe the nozzle while doing a retraction type: boolean default: false # Retraction options for multi-extruder setups retractLengthToolchange: description: > Length of retraction in mm when disabling tool. When retraction is triggered before changing tool, filament is pulled back by the specified amount (the length is measured on raw filament, before it enters the extruder). type: number default: 10 retractRestartExtraToolchange: description: > Additional amount of filament in mm to push after switching tool type: number default: 0 # Cooling options: cooling: description: Enable fan and cooling control type: boolean minFanSpeed: description: Minimum fan speed type: number minimum: 0 maximum: 1 default: 0.35 maxFanSpeed: description: Maximum fan speed type: number minimum: 0 maximum: 1 default: 1 bridgeFanSpeed: description: Fan speed to use when bridging type: number minimum: 0 maximum: 1 default: 1 fanBelowLayerTime: description: > Enable fan if layer print time is below this approximate number of seconds type: number default: 60 slowdownBelowLayerTime: description: > Slow down if layer print time is below this approximate number of seconds type: number default: 30 minPrintSpeed: description: Minimum print speed in mm/s type: number default: 10 disableFanFirstLayers: description: Disable fan for the first n layers type: number default: 1 fanAlwaysOn: description: > Keep fan always on at min fan speed, even for layers that don't need cooling type: boolean # Skirt options: skirts: description: Number of skirts to draw type: number minimum: 0 default: 1 skirtDistance: description: Distance in mm between innermost skirt and object type: number default: 6 skirtHeight: description: Height of skirts to draw (expressed in layers) type: number minimum: 0 default: 1 minSkirtLength: description: > Generate no less than the number of loops required to consume this length of filament on the first layer, for each extruder in mm type: number minimum: 0 default: 0 brimWidth: description: > Width of the brim in mm that will get added to each object to help adhesion type: number default: 0 # Transform options: scale: description: Factor for scaling input object type: number default: 1 rotate: description: Rotation angle in degrees type: number minimum: 0 maximum: 360 default: 0 duplicate: description: Number of items with autoArrange type: number minimum: 1 default: 1 duplicateGrid: description: Number of items with grid arrangement type: string default: 1,1 duplicateDistance: description: Distance in mm between copies type: number default: 6 xySizeCompensation: description: Grow/shrink objects by the configured absolute distance in mm default: 0 # Sequential printing options completeObjects: description: > When printing multiple objects and/or copies, complete each one before starting the next one (watch out for extruder collisions) type: boolean default: false extruderClearanceRadius: description: > Radius in mm above which extruder won't collide with anything type: number default: 20 extruderClearanceHeight: description: > Maximum vertical extruder depth. I.e. vertical distance from extruder tip and carriage bottom type: number default: 20 # Miscellaneous options notes: description: Notes to be added as comments to the output file type: string default: "" resolution: description: > Minimum detail resolution in mm (set 0 for full resolution) type: number default: 0 bedSize: description: Bed size in mm (only used for auto-arrange) type: object properties: width: type: number default: 200 height: type: number default: 200 # Flow options (advanced) extrusionWidth: description: > Set extrusion width manually. It accepts either an absolute value in mm (like 0.65) or a percentage over layer height (like 200%). If left to zero, width gets calculated automatically. oneOf: - type: number - type: string default: 0 firstLayerExtrusionWidth: description: > Set a different extrusion width for first layer. When printing with very low layer heights, you might still want to print a thicker bottom layer to improve adhesion and tolerance for non perfect build plates. This can be expressed as an absolute value in mm or as a percentage (for example: 150%) over the default layer height. oneOf: - type: number - type: string default: 0 perimeterExtrusionWidth: description: > Set this to a non-zero value in mm to set a manual extrusion width for perimeters. You may want to use thinner extrudates to get more accurate surfaces. If expressed as percentage (for example 200%) it will be computed over layer height. oneOf: - type: number - type: string default: 0 externalPerimeterExtrusionWidth: description: > Set a different extrusion width for external perimeters. Set this to a non-zero value to set a manual extrusion width in mm for external perimeters. If left 0, an automatic value will be used that maximizes accuracy of the external visible surfaces. If expressed as percentage (for example 200%) it will be computed over layer height. oneOf: - type: number - type: string default: 0 infillExtrusionWidth: description: > Set a different extrusion width for infill. Set this to a non-zero value to set a manual extrusion width in mm for infill. You may want to use fatter extrudates to speed up the infill and make your parts stronger. If expressed as percentage (for example 90%) it will be computed over layer height. oneOf: - type: number - type: string default: 0 solidInfillExtrusionWidth: description: > Set a different extrusion width for solid infill. Set this to a non-zero value to set a manual extrusion width in mm for infill for solid surfaces. If expressed as percentage (for example 90%) it will be computed over layer height. oneOf: - type: number - type: string default: 0 topInfillExtrusionWidth: description: > Set a different extrusion width for top infill. Set this to a non-zero value to set a manual extrusion width in mm for infill for top surfaces. You may want to use thinner extrudates to fill all narrow regions and get a smoother finish. If expressed as percentage (for example 90%) it will be computed over layer height. oneOf: - type: number - type: string default: 0 supportMaterialExtrusionWidth: description: > Set a different extrusion width for support material. Set this to a non-zero value to set a manual extrusion width in mm for support material. If expressed as percentage (for example 90%) it will be computed over layer height. oneOf: - type: number - type: string default: 0 bridgeFlowRatio: description: > Multiplier for extrusion when bridging. This factor affects the amount of plastic for bridging. You can decrease it slightly to pull the extrudates and prevent sagging, although default settings are usually good and you should experiment with cooling (use a fan) before tweaking this. type: number minimum: 0 exclusiveMinimum: true default: 1 # Multiple extruder options: extruderOffset: description: > Offset of each extruder if firmware doesn't handle the displacement (can be specified multiple times). If your firmware doesn't handle the extruder displacement you need the G-code to take it into account. This option lets you specify the displacement of each extruder with respect to the first one. It expects positive coordinates (they will be subtracted from the XY coordinate). type: object properties: x: type: number default: 0 y: type: number default: 0 perimeterExtruder: description: Extruder to use for perimeters type: number minimum: 1 default: 1 infillExtruder: description: Extruder to use for infill type: number minimum: 1 default: 1 solidInfillExtruder: description: Extruder to use for solid infill type: number minimum: 1 default: 1 supportMaterialExtruder: description: Extruder to use for support material type: number minimum: 1 default: 1 supportMaterialInterfaceExtruder: description: Extruder to use for support material interface type: number minimum: 1 default: 1 oozePrevention: description: > Drop temperature and park extruders outside a full skirt for automatic wiping type: boolean default: false standbyTemperatureDelta: description: > Temperature difference to be applied when an extruder is not active and ooze-prevention is enabled type: number minimum: -400 maximum: 400 default: -5