Extrusion in Estlcam?

New Home Forum Random or Off Topic Extrusion in Estlcam?

Tagged: ,

This topic contains 23 replies, has 7 voices, and was last updated by  Jack 3 months, 1 week ago.

Viewing 24 posts - 1 through 24 (of 24 total)
  • Author
    Posts
  • #94748

    Jack
    Participant

    A bit of a strange question and completely off topic, but I’ll try it anyway:

    I use a modified MPCNC as a plotter (see my earlier posts). The ink pen that I use opens and closes mechanically by the lifting and lowering of the Z-axis. I make the drawings in Photoshop and then Illustrator to vectorize. The final phase of the drawing goes to Estlcam for the gcode.

    Now I would like to use thicker paint and for that I made a kind of paste extruder. But for this extruder I actually need an extrusion code that should be generated within the Estlcam gcode. Now I think this is not possible in Estlcam (?)

    I understand that it is more obvious to pretend that I am working with a 3D printer, for example with Repetier or Simplify3d. But the problem is that I can’t get my (2D) drawings in there.

    Is there perhaps someone with a bright idea or a hint how I could solve this problem?

    Thanks in advance.
    Jack

    #94754

    Jeff
    Participant

    What file type are your drawings?  Could you bring them into Fusion360 and export them as a .stl file to get them into Repetier (or just generate the code in Fusion360)?

    #94759

    Jack
    Participant

    Hi Jeff,

    Usually svg for use in Estlcam, but Illustrator can export dwg and dxf too. But it takes lots of time to import such a dxf in Fusion360 and thereafter I can’t do anything with it. The drawing consists of many short lines.

    The only solution I can think of now is to write an extrusion startcode at the beginning of the gcode and an endcode at the end. But then unfortunately every travel move will leave a paint track.

    Thanks for thinking along.

    #94762

    thesfreader
    Participant

    I’ve not checked the gcode output by ESTLCam, but perhaps you can differentiate using G00  (Rapid move) and G01 -03 (cutting moves) then use that for enabling disabling your extruder directly (if you modify the marlin source) or via a postprocessor by automatically adding you specific gcode…

    #94763

    thesfreader
    Participant

    thinking about it some more, wouldn’t the “CNCProgram Settings/Laser Plasma Waterjet” commands in ESTLCAM insert your commands where you want ?

    #94770

    Jack
    Participant

    Hi thesfreader,

    Unfortunately I am not that handy with coding…
    Yes, I found the Laser Plasma Waterjet settings and give it a try, as far as I can.

    Thanks a lot

    #94771

    Jeff
    Participant

    Worst case, you generate the gcode and then insert the extrusion commands you need manually into the code before you run it.  Gcode is fairly straight forward, tons of info on google.

    #94772

    Jack
    Participant

    @Jeff
    Yes, I considered that, but as I said, there are many very short lines in a drawing and it would be too much work.

    @thesfreader
    I tried a small drawing with a start cut (G1 E100)  and end cut (G1 E0) setting and you’re right! This is one small line code:

    ;No. 6: Engraving 1
    G00 X38.3117 Y127.2117 Z0.0000 F3600
    G01 Z-6.0000 F6000
    G1 E100
    G02 X23.4608 Y140.7975 I24.7939 J42.0124 F6000
    G02 X22.8553 Y142.6494 I2.5350 J1.8538 F6000
    G01 X22.8695 Y142.7974 F6000
    G01 X22.8953 Y142.9456 F6000
    G1 E0
    G00 Z0.0000 F1440

    Don’t know this is the right code to use for my purpose but it is a promising step 1.

    For now, you made my day 🙂

     

    #94778

    thesfreader
    Participant

    Is that by adding the G1 commands in the Laser/Plasma ?  \o/

    However, do you just need to start/stop the “inkstruder”  at “cutting” start/stop ?

    Do you need to modulate the ink speed ?

    Depending on what ?

    How do you plan translate the code to electric activation ?

     

    #94819

    Aaron
    Participant

    @Jeff

    Yes, I considered that, but as I said, there are many very short lines in a drawing and it would be too much work.

    @thesfreader

    I tried a small drawing with a start cut (G1 E100) and end cut (G1 E0) setting and you’re right! This is one small line code:

    ;No. 6: Engraving 1

    G00 X38.3117 Y127.2117 Z0.0000 F3600

    G01 Z-6.0000 F6000

    G1 E100

    G02 X23.4608 Y140.7975 I24.7939 J42.0124 F6000

    G02 X22.8553 Y142.6494 I2.5350 J1.8538 F6000

    G01 X22.8695 Y142.7974 F6000

    G01 X22.8953 Y142.9456 F6000

    G1 E0

    G00 Z0.0000 F1440

    Don’t know this is the right code to use for my purpose but it is a promising step 1.

    For now, you made my day ?

    This will not work. you need to put an extrusion amount for each line. In this case, when it gets to the third line, it’s going to stay in one place and extrude 100mm (or whatever unit you have). The E0 after that will reverse the extruder 100mm, not shut it off (unless you set it to use relative extrusion.)

    #94824

    Jack
    Participant

    @thesfreader

    1. Yes, I added the commands in the laser/plasma window;
    2. Yes, I only need start and stop;
    3. No modulation is not needed, I only have to find out the right flowrate once;
    4. Electric activation? Is it not enough to connect the extruder to the Ramps E0?

    @Aaron

    It was only a test to see the result of the laser/plasma window.

    I can’t code myself. I would be very grateful if one of you could help me with this problem – give me the coding for this, if it’s possible anyway.
    I know it is unwise to want something that you cannot make yourself. But I was able to adjust the device to my wishes, make a flowpen work and design a paste extruder. The only thing is the right code… But maybe I am too naive and are there many more problems to solve.

    Thanks again,
    Jack

    #94826

    BT
    Participant

    Perhaps OpenSCAD can be used?    It’s coding-like and the specific commands you’d be looking for are “import” and “linear_extrude” – something like:
    // height is in millimeters
    linear_extrude(height = 1, center = true) import(file = "my_extrusion.svg")

    Then select render (or press F6) and export the stl file. You should then be able to set up an equivalent to a 3D printer in your slicer to create the g-code.

    #94829

    Guffy
    Participant

    No modulation is not needed, I only have to find out the right flowrate once;
    Electric activation? Is it not enough to connect the extruder to the Ramps E0?

    i guess the extruder stepper scheduled same way as other axis steppers. so if you just add G1 E commands at the begin and at the end of some scope it doesn’t mean that the scheduler will keep rotating of E in parallel to a few lines of gcode that surrounded by your commands.

    even if you somehow connect a motor that could rotate at fixed rpm and you will turn it on/off by your commands that may not help to get best result. because a movement has acceleration\stable speed\deceleration phases. and your fixed-rpm-extruder will not match to real speed of movements and width of extruded fiber will vary.

    so you have to add E subcommands to each G1 and lenght of extrusion should be proportional to real lenght of current movement path.

    #94830

    Aaryn
    Participant

    I did something similar many months ago.  I was using a different CAD program though.  So here is what I suggest:

    • export your DXF file (2 dimensional)
    • import that file into a CAD program like fusion 360 or Onshape.com. (I am more familiar with Onshape so I will pretend that is what you will use.)
    • it will import as a 2D sketch.
    • use the “extrude” feature to make it 3D. Maybe .2 mm thick.
    • then export the 3D file as an STL file for repettier host to slice.

    the one thing that I am not sure about is if it will work with thin 2D lines.  Each line might need to be “thickened” or something to make them tiny rectangles so they have a surface area to extrude.

    When I did mine it was a sign so everything including the words were closed shapes in the DXF file.

    So yeah I don’t know if this idea will work for you or not but there it is.

    #94831

    thesfreader
    Participant

    @thesfreader

    1. Yes, I added the commands in the laser/plasma window;
    2. Yes, I only need start and stop;
    3. No modulation is not needed, I only have to find out the right flowrate once;
    4. Electric activation? Is it not enough to connect the extruder to the Ramps E0?

    @Aaron

    It was only a test to see the result of the laser/plasma window.

    I can’t code myself. I would be very grateful if one of you could help me with this problem – give me the coding for this, if it’s possible anyway.

    I know it is unwise to want something that you cannot make yourself. But I was able to adjust the device to my wishes, make a flowpen work and design a paste extruder. The only thing is the right code… But maybe I am too naive and are there many more problems to solve.

    Thanks again,

    Jack

    I don’t agree with Guffy : if you have a specific “feedrate” for your tracing and you manager to fix the corresponding speed on your “inkstruder”, that could work, if your inkstruder is not a stepper motor but a DC motor.

    In the case where you indeed use a DC motor, you should be able to switch it on/off by piloting a relay through one of the free pins of the board (to be defined). In which case, there are a few GCode  “codes” that can be used/interpreted by the firmware (Marlin ?) to activate that pin (hence the questions)

    If, however, you planned to use a stepper motor for controlling the extrusion, you would need to include, as Guffy says, a computation of the advancement in each G01-G03 lines of the gcode, which would need some code.

    #94833

    Guffy
    Participant

    In the case where you indeed use a DC motor, you should be able to switch it on/off by piloting a relay through one of the free pins of the board (to be defined). In which case, there are a few GCode “codes” that can be used/interpreted by the firmware (Marlin ?) to activate that pin (hence the questions)

    as i said this will work, but probably far from perfect result. because velocity of head movements varying

    S-curve Profile and Trapezoidal Profile

    S-curve Profile and Trapezoidal Profile

    , but extruding feedrate will be fixed. this will produce lines with varying thickness.

    may be same feedrate for G0 and G1 could help for make better lead-in and lead-out, but on sharp edges of dxf the machine will slow down and in these areas line can be thicker

    #94834

    Guffy
    Participant

    the possible way i see is:
    for not too complex designs you can use import dxf to fusion 360 with using this trick –
    surround the sketch with a rectangle, then extrude body (you have to manually select internal faces),
    1-2
    2-3
    then in manufacturing workspace make laser setup and use “select same plane faces”.
    3-2
    4-1

    and of course you need to be able programming JavaScript 😉
    to make modified post-processor that will add E directives to each onLinear event (and probably have to linearize all onCircle)

    #94860

    Jack
    Participant

    First of all, I highly appreciate all your help and suggestions.

    I do understand now that  the use of a stepper motor is impossible, because of the E-factor needed for every line. (A pity, I just ordered a nice Nema with leadscrew through it in China)

    I think in my case that the modulation of the paintflow isn’t an issue because I don’t use acceleration. On this moment I am using a flowpen (see video: https://www.dropbox.com/s/i796kparcvoxq9k/IMG_0844.MOV?dl=0) with Golden acrylic fluid. That’s not ink but thin paint that flows by gravity. This works fine because I have lowered the acceleration. (And besides, this machine is not about speed.)

    All the workarounds with Fusion360 etc. does not fit for me. I make drawings (paintings) with lots of (short) lines and not in an orderly way. So importing in Fusion will take much time and Fusion often collapses.

    Taking everything into consideration, it seems that a DC motor is a possible solution. But I don’t know if I am able to get it working because of my lack of knowledge of electronics and coding. It would need an activation in the gcode or a mechanical trigger on the Z-axis like the flowpen that I use now.

    I have to sleep another night about it if I can handle this challenge ?

    Jack

    #94862

    Guffy
    Participant

    And at any time whenever someone will complain that lines aren’t equal you can say him to don’t worry because that’s an art)

    So if you ok with that you may use a stepper with an external controller. Something like cheapest cnc shield with arduino nano or uno.

    #94892

    Jack
    Participant

    And at any time whenever someone will complain that lines aren’t equal you can say him to don’t worry because that’s an art)

    Hell yes 🙂
    (btw, this is one of my latest drawings with unequal lines… 1000x650mm)

    So if you ok with that you may use a stepper with an external controller. Something like cheapest cnc shield with arduino nano or uno.

    Going to try this, maybe I surpass myself with electronic skills.

    Thanks, I will probably come back here with a little follow-up question.

     

    Attachments:
    #94897

    Jack
    Participant

    The best thing would be a Nema 17 with potentiometer and a simple display on which the speed can be read, and an on/off switch on the Z-axis. I already have some stuff for this: an Arduino uno, potentiometer, switches, and a 1602 lcd.

    But this ready-made thing looks nice too: https://robokits.co.in/motors/stepper-motor-high-torque-with-digital-speed-controller

    I searched for a scheme via Google and came across some setups that looks like it, but with a 6-wire cheap stepper motor and unclear diagrams. With a good scheme and instruction I can manage it, otherwise I will fail because of lack of knowledge.

    Someone who happens to have a clear scheme for this or knows where I can find a good one?

    #94913

    Guffy
    Participant

    #94919

    Jack
    Participant

    Yes, saw that one too. This looks quite easy. But I think it is useful to be able to repeat the correct speed for the next project so I am going to try connecting a display as well.

    #99689

    Jack
    Participant

    Hi,

    A few little steps further with my paint-MPCNC project, but…
    I sincerely hope that someone can/will help me. I have found a scheme to control my stepper motor for the paint syringe. But I can’t quite get it working and the creator of the scheme (https://www.youtube.com/watch?v=PZWaCAloiUE) unfortunately does not respond to my request for help.
    And I can recreate something nice, but I don’t understand much about electronics.
    He uses this scheme (picture) for 3 switches, (clockwise-on, off, counter-clockwise-on) and a potentiometer. That works well.
    But then he adds 2 switches (and I mainly need them) that only let the steppermotor run if you keep them pressed. He says he uses ‘pull-down resistors’ for this. And there it goes wrong, I can’t get it working. He does not say which resistor he is using, and I have tried several but without any result.
    Below also a picture of the code (I could not paste it in here) that is used with the added code for the pull-down resistors in yellow.

    I would be very, very grateful to someone who can help me to get these 2 switches working so that I can further develop my paint-MPCNC.

    EDIT:
    So, I am a kind of fool. There was no 5V power to the switches… Don’t know how this video-guy managed without, but my problem is solved.

Viewing 24 posts - 1 through 24 (of 24 total)

You must be logged in to reply to this topic.