Симулятор CN C с Helix Toolpath - PullRequest
       54

Симулятор CN C с Helix Toolpath

0 голосов
/ 14 апреля 2020

Мне нужно создать симулятор cn c, я использовал траекторию спирали для импорта модели и сделать некоторые преобразования, цель состоит в том, чтобы симулировать линию Gcode.

У меня есть кнопка, которая вызывает метод перемещения оси, я намеренно вызываю одно и то же движение снова и снова, мой код:

private void Button_Click(object sender, RoutedEventArgs e)
{
    MoveX(100,25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
    MoveX(100, 25000);
}


private void MoveX(double amontX , double speed)
{
    //speed = 1000; // mm/min
    double resolution = 1;
    double step = amontX/ amontX * resolution;
    double delay = (60000/speed)  ;


    while (amontX > 0)
    {
        Transform3DGroup moveX = new Transform3DGroup();
        moveX.Children.Add(axis_x.Transform);
        TranslateTransform3D position = new TranslateTransform3D(step, 0, 0);
        moveX.Children.Add(position);
        axis_x.Transform = moveX;

        amontX = amontX - 1;

        Wait(delay);
    }


}

private void Wait(double milliseconds)
{
    if (milliseconds == 0) return;
    DateTime _desired = DateTime.Now.AddMilliseconds(milliseconds);
    while (DateTime.Now < _desired)
    {
        System.Windows.Forms.Application.DoEvents();
    }

}

Проблема в том, что движение начинается хорошо, но начинает замедляться снова и снова, любая идея?

Извините, англи sh и c #, я не профессионал ни в одном

Спасибо

...