Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var toolOffset = new Offset(0, 0, 2);
            var surfaceOffset = new Offset(0, 0, .25);
            var invertedZOffset = new Offset() { InvertZ = true };

            var combinedOffset = invertedZOffset + toolOffset + surfaceOffset;

            var workingCoordinate = new Coordinate(0, 0, -.5);

            Coordinate testCoordinate = new Coordinate(workingCoordinate.X, workingCoordinate.Y, workingCoordinate.Z);
            testCoordinate = invertedZOffset.ConvertToMachineCoordinate(testCoordinate);
            testCoordinate = toolOffset.ConvertToMachineCoordinate(testCoordinate);
            testCoordinate = surfaceOffset.ConvertToMachineCoordinate(testCoordinate);

            var worldCoordinate = combinedOffset.ConvertToMachineCoordinate(workingCoordinate);

            Console.WriteLine(worldCoordinate.Z);
            Console.WriteLine(testCoordinate.Z);

            Console.WriteLine(combinedOffset.ConvertCoordinateToWorking(worldCoordinate).Z);
            Console.ReadLine();
        }
Exemplo n.º 2
0
        public Offset CombinedWorkspaceOffset(OffsetType.GCodeIdentifiers gCodeIdentifier)
        {
            var offset = new Offset();

            var workspaceOffsets = from o in WorkspaceOffsets
                                   where o.Type.GCodeIdentifier == gCodeIdentifier && o.Active == true
                                   select o;

            foreach (var workspaceOffset in workspaceOffsets) offset += workspaceOffset;

            return offset;
        }
Exemplo n.º 3
0
        private void SetMachineWorkingOffset()
        {
            var offset = new Offset();

            if (cboWCS.SelectedItem != null)
                offset += _settings.CombinedWorkspaceOffset(((OffsetType)cboWCS.SelectedItem).GCodeIdentifier);

            if (cboToolOffsets.SelectedItem != null)
                offset += _settings.CombinedWorkspaceOffset(((OffsetType)cboToolOffsets.SelectedItem).GCodeIdentifier);

            if (chkToolLengthOffset.Checked)
                offset += _settings.CombinedWorkspaceOffset(OffsetType.GCodeIdentifiers.G43);

            _machine.WorkingOffset = offset;
            UpdateCurrentPositionDisplay();
        }
Exemplo n.º 4
0
        private void SetMachineWorkingOffset()
        {
            var offset = new Offset();

            offset += _machine.Settings.CombinedWorkspaceOffset(WorkspaceOffset);
            offset += _machine.Settings.CombinedWorkspaceOffset(ToolOffset);
            if (ToolLengthCompensation) offset += _machine.Settings.CombinedWorkspaceOffset(OffsetType.GCodeIdentifiers.G43);

            _machine.WorkingOffset = offset;
        }
Exemplo n.º 5
0
        /// <summary>
        /// Temporarily disables any working offsets if we are in G53 mode
        /// </summary>
        private void BeforeMoveSetMCS()
        {
            if (!_oneTimeMachineCoordinateSystem) return;

            _machineOffsetHold = _machine.WorkingOffset;
            _machine.WorkingOffset = null;
        }
Exemplo n.º 6
0
        /// <summary>
        /// Restores working offsets if we just moved in G53 mode
        /// </summary>
        private void AfterMoveRevertMCS()
        {
            if (!_oneTimeMachineCoordinateSystem) return;

            _machine.WorkingOffset = _machineOffsetHold;
            _machineOffsetHold = null;
            _oneTimeMachineCoordinateSystem = false;
        }