I agree, only I haven’t heard yet from anybody that they have exact dimensions from their X1Cs. Maybe I missed them.
I fully agree. In my opinion, the current implementation of hole compensation in all slicers is not useful. I think instead of looking for holes, they should look for concave walls and compensate based on curvature or something like that.
Right now if you have a vertical hole or the same hole with a slit, the first gets affected by hole compensation and the other doesn’t. That makes zero sense to me.
I just accept those shrinking inner holes as a shortcoming of FDM technology that doesn’t have a ready made solution yet and I have to respect that in my design.
I haven’t observed yet too small cylinders but try that in the next days.
Sorry for the harsh words, but adjusting shrinkage in Orca to make a 30mm cube the right size is a terrible idea. You should use a model that is as big as you can print and measure to reduce influence from other errors, especially over/under extrusion and measurement errors. E.g. if your measurement of the cube is off by 0,03mm (which is not as easy as it seems to achieve reliably), then a 250mm print will be off by 0,25mm.
The size of the cube does not matter in this case, I meant matching the axle and bearing sockets, by the way, this model shows a problem. After printing, the cube is 30x30mm, but the axis and socket are too small
Does any meaningful improvement in this situation result from enabling “Precise Walls” and setting “Inner/Outer/Inner” as the wall printing order (and consequently setting a minimum of 3 wall loops to accomplish that)? The in-line documentation seems to imply there would be some benefit.
Normally I would just try-it and see, but at the moment my extruder is jammed (first time ever), so I’ve got that lovely repair ahead of me.
It seems, or I may have missed it, that no one is adding skewness correction within the firmware and is instead using the slicer settings for calibration.
Please follow the procedure below if you still have problems and are willing to implement the official skewness correction into the printer firmware.
I assume that everyone interested in this thread is comfortable changing the printer start g-code. If not, let me know, and I will provide further details.
Has anyone used a dial indicator to verify that the print head is moving the proper distance? This would eliminate any discrepancies with filament shrinkage, etc.
On my old Ender 3 S1Pro, I had a setup for a dial indicator to measure distance traveled and used math to calculate the proper steps for the X, Y, Z axis. I’m not sure how to mount a dial indicator on a core XY to figure it out.
This has been my experience. Precise wall and Wall Order don’t do much to change dimensions, they seem to effect finish and wall quality. Here’s a discussion about the feature.
This is extremely useful and should be freely available on the wiki. Thank you. After going a long series of corrections to the printer I used this and got 80.00X and 79.78Y (before compensation). Not great, not terrible. This compensation you posted worked well and was within 0.01 between measurements. For now I’ll use the slicer based skew correction, but eventually this will require gantry squaring work.
Quick update on my X1C. I popped open the printer and found a few issues:
One of the bearings on the linear rail was slightly out of alignment. I gently pressed it back into place.
Every single belt was riding entirely on one side of its tensioner and one belt was significantly looser than the other. I re-tensioned and centered the belts.
While watching a print I could see the bed rising and falling on the same layer as part of the bed leveling compensation. The bed was so out of level that I could see a tilt with the naked eye. I ran the bed tramming procedure and used a feeler gauge to set things right.
Now that the machine has been given a mechanical tune up, I’m seeing shrinkage numbers reduce from ~0.5% to <0.2% which is inline with what others have posted. Frankly I think this is completely unacceptable quality control but am happy enough with the accuracy to put the printer to work.
My first machine (that I returned) had so much bearing chatter on the left side that it wore off the finish on the smooth rod regardless of my efforts to clean and oil the rod/bearings. My second machine has bearing chatter on the right side, but not as bad as the first printer I had. I aligned the belt pulleys, squared them up, but it still has chatter at higher speeds, especially on circular prints… I also found metal shavings in the right side bearing on the second day of use when I noticed the chatter and went to clean/oil the rods.
For most of us plebs dimensional accuracy is fine. This is a mass produced retail machine designed to be operated by the general public with relative ease. It has to print a variety of materials with very basic calibration, basically slap a spool in and select the material full, send it! It’s a great printer that copes pretty well with complex prints and doesn’t look too out of place in the office or the craft room. I’d say they read the assignment.
One of the advertised benefits of the X1+ alternate firmware is that it will show you all the bed probe measurements, so then you’ll know just how far out of level it really is. Alternatively, if you manage to hook up a dial indicator to the printhead (similar to Nebur 's illustration above) as it collects the array of offset measurements, then you could find out that way. For that approach, you might want to use a digital dial indicator that can emit telemetry or logs to a file as the data gets collected.
On a different topic: there’s a guy named Nero on youtube who does a lot of voron and core-xy builds, and he talks a lot about all things related to those kinds of prints as he’s doing the builds. Purely by chance I was listening when I heard him mention that skewing is a common problem in core-xy printers because the belts are under tension, which results in a racking of the frame. If Nero is right in that assessment and if that’s one of the main root causes of the skewing, then I’m guessing it’s going to be more challenging to correct (maybe the fix involves making the frame a lot more sturdy?) than if it were just a simple misalignment without the accompanying belt tension. Anyone have any thoughts on that?
So I’ve played with this for a huge amount of time, doing exactly what you’ve shown here in clear detail. Simply printing the “Orca Tolerance” test model via orcaslicer. When it comes to “square” holes the slicer is only able to read such as a “Contour” which it is indefinitely but doesn’t factor in the correct way of compensating the contour either.
So basically it’s 2 features tied into 1 versus the “XY Contour” simply controlling the outside perimeters and the “XY Hole” controlling inside perimeters.
When it comes to CNC machining all cutting tools such as endmills that rough cut a square block of aluminum or such. Will have compensation factor in the form of either “Cutter - tool” comp. or “based on actual tool diameter”. Being as printing only has [1] tool being the nozzle it shouldn’t have an issue with being compensated. So what I’m noticing is the issue lies with the slicers not having the correct comp. implemented or the fact it’s not coded out to perform the way it should be which would implement “Skew” into the X-Y as well not only 2 axis.
I’ve wanted to sit with this more and do some more digging into the compiled source code because it seems to not compensate squares/or polygons on ID’s as a hole so it’ll follow only contour comp. Very frustrating indeed but I do know it can be done correctly just have to figure out what the moves are when performing the arc’s and linear moves. Right now the comps are only adjusting line widths , not positive if its using nozzle centerline or if toolhead center would be better…
I have printed and measured the linked cube, but I reduced Z size by 50%. Don’t see any gain in the height. I used ColorFabb PLA regrind. In the material profile, shrinkage is compensated (99,74%). Any other geometric compensation values are 0. First test is with default speeds (300 inner wall, 200 outer wall, …).
the shrinkage compensation in OrcaSlicer seems to work great (didn’t check it yet ) So good, that surface quality, corner quality, surface features etc. dominate deviations in my opinion.
the hole is more accurate than I am used to from other printers. I’m used to holes that are undersized by ~ 0,2mm typically.
the post indeed is a little bit undersized. I will repeat that test on a Prusa mini and an Ultimaker S5 tomorrow at work.
I have seen far worse deviations from the ideal model than this in much more expensive printers.
For high precision details, I needed mechanical post processing with my old printers and I need it with this printer. FDM is not a high precision manufacturing method.
I feel confirmed, that introducing an offset based on curvature in slicers could further improve precision of 3D printed parts. It might be the better alternative to X-Y hole compensation and could also improve outside rounded shapes.
Until then, I don’t have any pain to respect shortcomings of the manufacturing method in the design. Those are only very few anyway compared to many other manufacturing methods that I have to do with.
I think, the main incentive for the BambuLab printers are
high speed while maintaining quality,
AMS that works very well,
ability to print technical materials,
state of the art feature set including runout sensor, bed leveling and homing with load cell, good Z gantry (why the hell was two rods and a lead screw at the back state of the art for so long?), CoreXY
a bunch of innovative candies like Lidar, build plate recognition, seamless cloud syncing between printer and different computers, and some more.
Even if accuracy was worse than other printers (which I still don’t see), I would buy it again in a blink, as long as there is a way to handle it. That means, the printer should do what it does consistently. I feel this absolutely the case. Every tool has some weaknesses that you have to overcome.
The manual adjustment in the design is really no big deal. For most of my technical designs, I do test prints of some selected features anyway, mainly to correct my design mistakes before the full print At that occasion, I also check critical dimensions and adjust them for the next run.
So I still don’t understand, where the expectation of a certain accuracy is coming from and consequently causes so much upset. It is not like BambuLab are violating a specification or industry standard.
A dial test indicator doesn’t have enough travel to get proper measurements. A dial indicator is required so you can enough travel to see if 10mm of movement is actually 10mm of movement.
The one difficulty I realized is that you have to measure the diagonal movements to isolate the X motor and the Y motor to verify which one is has improper steps/mm. Because a movement from “Left to right” on the print bed, is a combined movement of both motors in a Core XY setup. A bed slinger X is X, Y is Y, Z is Z.
Now for something interesting… Before I purchased my X1C, I contacted the Pre-Sales department with the following:
I have a question about accuracy of the X, Y, Z axis.
I know in Marlin Firmware; one is able to fine tune the stepper motor steps, and BACKLASH to ensure dimensional accuracy of printed engineering parts. I am wondering if the X1C (or any of your printers) in its firmware and in the calibration process can calculate the stepper motor steps in ALL axes (X, Y, Z), and to what tolerance? Also, can backlash (again in all axes X, Y, Z) be calculated in the calibration process and enabled?
If it isn’t done automatically, can the end user calculate the steps (using a dial indicator and math), and backlash (using a dial or dial test indicator) and enable such features.
Also, to what tolerances (±0.1, ±0.01, ±0.001mm) can be achieved on each axis?
To which the reply was:
Our firmware does calculate the stepper motor steps in all axes and backlash is also calculated and accounted for. Unfortunately, due to the closed nature of the firmware, we are unable to provide the measured tolerances or how the calculations are derived.
There is no facility for manual calibration of these parts, it is done on the printer automatically.
I think there’s a little irony complaining about tolerances when a lot of these people are using a set of vernier calipers bought off amazon to measure. I mean I could breath on these things and get .5mm variance
Please, let us not throw cold water on this enterprise, especially now that it’s gaining momentum. The way I see it, these guys are doing the non-trivial work of solving the problem, and if they succeed the potential benefits will accrue to everybody. You may not need that capability yourself right now, but someday you might, and then you’ll be glad for it.
Admittedly the pressure used here on a shaft with no give was mildly more than I would consider nice and akin to a dodgy butcher with his finger on the scale while weighing. I could probably make the reading what I wanted on a cube simply introducing a littel skew, its hardly a perfect measurement. A micrometer on the other hand would be what I consider more accurate in this matter, though if used incorrectly can introduce a variance.
The point? Devils advocate I suppose… I wasn’t denying that your machine or others have inaccuracies, far from it, just putting forward my view that a printer capable of being used in so many ways and made in certain way for a price is not going to be accurate in the tolerances you are expecting.
Finally. This is a public forum, I have interest in the topic still and have a viewpoint. I stand by it.
I guess this is me (though i can’t remember the last one I did