• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

IDEX BOTH ON CORE XY

Scheduled Pinned Locked Moved
MultiAxis Printing
7
67
8.3k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    dwuk3d @dwuk3d
    last edited by dwuk3d 19 Dec 2024, 17:30

    @dwuk Belt Routing Animation created.

    18EAC2F4-224D-49E9-BABD-461C762E2BDB_1_201_a.jpeg

    IDEX Part 8 - Belt Routing Demo

    undefined 1 Reply Last reply 20 Dec 2024, 15:28 Reply Quote 0
    • undefined
      dwuk3d @dwuk3d
      last edited by dwuk3d 20 Dec 2024, 15:28

      @dwuk Made some good progress today on a basic gcode post processor to segment prints into the 4 sections that are going to be required for parallel printing.

      The challenges were
      a) Extruded Lines going out or coming in to segment
      b) Extruded Lines passing both in and out of the segment
      c). G2/G3 Arcs

      Took sliced gcode file of this
      Screenshot 2024-12-20 at 15.07.04.png

      And sliced out just one section
      Screenshot 2024-12-20 at 15.06.25.png

      Another example for a more complex model
      Screenshot 2024-12-20 at 15.11.41.png

      Screenshot 2024-12-20 at 15.12.33.png

      Screenshot 2024-12-20 at 15.13.20.png

      Screenshot 2024-12-20 at 15.13.30.png

      Remaining challenges before moving on to slicing the whole 4 sections and reording the gcode within each layer to do 2 of each of the sections in parallel on the front and rear gantry extruders.

      Performance is fairly slow due to the low tech approach I have taken to arcs - which is to segment them into tiny line sections and treat them the same as lines - as the maths for splitting circles into up to 4 smaller sections where they intersect the border of each section got too difficult.

      Another issue is travel moves around the cut off borders - the issue is fairly clear in this screenshot. - This will be a particular issue when printing sections that ajoin a layer on a section that has already been printed.

      Screenshot 2024-12-20 at 15.22.44.png

      Will be interest to see how these segmented files actually print - should be able to run some real tests on a single extruder printer.

      The approach I now think I will take with the final output is as follows:

      1. Go through the Gcode file expanding out G2/G3 to G1s.

      2. Go through the expanded file 4 times - creating versions of each of the 4 segments - and collecting statistics per layer per segment.
        NB/ Segment precise bounds can vary a bit per layer for strength and in later versions to better spread the load - they just need to be wide enough to avoid gantry clashes.

      3. Final iteration - with output gcode file is generated - which will consist of GCODE, separated by laters - with each layer being either:

      a). The gcode of the whole layer unsegmented - for layers with more than 2 colours per segment or not enough time needed in each segment to warrant parallel printing.

      b) Segmented - with the following structure:
      M596 P01
      --Seg3 gcode
      M596 P00
      --Seg1 gcode - which can be printed in parallel to seg3
      M598 - to wait for Seg3 and Seg1 to complete
      M596 P01
      --Seg4 gcode
      M596 P00
      --Seg2 gcode for printing in parallel to seg4
      M598 - to wait for Seg4 and Seg2 to complete

      1 Reply Last reply Reply Quote 0
      • undefined
        dwuk3d
        last edited by 21 Dec 2024, 14:02

        Layer segmentation working pretty well.

        I set things up so layers are segmented into 4 - other than the top and bottom layers, plus every 4th layer.

        Results look pretty good in Bambu Studio Preview - with segmented parts joining back together ok.

        Before Join
        40355914-D7E5-484F-A080-3899DF92CB33.png

        After segments joined - inner wall only illustrated
        4B1D9729-BAE3-45C8-80E8-75C0D9794D4D.png

        Showing the Gcode now for 4 segments
        First segment - for motion system queue1
        175D26B1-E793-45A1-BBE3-F61EB3C8D118_1_201_a.jpeg

        Bambu Studio showing that segment completed - by the time it gets to the gcode for queue0
        CA54FB18-8957-47D7-A60B-E28EEDD94A66_1_201_a.jpeg

        Gcode now showing wait - for both queue1 and 0 to complete, and then on to 2nd segment for queue 1
        3286F9A0-5B04-4E6E-80F2-7CE475C1F7D3_1_201_a.jpeg

        End of both queues - and then moving on to a full non parallel layer
        834A6253-BF47-4D3C-85A6-898F14A8FAC7_1_201_a.jpeg

        undefined 1 Reply Last reply 22 Dec 2024, 08:30 Reply Quote 0
        • undefined
          o_lampe @dwuk3d
          last edited by o_lampe 22 Dec 2024, 08:30

          @dwuk Splitting the gcode file? 🤔
          I never thought of this as an option when I built the hashPrinter in 2021.
          In my mind it was always the slicer who had to split the object, but that approach had it's own issues.

          Your approach looks very promising, although I see lots of retracts/unretracts where the tracks were chopped apart. That can end up ugly, like tons of blobs everywhere.
          And of course you'll run into tool collision situations and waiting for the other tool to finish the current layer while the waiting nozzle drools dry. (just as I did)
          My idea to the latter problem was, to synchronize both tool speeds, so they finish work at the same time.
          Maybe you want to add that in your splitting post processor?

          BTW, my hashPrinter only required 4 steppers for the whole motion system ( plus 3 for Z and 4 for extruders) and all the belts where short and straight. Not such idle roller nightmare...
          But lets not start a pi$$ing contest. There are pros & cons in both designs

          undefined 1 Reply Last reply 22 Dec 2024, 09:47 Reply Quote 0
          • undefined
            dwuk3d @o_lampe
            last edited by dwuk3d 22 Dec 2024, 09:47

            @o_lampe Hashprinter looks very interesting - will definitely looking for ideas on how to reduce complexity. The initial design is just Ratrig VCore4 IDEX kinematics (which is probably the printer I will be using) doubled up.

            But I would like to take the design up to 4 Gantries/8 Print heads if possible - so way to reduce the number of motors in particular would be useful.

            I agree that Retractions and moves around the boundaries of my segment cuts will likely be a problem - will enhance the code to allow the boundaries to be a bit more 'fuzzy' so that less line cuts will be required. Might also split out the outer wall lines and print them single threaded rather than segmented - to at least hide some of the mess inside.

            Head collisions won't be a problem with this basic segmented approach - because the segments will be sized to be big enough and far enough away from each other when printing in parallel to make it impossible for the heads to ever meet.

            I agree though that ideally it would be most efficient for the slicer to create the parallel printing GCODE.

            You are right though about the parallel segments not finishing at the same time. In the initial version I have set every segment to be the same size (1/4 of the Y axis). It looks quite interesting in the animation seeing one segment finish before the other and the heads park.

            Firstly I will try varying the sizes of the segments for every layer to a) fit in with the bounds of the print on that layer, and b) if possible within the print head clash avoidance constraints size them so that there is a similar amount of work needed by each gantry for each parallel pair - so that they finish at more or less the same time. I could also as you suggest slightly slow down the gantry with the least work so that it finishes at the same time as the other one.

            Once I am fairly happy with the design I will try doing some actual printing of the segmented gcode on a single threaded printer to see how messy the edges/joins come out..

            Also need to try and speed up the code - because for this example test print you will see it took quite a long while to do the segmentation - about 5 mins.
            Screenshot 2024-12-22 at 09.13.40.png

            Screenshot 2024-12-22 at 09.53.08.png

            I think I will also improve the way it handles colour changes - so that it can still do some parallel printing on layers with 3 colours for example - but I was still pretty pleased that it selected 2/3rds of the layers in the example print for parallel printing.

            Screenshot 2024-12-22 at 09.14.06.png

            Screenshot 2024-12-22 at 09.33.22.png

            undefined 1 Reply Last reply 22 Dec 2024, 15:54 Reply Quote 0
            • undefined
              dwuk3d @dwuk3d
              last edited by 22 Dec 2024, 15:54

              @dwuk Some Basic Info and some animations of what the parallel printing might look like

              CF142E6A-EA4B-4FFF-97EC-8EE28A8E3BA1_1_201_a.jpeg

              Youtube link

              undefined 1 Reply Last reply 23 Dec 2024, 07:32 Reply Quote 1
              • undefined
                o_lampe @dwuk3d
                last edited by o_lampe 23 Dec 2024, 07:32

                @dwuk I'm not sure if I understood.

                • You want to split a single object into separate sections
                • you'll print them simultaneously on the same bed
                • ...but your collision avoidance strategy is to spread the parts further apart?

                If that's the case, why don't you build (4) individual printers and each one prints a section of the object?
                You'll have to puzzle the sections together anyway, but that way it'll be way easier to setup mesh bed and all.
                Plus, you don't need a huuuge bed, just to keep the toolheads clear

                undefined 1 Reply Last reply 23 Dec 2024, 08:11 Reply Quote 0
                • undefined
                  dwuk3d @o_lampe
                  last edited by dwuk3d 23 Dec 2024, 08:11

                  @o_lampe Sorry if my explanation is not that clear.

                  The way my very basic head avoidance strategy works is that for a 2 gantry printer - lets say the total depth of the extruder Mechanism in the Y direction is 70mm (I know the Ratrig VCore4 is more than this - so might have to either modify the design or turn one of the gantries around 180 degrees).

                  Then in order to avoid head clashes each gantry must always be 70mm apart.

                  So I divide the print into 4 adjoining sections in the Y direction..
                  1, 3, 2 & 4.

                  Both 3 & 2 must be at least 70mm deep.

                  First pass print 1 on Gantry F. and 2 on Gantry R.
                  Second pass print 3 on GantryF and 4 on Gantry R.

                  As 1 and 2 are always 70mm apart then there will never be a head clash. Plus the same applies for 3 and 4.

                  NB/. This is just a fairly simple strategy to demonstrate the concept - ultimately the slicer or a post processor could work more intelligently and split each layer into more logical chunks that avoid splitting lines as much as possible - and then order the printing of them to avoid head clashes.

                  I agree that this strategy will only work on a printer with plenty of space in the Y direction and only for models that are fairly long in the Y direction. I am thinking I would like 400 to 600mm in the Y direction.

                  Printing on multiple printers and joining the parts together post print is also another way of doing parallel printing - if you look on Makerworld at my 1:500 Ventura or Iona Cruise ship models - you will see that I have split them into many parts that can be printed in parallel.

                  The downsides of this approach though are:
                  a) Lots of extra filament and printing time due to the parts needing to have walls/top surfaces
                  b) Gaps in the print where the joins are - particularly where the joints are vertical - as due to the circular shape of the nozzles it is pretty much impossible to get right angled corners that butt up cleanly together
                  c) For multi colour single extruder prints lots of extra waste - due to having to change colours for every part. If you look on Makerworld at my Arcadia 1:500 model - you will see that I split it into 3 parts - but they are all on the same plate to avoid flush waste - at the cost of not being able to parallel print it.

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    dwuk3d
                    last edited by dwuk3d 23 Dec 2024, 13:27

                    A slightly better quality video with head parking improved - picturing a Dual Extruder rather than IDEX variation - but essentially the same simulations - as Video Part 9 above.

                    IDEX Part 7 - Dual Extruder Dual Ganty.

                    IDEX Part 10 - Dual Gantry IDEX Mirror Mode demo

                    273E709B-32C4-4768-B78A-A4953C2EDE17_1_201_a.jpeg

                    5E5CC482-0A3F-4C81-9681-49F2A2DDAE9F_1_201_a.jpeg

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      dwuk3d
                      last edited by dwuk3d 23 Dec 2024, 23:08

                      Made further progress on the segmentation post processor:

                      1. Made it so that all outer walls will be printed single threaded to ensure surface quality
                      2. Changed the segment split points to change them for every layer based on the size of the layer - for more efficient parallel printing, plus also improved strength.

                      Example First set of two segments that would be parallel printed - note the gap between them to avoid head clashes. - Yellow is the inner walls.
                      533D7CCC-BF45-460A-9FB7-FF3C9BCE91D5.png

                      With second set of two segments shown
                      6CB60DA4-36EB-42E4-9C50-345416984BEC.png

                      Outer walls (mostly) - that will be printed single threaded to help with print quality
                      75C5AA69-8033-40EB-B265-B25060E4BC77.png

                      ECAAF0D0-FFCC-477E-AFA6-681779E2D969.png

                      undefined 1 Reply Last reply 24 Dec 2024, 08:43 Reply Quote 1
                      • undefined
                        o_lampe @dwuk3d
                        last edited by o_lampe 24 Dec 2024, 08:43

                        @dwuk I remember now, I've discussed the striped sections before on this forum. Was it you, who came up with it?

                        It was the same time I started using resin printers and immediately saw their advantages against FDM printing.
                        Opposite to the rounded corners you get with FDM, the resin-print edges are sharp and easy to glue together.
                        Unfortunately no multicolor prints, but ~10x smaller surface details possible. Plus: no problem with overhangs.

                        undefined 1 Reply Last reply 24 Dec 2024, 09:02 Reply Quote 0
                        • undefined
                          dwuk3d @o_lampe
                          last edited by 24 Dec 2024, 09:02

                          @o_lampe Not me as only just joined the forum - but yes I agree that Resin likely to be better with corners as I presume the pixels are effectively square or combinations of them appear to be. I've done quite a lot of investigations into eliminating round corners by adding extract features that need to be shaved off - see here - but in the end for ships it doesn't really matter that much as the real ships usually have lots of visible weld joins on them.

                          Further improvements made today to 3BB3029E-EC5E-4227-A95E-B5D99A823295.png 7C7216D2-8132-4481-9169-DADE2B3B3478.png 9559D2EF-D321-4D4F-BB5E-B17AFC5F9CD6.png outer wall isolation and layer by layer resizing of segments here

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            dwuk3d
                            last edited by 24 Dec 2024, 10:56

                            As suggested by @johannesvannahme8631 on YouTube - have improved my 4 head autoswitch, Mirror and Parallel printing demo a bit.

                            I created some cutter parts with edges that go in an out for added strength using Fusion 360 - that can be used in BambuStudio (or Orca I would imagine) as negative parts to
                            a). Cut out the middle - that can't be mirrored due to head clashes
                            b) Cut out just the left hand side to be mirrored.
                            26262B45-A217-4230-B604-A772FB3480C8.png

                            EB4AA61C-2954-4459-9DE7-3EB53B15C605.png

                            B0F6E989-7642-4D8E-A7AC-F510ECB2A68C.png

                            I then cloned two copies of the benchy in the same place on the build plate - one for the mirrored half - in tool4, and one for the centre part in tool1.

                            I then applied the appropriate negative cutter part to each clone.
                            D6C59289-84BB-400E-B45D-FA5FCCAD3569.png

                            And ended up with this after slicing
                            204F6DC6-88DB-4FAF-AD57-9488A9A17843.png

                            You will see from the simulated print that the join between the mirrored part and the standard printed part in the middle is now using the profile from the Fusion 360 cutter.

                            52867534-0C47-4FEC-BA36-1657F00E212D.png

                            You still get walls between the mirrored and non mirrored part which is a bit wasteful - so I might do another GCODE post processor to do this type of segmentation too.

                            undefined 1 Reply Last reply 25 Dec 2024, 13:01 Reply Quote 0
                            • undefined
                              dwuk3d
                              last edited by dwuk3d 24 Dec 2024, 18:20

                              @properprinting hot plate double gantry version of Animations created.

                              IDEX Part 12 - Double Gantry Fixed Bed IDEX Youtube Video

                              B3F47691-821F-4A64-8F20-DE42678E46E0_1_201_a.jpeg

                              1 Reply Last reply Reply Quote 1
                              • undefined
                                dwuk3d
                                last edited by dwuk3d 25 Dec 2024, 09:29

                                Upgrading virtual printer to a bigger platform (thanks to @UncleJessy for the Orangestorm Giga model on Printables). 800x800 build plate - should give plenty of room for at least 4 gantries - with 2 or more heads per gantry.

                                Pictured next to the Ratrig VCore 4 IDEX 400x400 I have been using - so exactly double the size.

                                Weight of the Z Axis could be a problem though.

                                81EA04C2-EA0B-47FD-B6E6-4D1EB4056F58.png

                                CC61172D-7652-470F-BA4D-D2BB0D7479F2.png

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  JVan @dwuk3d
                                  last edited by JVan 25 Dec 2024, 13:01

                                  @dwuk This is not quite what I meant. I meant a interlacing pattern, wide enougth to weld together the sparse infill: Result 7.png
                                  This way you should retain close to full part strength and can put all perimeters in a single thread for optimal surface quality. Scince the sparse infill appears to be generated in relation to a global origin, this should work for arbitrary models and infill patterns when in parallel printing mode. For parallel mirror mode, you need a infill pattern that is and stays symmetrical to your mirror plane regardless of z-height. From the more performant infill patterns, cubic appears to work, when angle is changed to zero:Symmetry and Measurement.png
                                  You can ignore the d-dimension. I dont know why I thought having the interlacing that wide would have been critical. I put my files on a printabels site, if you want to take a look, but cant post the link here due to lack of reputation. Ill put it in a Youtube comment for now.

                                  undefined 2 Replies Last reply 25 Dec 2024, 21:17 Reply Quote 1
                                  • undefined
                                    dwuk3d @JVan
                                    last edited by 25 Dec 2024, 21:17

                                    @JVan thanks for the clarification. Will add this into the y direction segmentation gcode processor and when I create X direction mirror and duplicate mode separator will add in alternate interlacing of layers based on the support pattern.

                                    It will mean widening the minimum gaps slightly to avoid head clashes - but I should be able to mitigate this by optimising the placement of nozzles on extruders.

                                    undefined 1 Reply Last reply 26 Dec 2024, 08:11 Reply Quote 0
                                    • undefined
                                      o_lampe @dwuk3d
                                      last edited by 26 Dec 2024, 08:11

                                      @dwuk Talking about interleaving infill reminded me of my regular CoreXYU, where I had one small nozzle for perimeters and a big nozzle for infill. I safed a lot of time doing "infill every n layers"
                                      A four-head printer could have one big infill nozzle and three finer nozzles with different colours, I guess?

                                      undefined 1 Reply Last reply 26 Dec 2024, 09:29 Reply Quote 0
                                      • undefined
                                        dwuk3d @o_lampe
                                        last edited by 26 Dec 2024, 09:29

                                        @o_lampe. Interesting, I am intending to include some example print time comparisons with nozzles of different sizes in the same print. Is infill every N layers something that is available in any of the prusaslicer based slicers - as when I tried some comparisons (by using prusa XL profiles) it looked that you have to use the same layer height for the different nozzle sizes - which still brought some good savings.

                                        undefined 1 Reply Last reply 26 Dec 2024, 11:53 Reply Quote 0
                                        • undefined
                                          JVan @dwuk3d
                                          last edited by JVan 26 Dec 2024, 11:53

                                          @dwuk Its this setting. Setting it to 2 will result in double height infill lines: 309a65fe-c641-45cf-adc1-c09a683e43af-grafik.png
                                          On Orca and (probably) Bambu its this. Here you set infill layer heigth directly. Either as mm or as % times nozzle diameter:
                                          4d784c57-6014-4f94-861d-4e4c2ae8c8cc-grafik.png

                                          undefined 1 Reply Last reply 26 Dec 2024, 13:12 Reply Quote 1
                                          17 out of 67
                                          • First post
                                            17/67
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA