Modular Castle Kit - Lego compatible V2

by danielkschneider Feb 28, 2017
Download All Files

Thing Apps Enabled

Please Login to Comment

I'm comparing the printed 4x2 calibration piece to a real piece and they are not the same. They fit ok if you put the real piece on top of the printed piece but if you but the printed piece on top of the real one it just falls off. On the real piece the walls measure ~1.5mm but the printed one they are 1.2mm. On the real piece the width of the part is 15.8mm and the printed piece is 16mm. The inside width of the real piece is 12.7mm where as the printed piece is 13.4mm. The round pieces on the bottom of the printed piece are 6.3mm and on the real one they are 6.55mm. The nibs on the top seem to match. The nibs on the real legos interface with both the round parts on the inside of the lego as well as the inside wall of the lego. The printed parts only seem to make contact with the inner round part. This is not enough to stick with real legos, but it seems to be enough for them to kinda stick to each other. It's probably due to the layer lines making the surfaces kinda rough more so than a proper lego like fit. If you take a printed part and stack it on top of a real lego (or even another printed one) in the classic half overlap type of joint then you can wiggle the two parts back and forth and see that the nibs do not contact the inside of the walls.

I have double checked my printed part with the stl file in netfabb and it pretty much matches what the stl file measurements are. I am not an expert or even a novice at openscad so I can't even begin to be able to change this.

Incidentally, I am having a similar issue with the parts from printabrick.org. The walls are correct on the few parts I have tried there but the round pieces in the middle are not large enough. These issues don't seem to matter when trying to build with other printed blocks, but I think that has more to due with the roughness of 3d printed parts than anything else.

Hi, the problem is that most slicers will distort dimensions in one way or another. The settings were just OK for my printing. That being said, I am very puzzled that you measure 1.5mm wall in your real piece. I really got 1.2mm. 1.55 is DUPLO Size. It is true that 16mm is probably too wide and I could reduce this some day to 15.8mm. The 16mm width is explained by the fact that it was needed to create a solid 3 walls solution (PLA just breaks too easily).

I also think that the following is fairly accurate: https://www.cailliau.org/Lego/Dimensions/zMeasurements-en.xhtml and https://www.cailliau.org/Alphabetical/L/Lego/Dimensions/General%20Considerations/ (from the co-inventor of the Web)

If you do have some programming experience (e.g. back from school days), making changes to parameters in OpenScad is really easy.
https://edutechwiki.unige.ch/en/Doblo_factory#Doblo_factory_parameters. You will have to make these changes in file lib/doblo-params.scad and then open file example_castle_kit/castle_generation.scad to regenerate all the models. The scaling brick is towards the end of the code (uncomment if necessary).

Otherwise I suggest that you print with a bigger resolution than you probably do, e.g. try 2.5mm layers. Also, force your slicer to create 3 shells (walls) or tell it to create the size you want (Cura could do this)

  • greetings !

I printed the calibration piece and lego fit great on the top, but are loose connecting to the bottom. Any suggestions of things to change?

the best solution is of course to generate the models again with OpenSCAD and change the parameters.

But if you do not want to do this you will have to trick the slicer into creating bigger walls. Try any or all of the following:

  • Increase layer height
  • Create one more extra wall (vertical shells, perimeters) with respect of what you have now (e.g. 3 instead of 2, or 4 instead of 3). In some slicers, e.g. cura you also can set the wall thickness (make it 1.4mm)
  • Increase extrusion rate. Per default, PLA slicer settings are often 90% of nozzle width. Make that 100%

  • Daniel