예제 #1
0
        public double MinPointSpacingMM = 0.1;          // Avoid emitting gcode extrusion points closer than this spacing.
                                                        // This is a workaround for the fact that many printers do not gracefully
                                                        // handle very tiny sequential extrusion steps. This setting could be
                                                        // configured using CalibrationModelGenerator.MakePrintStepSizeTest() with
                                                        // all other cleanup steps disabled.
                                                        // [TODO] this is actually speed-dependent...

        public override T CloneAs <T>()
        {
            FFFMachineInfo fi = new FFFMachineInfo();

            this.CopyFieldsTo(fi);
            return(fi as T);
        }
예제 #2
0
        protected virtual void CopyFieldsTo(FFFMachineInfo to)
        {
            base.CopyFieldsTo(to);

            to.NozzleDiamMM       = this.NozzleDiamMM;
            to.FilamentDiamMM     = this.FilamentDiamMM;
            to.MinLayerHeightMM   = this.MinLayerHeightMM;
            to.MaxHeightMM        = this.MaxHeightMM;
            to.MinExtruderTempC   = this.MaxExtruderTempC;
            to.HasHeatedBed       = this.HasHeatedBed;
            to.MinBedTempC        = this.MinBedTempC;
            to.MaxBedTempC        = this.MaxBedTempC;
            to.MaxExtrudeSpeedMMM = this.MaxExtrudeSpeedMMM;
            to.MaxTravelSpeedMMM  = this.MaxTravelSpeedMMM;
            to.MaxZTravelSpeedMMM = this.MaxZTravelSpeedMMM;
            to.MaxRetractSpeedMMM = this.MaxRetractSpeedMMM;
            to.MinPointSpacingMM  = this.MinPointSpacingMM;

            to.EnableAutoBedLeveling = this.EnableAutoBedLeveling;
            to.HasAutoBedLeveling    = this.HasAutoBedLeveling;

            to.ManufacturerName = this.ManufacturerName;
            to.ManufacturerUUID = this.ManufacturerUUID;
            to.ModelIdentifier  = this.ModelIdentifier;
            to.ModelUUID        = this.ModelUUID;
            to.Class            = this.Class;
            to.BedSizeXMM       = this.BedSizeXMM;
            to.BedSizeYMM       = this.BedSizeYMM;
            to.MaxHeightMM      = this.MaxHeightMM;
        }
        public BaseDepositionAssembler(GCodeBuilder useBuilder, FFFMachineInfo machineInfo)
        {
            Builder     = useBuilder;
            currentPos  = Vector3d.Zero;
            lastPos     = Vector3d.Zero;
            extruderA   = 0;
            currentFeed = 0;

            MinExtrudeStepDistance = machineInfo.MinPointSpacingMM;
        }
예제 #4
0
        public BaseDepositionAssembler(GCodeBuilder useBuilder, FFFMachineInfo machineInfo)
        {
            Builder     = useBuilder;
            currentPos  = Vector3d.Zero;
            lastPos     = Vector3d.Zero;
            extruderA   = 0;
            currentFeed = 0;

            Vector2d originRepositioning = new Vector2d(machineInfo.BedOriginFactorX, machineInfo.BedOriginFactorY);
            Vector2d bedSize             = new Vector2d(machineInfo.BedSizeXMM, machineInfo.BedSizeYMM);

            PositionShift = originRepositioning * bedSize;

            MinExtrudeStepDistance = machineInfo.MinPointSpacingMM;
        }
 public BaseMillingAssembler(GCodeBuilder useBuilder, FFFMachineInfo machineInfo)
 {
     Builder     = useBuilder;
     currentPos  = Vector3d.Zero;
     currentFeed = 0;
 }