Thanks Thanks:  1
Likes Likes:  0
Dislikes Dislikes:  0
Results 1 to 7 of 7
  1. #1
    3D Printer Noob
    Join Date
    Feb 2017
    Posts
    8
    Post Thanks / Like

    Infill pattern oddness

    So, I finally tried extracting gcode from a Cube software generated file. I'm a teacher, and am having the students compare output from a Cube 3 with a FlashForge Dreamer (some groups are making other comparisons, but that's neither here nor there). Anyway, I noticed that the 'hollow' setting seems to use a lot more material than the 'strong' setting. This is also supported by the time and material usage amounts, which seems completely backwards... has anyone else seen this? Going left to right, this is the 'solid', 'hollow', and 'strong' settings, all with hex pattern.

    cube 3 solid infill.JPGcube 3 hollow infill.JPGcube 3 strong infill.JPG

    Cube - hollow 8:11 125.81 g
    Cube- strong 4:55 74.23 g
    Cube - solid 5:33 118.3 g


    The mass of filament used also seems to be 2x as high as actually used, as well. Haven't confirmed that bit yet, though.

    So, anyone else see similar results?

    Thanks,
    Gary

  2. Thanks bolsoncerrado thanked for this post
  3. #2
    Administrator bolsoncerrado's Avatar
    Join Date
    Nov 2014
    Posts
    3,216
    Post Thanks / Like
    Interesting findings indeed.... Yet more buggy over and over! Misslabeled software options? hehe

  4. #3
    Super Moderator
    Join Date
    Nov 2016
    Posts
    2,069
    Post Thanks / Like
    These are settings in the config files, yes. You can change them in CubePro. Honeycomb infill is a true wall geometry. So the more area, the more materials.

    I haven't dug into these very deep. I know that almost solid is problematic considering the walls don't actually merge to each other. And I find very little difference between strong and not strong. Diamond and cross infill are certainly more efficient.

    I really want to get to the bottom of modifying the underlying slicer settings by changing the config files. That has been done! And I've decompiled and recompiled an unchanged config file and it came out identical so there is hope in this direction.

    Here is what to look for that may or may not exist in other slicers... ever notice how Cubify prints have those small "support shelves" just inside the wall layers? This makes Cubify prints very strong! I haven't seen anything like it in Cura, for instance.

    If you install CubePro, it will read Cube3 prints once you remove the image code from the end of the file. That way you can evaluate the file layer by layer.

  5. #4
    3D Printer Noob
    Join Date
    Feb 2017
    Posts
    8
    Post Thanks / Like
    Ah - I haven't tried looking at them in CubePro. I just used the little decoder utility that someone wrote to extract the gcode, and looked at it with a viewer that runs in web browser.
    Seconding the crap quality of the 'solid' setting - we are testing using a 3-point bending test, and the outer layers of the solid delaminate with very little force applied
    What just struck me was the visual difference between hollow and strong - pretty obviously more material being used in the hollow, which is totally not what I, or the kids for that matter, expected.

    Thanks for the input!
    GD

  6. #5
    Super Moderator
    Join Date
    Nov 2016
    Posts
    2,069
    Post Thanks / Like
    Care to share that web browser for the gcode? The decoder you found is likely the same as I've been using.

    Now here is an interesting challenge beyond the current state:
    The decoder should be able to decode V1.87 of CubePro. V2.02 does not decode as yet.
    I am really interested in getting that up to date.

    What I am getting at is that CubePro has many more options than Cube3.
    It also does better of merging inner walls to outer walls.
    And you can manage much more stuff in general... all the things we wish we had in Cube3.

    Now, if you can match the slicer to Cube3 settings, you have a whole new set of commands to generate print files.
    Change out the header and footer and recompile. I've gone the other way with that and it was pretty interesting.
    One of the neat features is that CubePro comes with Cube3 config files. The app just doesn't let you access them.

    Another fun trick is to try to dial Cura for a Cube3 profile.
    They have a BFB printer type they support and it is pretty much true to the original 3D Systems BFB printer.
    A couple of notes apply but in general, it is a great starting point.

    To what end are you and your students looking into this?

    - - - - - - - - - -

    Your findings are certainly strange. I tested this with a 4" sphere...

    Hollow:
    hollow_sphere.PNG

    Strong:
    strong_sphere.PNG

    Almost solid:
    solid_sphere.PNG

    This suggests they mixed up the two configs sections in the build config.

    - - - - - - - - - -

    Considering I rarely use the honeycomb pattern, this definitely escaped my notice.

    Now you got me curious... it is a pretty large matrix to test them all.

    These were 192.5um (200um).

    Finding errors in the config files is not unheard of. They exist!

    - - - - - - - - - -

    This more as to what i would expect to see... this is the Ekocycle output on the same file:

    Hollow:
    Ekocycle_hollow.PNG

    Strong:
    Ekocycle_strong.PNG

    Almost solid:
    Ekocycle_solid.PNG

    This is certainly fixable in the config files.

    Again, it appears they forgot to make the strong stronger. Pretty messy, I agree!

    - - - - - - - - - -

    So here is the comparable file that seems to manage all this:
    Note that each setting has a comparable matrix to the menu choices.
    These are the two config sections from the images above for comparison.
    PLA and PETG (RPET) at 200um layer setting.

    PLA_CUBE_3_200 RPET_CUBE_3_200
    Hollow Hollow
    CUBE_LAYER_THICKNESS 0.1925 0.1925 CUBE_LAYER_THICKNESS
    ShrinkFactorX 1 1.001 ShrinkFactorX
    ShrinkFactorY 1 1.001 ShrinkFactorY
    ShrinkFactorZ 1 1 ShrinkFactorZ
    NumberOfSkinsDB 3 3 NumberOfSkinsDB
    NumberOfSkinsUB 4 7 NumberOfSkinsUB
    RemoveOverhangRegions TRUE TRUE RemoveOverhangRegions
    OverhangRegionThresholdMM 2 2 OverhangRegionThresholdMM
    CUBE_AUTO_PLACE_XSPACING 0.25 0.25 CUBE_AUTO_PLACE_XSPACING
    CUBE_AUTO_PLACE_YSPACING 0.25 0.25 CUBE_AUTO_PLACE_YSPACING
    MultipleBoundersOffset 0.5 0.45 MultipleBoundersOffset
    MultipleBoundaries 1 1 MultipleBoundaries
    LineWidthCompensation 0.21 0.167 LineWidthCompensation
    RandomizePolylists FALSE FALSE RandomizePolylists
    SupportStyleFile supportPLA200.srg supportRPET200.srg SupportStyleFile
    SupportStyleFilePLAonFLX supportPLAonFLX.srg
    CUBE_HATCH_PATTERN 1 1 CUBE_HATCH_PATTERN
    Hatch_0_Spacing 2 4 Hatch_0_Spacing
    Hatch_1_Spacing 8 8 Hatch_1_Spacing
    Hatch_2_Spacing 8 8 Hatch_2_Spacing
    ReverseBorderOrder TRUE TRUE ReverseBorderOrder
    DiamondLayers 0 0 DiamondLayers
    FractureDepth 2.25 2.25 FractureDepth
    FractureOffset 0.45 0.55 FractureOffset
    SkirtDistance 8 8 SkirtDistance
    SkirtLayers 2 2 SkirtLayers
    SkirtOffset 0.25 0.25 SkirtOffset
    WSS_Zoffset 0 0 WSS_Zoffset
    /Hollow /Hollow
    Strong Strong
    CUBE_LAYER_THICKNESS 0.1925 0.1925 CUBE_LAYER_THICKNESS
    ShrinkFactorX 1 1.001 ShrinkFactorX
    ShrinkFactorY 1 1.001 ShrinkFactorY
    ShrinkFactorZ 1 1 ShrinkFactorZ
    NumberOfSkinsDB 3 3 NumberOfSkinsDB
    NumberOfSkinsUB 4 4 NumberOfSkinsUB
    RemoveOverhangRegions TRUE TRUE RemoveOverhangRegions
    OverhangRegionThresholdMM 2 2 OverhangRegionThresholdMM
    CUBE_AUTO_PLACE_XSPACING 0.25 0.25 CUBE_AUTO_PLACE_XSPACING
    CUBE_AUTO_PLACE_YSPACING 0.25 0.25 CUBE_AUTO_PLACE_YSPACING
    MultipleBoundersOffset 0.5 0.45 MultipleBoundersOffset
    MultipleBoundaries 1 1 MultipleBoundaries
    LineWidthCompensation 0.21 0.167 LineWidthCompensation
    RandomizePolylists FALSE FALSE RandomizePolylists
    SupportStyleFile supportPLA200.srg supportRPET200.srg SupportStyleFile
    SupportStyleFilePLAonFLX supportPLAonFLX.srg
    CUBE_HATCH_PATTERN 1 1 CUBE_HATCH_PATTERN
    Hatch_0_Spacing 4 4 Hatch_0_Spacing
    Hatch_1_Spacing 5 4 Hatch_1_Spacing
    Hatch_2_Spacing 6 6 Hatch_2_Spacing
    ReverseBorderOrder TRUE TRUE ReverseBorderOrder
    DiamondLayers 0 0 DiamondLayers
    FractureDepth 2.25 2.25 FractureDepth
    FractureOffset 0.45 0.55 FractureOffset
    SkirtDistance 8 8 SkirtDistance
    SkirtLayers 2 2 SkirtLayers
    SkirtOffset 0.25 0.25 SkirtOffset
    WSS_Zoffset 0 0 WSS_Zoffset
    /Strong /Strong
    Solid Solid
    CUBE_LAYER_THICKNESS 0.1925 0.1925 CUBE_LAYER_THICKNESS
    ShrinkFactorX 1 1.001 ShrinkFactorX
    ShrinkFactorY 1 1.001 ShrinkFactorY
    ShrinkFactorZ 1 1 ShrinkFactorZ
    NumberOfSkinsDB 3 5 NumberOfSkinsDB
    NumberOfSkinsUB 4 5 NumberOfSkinsUB
    RemoveOverhangRegions TRUE TRUE RemoveOverhangRegions
    OverhangRegionThresholdMM 2 2 OverhangRegionThresholdMM
    CUBE_AUTO_PLACE_XSPACING 0.25 0.25 CUBE_AUTO_PLACE_XSPACING
    CUBE_AUTO_PLACE_YSPACING 0.25 0.25 CUBE_AUTO_PLACE_YSPACING
    MultipleBoundersOffset 0.5 0.45 MultipleBoundersOffset
    MultipleBoundaries 4 4 MultipleBoundaries
    LineWidthCompensation 0.21 0.167 LineWidthCompensation
    RandomizePolylists FALSE FALSE RandomizePolylists
    SupportStyleFile supportPLA200.srg supportRPET200.srg SupportStyleFile
    SupportStyleFilePLAonFLX supportPLAonFLX.srg
    CUBE_HATCH_PATTERN 1 1 CUBE_HATCH_PATTERN
    Hatch_0_Spacing 3 2 Hatch_0_Spacing
    Hatch_1_Spacing 3 2 Hatch_1_Spacing
    Hatch_2_Spacing 5 3 Hatch_2_Spacing
    ReverseBorderOrder TRUE TRUE ReverseBorderOrder
    DiamondLayers 0 0 DiamondLayers
    FractureDepth 2.25 2.25 FractureDepth
    FractureOffset 0.45 0.55 FractureOffset
    SkirtDistance 8 8 SkirtDistance
    SkirtLayers 2 2 SkirtLayers
    SkirtOffset 0.25 0.25 SkirtOffset
    WSS_Zoffset 0 0 WSS_Zoffset
    /Solid /Solid
    /PLA_CUBE_3_200 /RPET_CUBE_3_200

  7. #6
    3D Printer Noob
    Join Date
    Feb 2017
    Posts
    8
    Post Thanks / Like
    For visualizing gcode - there are a bunch out there - the one I happen to have bookmarked is http://gcode.ws/ - it is pretty fast and stable.
    After looking at your tests, it makes me wonder if it is some kind of error in honeycomb vs. diamonds vs cross. We used the honeycomb pattern because it's a close match to the hexagonal pattern that is the default in the FlashForge slicer.
    In terms of 'goals' - this is an experimental methods class - they are juniors, getting ready to start a year-long senior research project. So, junior year, they rotate between different types of projects, to help decide what they want to do for senior year. We do background research, and then look at the equipment I have available, and decide on variables to test. I have structure testers from Vernier - they make all kinds of data collection stuff for schools - we can do 3 point bending very easily and repeatably. So they get a good cross-section of the process, from designing the experiment to analyzing the data and looking for trends.
    This was the first quarter that anyone was interested in comparing output from the two different brands of printers. I have rectangular beams that are my 'standard' test specimen, that are fairly quick and reliable prints. Since the FlashForge file is un-encrypted gcode, using the viewer is a good way to get diagrams that the kids can use in presentations and final posters. That led me to decrypting the Cube3 files, and then realizing the programming error

    So, not really an earth-shaking discovery, but a neat offshoot of our research. A little something more for them to talk about in their final summaries.

    GD

  8. #7
    Super Moderator
    Join Date
    Nov 2016
    Posts
    2,069
    Post Thanks / Like
    Way cool! Thanks for sharing that. As you can see, I have my hands full of understanding all those lack-of-definitions in the config files.

    Love to see kids learning cool stuff too!

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •