repetier / Repetier-Host-Mac

Host programm for RepRap like 3d printer.
70 stars 35 forks source link

Gcode visualization bug #32

Open elalish opened 11 years ago

elalish commented 11 years ago

I use Repetier-host 0.53 as a gcode checker for various slicers (since you have by far the best gcode visualization I have found). It has worked great with gcodes generated by Makerware, but recently I noticed a couple of problems.

First, it works fine for Gcodes of the right extruder (T0), but with the left (T1), it no longer sees the layer separations. It can still plot the total model, but it can't look at a single layer (you still just see the whole thing).

Second, the positioning changed drastically in the latest version. Now my gcodes often end up way off the build platform (even though they print just fine). I've tried adjusting the print bed parameters, and it doesn't behave at all like I would expect. Perhaps the homing codes or something else in the default start.gcode is confusing it?

Thanks,

-Emmett

elalish commented 11 years ago

Okay, I've narrowed down on the position problem. It appears that in the dimension tab of printer settings, the Xmin and Bed Left values are switched. Changing Bed front moves the origin dot, while Ymin does not (expected behavior), but Xmin does change the origin dot and Bed left does not (weird). Also, it's confusing that when an axis limit is exceeded (that's not a homing end), the resulting positions are offset from their commands, as though the bot actually hit the edge and lost steps. It would be less confusing to position the print as commanded in the Gcode and just post a warning if something goes outside the allowed area.

repetier commented 11 years ago

I tried to follow your problem but I couldn't find anything wrong. Seperating T0/T1 layer by layer was no problem for my example (made with slic3r). If you can provide a gcode and screenshot I will review this. Might be something special to Makerware code generation that confuses the host.

Also the positioning worked as expected at least for me. Perhaps you didn't see the constrains and expected something different. So here is how it works:

xmin/max are the range the printer can reach. Inside this you have the bed with "Print Area Width" which starts at coordinate "Bed left". If BedLeft+Width>xmax then bedLeft ist reduced to make it fit.

The same goes for the y direction.