Documentation ¶
Overview ¶
Package uv3dp is a set of tools for data exchange between UV Resin based 3D printers
Index ¶
- Constants
- Variables
- func FormatterUsage()
- func PrintDuration(p Printable) (duration time.Duration)
- func RegisterFormatter(suffix string, newFormatter NewFormatter)
- func RegisterMachine(name string, machine Machine, extension string, args ...string) (err error)
- func RegisterMachines(machineMap map[string]Machine, extension string, args ...string) (err error)
- func SetProgress(prog Progressor)
- func WithAllLayers(p Printable, do func(p Printable, n int))
- func WithEachLayer(p Printable, do func(p Printable, n int))
- type Bottom
- type DecimatedPrintable
- type Exposure
- type Format
- type Formatter
- type Machine
- type MachineFormat
- type MachineSize
- type NewFormatter
- type PreviewType
- type Print
- type Printable
- type Progress
- type Progressor
- type Properties
- func (prop *Properties) Bounds() image.Rectangle
- func (prop *Properties) GetMetadataUint8(attr string, defValue uint8) (value uint8)
- func (prop *Properties) LayerExposure(index int) (exposure Exposure)
- func (prop *Properties) LayerZ(index int) (z float32)
- func (prop *Properties) MetadataKeys() (keys []string)
- type Reader
- type Size
- type SizeMillimeter
- type Writer
Constants ¶
View Source
const ( PreviewTypeTiny = PreviewType(iota) PreviewTypeHuge )
Variables ¶
View Source
var (
MachineFormats = map[string](*MachineFormat){}
)
Functions ¶
func FormatterUsage ¶
func FormatterUsage()
func PrintDuration ¶
Get the total print time for a printable
func RegisterFormatter ¶
func RegisterFormatter(suffix string, newFormatter NewFormatter)
func RegisterMachine ¶
func RegisterMachines ¶
func SetProgress ¶
func SetProgress(prog Progressor)
func WithAllLayers ¶
WithAllLayers executes a function in parallel over all of the layers
func WithEachLayer ¶
WithEachLayer executes a function in over all of the layers, serially (but possibly out of order)
Types ¶
type Bottom ¶
type Bottom struct { Exposure // Exposure Count int // Number of bottom layers Transition int // Number of transition layers above the bottom layer }
Bottom layer exposure
type DecimatedPrintable ¶
type DecimatedPrintable struct { Printable Passes int // Number of passes of decimation FirstLayer int // First layer to start decimating Layers int // Count of layers to decimate }
func NewDecimatedPrintable ¶
func NewDecimatedPrintable(printable Printable) (dp *DecimatedPrintable)
func (*DecimatedPrintable) LayerImage ¶
func (dec *DecimatedPrintable) LayerImage(index int) (ig *image.Gray)
type Exposure ¶
type Exposure struct { LightOnTime float32 // Exposure time LightOffTime float32 // Cool down time LightPWM uint8 `json:",omitempty"` // PWM from 1..255 LiftHeight float32 // mm LiftSpeed float32 // mm/min RetractHeight float32 `json:",omitempty"` // mm RetractSpeed float32 `json:",omitempty"` // mm/min }
Per-layer exposure
type Format ¶
func (*Format) SetPrintable ¶
Write writes a printable to the file format
type Formatter ¶
type Formatter interface { Parse(args []string) (err error) Parsed() bool Args() (args []string) NArg() int PrintDefaults() Decode(reader Reader, size int64) (printable Printable, err error) Encode(writer Writer, printable Printable) (err error) }
Printable file format
type Machine ¶
type Machine struct { Vendor string Model string Size MachineSize }
type MachineFormat ¶
type MachineSize ¶
type NewFormatter ¶
Printable to file format
type PreviewType ¶
type PreviewType uint
type Print ¶
type Print struct {
Properties
}
func NewEmptyPrintable ¶
func NewEmptyPrintable(prop Properties) (p *Print)
type Progress ¶
type Progress struct { Progressor Completed chan struct{} Done chan struct{} }
func NewProgress ¶
type Progressor ¶
type Progressor interface { Show(percent float32) Stop() }
type Properties ¶
type Properties struct { Size Size Exposure Exposure Bottom Bottom Preview map[PreviewType]image.Image `json:",omitempty"` Metadata map[string](interface{}) `json:",omitempty"` }
func (*Properties) GetMetadataUint8 ¶
func (prop *Properties) GetMetadataUint8(attr string, defValue uint8) (value uint8)
Get metadata
func (*Properties) LayerExposure ¶
func (prop *Properties) LayerExposure(index int) (exposure Exposure)
Exposure gets the default exposure by layer index
func (*Properties) LayerZ ¶
func (prop *Properties) LayerZ(index int) (z float32)
Z get the default Z height at a layer index
func (*Properties) MetadataKeys ¶
func (prop *Properties) MetadataKeys() (keys []string)
type Size ¶
type Size struct {
X, Y int // Printable size in pixels (x,y)
Millimeter SizeMillimeter // Printable size in mm
Layers int
LayerHeight float32 // Height of an individual layer
}
type SizeMillimeter ¶
type SizeMillimeter struct {
X, Y float32
}
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package cbddlp handle input and output of Chitubox DLP/LCD printables
|
Package cbddlp handle input and output of Chitubox DLP/LCD printables |
cmd
|
|
Package ctb handle input and output of Chitubox DLP/LCD printables
|
Package ctb handle input and output of Chitubox DLP/LCD printables |
Package cws handles input and output of NOVA32 CWS printables
|
Package cws handles input and output of NOVA32 CWS printables |
Package 'czip' handles ChiTuBox '.zip' printers (ie Kelant S400 and Phrozen Shuffle)
|
Package 'czip' handles ChiTuBox '.zip' printers (ie Kelant S400 and Phrozen Shuffle) |
Package fdg handle input and output of Voxelab Polaris printers
|
Package fdg handle input and output of Voxelab Polaris printers |
Package lgs handles input and output of Longer Orange 10 print files
|
Package lgs handles input and output of Longer Orange 10 print files |
Package ctb handle input and output of Chitubox DLP/LCD printables
|
Package ctb handle input and output of Chitubox DLP/LCD printables |
Package pws handles input and output of Anycubic Photons 2.0 (.pws) printables
|
Package pws handles input and output of Anycubic Photons 2.0 (.pws) printables |
Package sl1 handles input and output of Prusa SL1 DLP/LCD printables
|
Package sl1 handles input and output of Prusa SL1 DLP/LCD printables |
Package uvj handles input and output of UV3DP 'generic' zip files (JSON slice description and images)
|
Package uvj handles input and output of UV3DP 'generic' zip files (JSON slice description and images) |
Package zcodex handles input and output of Prusa SL1 DLP/LCD printables
|
Package zcodex handles input and output of Prusa SL1 DLP/LCD printables |
Click to show internal directories.
Click to hide internal directories.