Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Editing Post Processor for motion controlled external axis (3d Print)

#1
Hello RoboDK Community,

We are using an ABB IRC5 6-axis robot with a motion-controlled external axis (7 axes total) for a 3D printing application. By default, RoboDK captures extruder values and converts them into an extruder signal, outputting a line like ExtruderSpeed with the corresponding value.

I referred to the RoboDK documentation on 3D printing projects (https://robodk.com/doc/en/Robot-Machinin...rint3Dpost), which describes calculating values for digital/analog outputs. However, since our extruder is a motion-controlled external axis, we need to integrate the extruder values directly into motion functions like MoveL to control the external axis within the RAPID code.

In older RoboDK forum posts, I found post-processor code for ABB IRC5 that included configurations for handling a motion-controlled external axis, which seemed to address integrating external axis values into motion commands. We need guidance on how to modify the post-processor to support our setup, ensuring the RAPID output includes external axis values in MoveL functions.

Could you assist with the following?
  • How can we modify the RoboDK post-processor to link extruder values to a motion-controlled external axis for correct RAPID code output?
  • Are there specific documentation, code examples, or references for configuring the post-processor for an ABB IRC5 with a motion-controlled external axis?
  • What specific changes or settings should we consider to ensure the post-processor generates the desired RAPID code?

Any guidance, sample code, or references to relevant documentation would be greatly appreciated. 
Thank you!
#2
You can find some examples on how to customize your post processor in this link from our documentation:
https://robodk.com/doc/en/Post-Processor...SamplePost

Dependingin on the amount of modifications you want to perform on your post processor it may be better for you to have the source code of the post processor. In this case, if you have a license you can send us a request to obtain the source code of our default ABB post processor. You may prefer this option if you want to properly customize the post processor for 3D printing like you described.

For example, if you want to treat the extruder value like a new axis you could do something like this:
Code:
    def MoveL(self, pose, joints, conf_RLF=None):
        """Add a linear movement"""
        # If your custom flag for extruder control is enabled, add the extruder value as an additional joint value:
        if self.EXTAXIS_EXTRUDER:
            joints.append(self.PRINT_E_NEW)

        # Trigger the default MoveL function with customized joint values
        super(MainPost, self).MoveL(pose, joints, conf_RLF)
#3
Thanks for the reply Albert, very helpful.
  




Users browsing this thread:
1 Guest(s)