Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fusion "no motion mode active" G28 G91 Z0 #166

Open
Levi--G opened this issue May 15, 2022 · 3 comments
Open

Fusion "no motion mode active" G28 G91 Z0 #166

Levi--G opened this issue May 15, 2022 · 3 comments

Comments

@Levi--G
Copy link

Levi--G commented May 15, 2022

Hi, :)
First: Wonderful project! :D

Im trying to send a fusion360 generated file to openCNCPilot, im getting "no motion mode active" in the parser on the line G28 G91 Z0.
I think it is because it doesn't support the Z-only homing yet with G28? is it possible to add that?

Thanks! <3

@martin2250
Copy link
Owner

Hi Levi,

thanks! :)

Yeah, there is no direct support for G28 (also G53, or any other coordinate systems). I also like to have something like "G53 G0 Z-1" at the end of my Fusion G-Code, which gives me the same warning.

Supporting different coordinate systems is not something I plan on adding, since it doesn't make sense to change coordinate systems during PCB milling and it would be a lot of work.

That said, this warning doesn't stop you from running the g-code as it is, you just can't use the editing functions and height maps. If you want to use height maps, you'll have to change the line to not use G28.

Cheers!
Martin

@Levi--G
Copy link
Author

Levi--G commented May 16, 2022

Hi Martin,

Ofcourse i get that :) the main issue for me is the previewing also doesn't work with the error, which is kindof a bummer since i really like that about OpenCNCPilot. :D
For now i compiled my own version with this in the parser:
´´´
if (line == "G28 G91 Z0")
{
var EndPos2 = new Vector3(State.Position.X, State.Position.Y, 0);
State.PositionValid[2] = true;
Line motion = new Line();
motion.Start = State.Position;
motion.End = EndPos2;
motion.Feed = State.Feed;
motion.Rapid = true;
motion.LineNumber = lineNumber;
motion.StartValid = State.PositionValid.All(isValid => isValid);
State.PositionValid.CopyTo(motion.PositionValid, 0);
Commands.Add(motion);
State.Position = EndPos2;
return;
}
´´´
But ofcourse that is very hacky... Would it instead be a possibility to add a series of lines to ignore in the parser as a part of the program settings? so i can use the normal version? :) or even exchange them just for the parsing, but send the original to the cnc? Just some ideas...

Friendly regards,
Levi

@martin2250
Copy link
Owner

I think I did something similar in the https://github.com/martin2250/OpenCNCPilot/compare/passthrough branch. Not sure why it is abandoned... I can look into this some time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants