Thanks Thanks:  3
Likes Likes:  0
Dislikes Dislikes:  0
Results 1 to 8 of 8
  1. #1
    3D Printer Noob
    Join Date
    Sep 2018
    Location
    Singapore
    Posts
    3
    Post Thanks / Like

    Cube 3 Movement Control

    Hi,
    I am a master degree student in Singapore.We have a old cube 3 printer in our university. I am working on cyber-physicalsystems and as a part of that I need to control my 3D printer like the nozzleand bed movement from my computer. I know the original Cube 3 firmware doesn’t allow that. But if I can input these G-Codes I might be able to control it. But how do I use these G-Codes, is there a seperate software for inputting them.
    And also, if there is an other way to control the bed movement and nozzle please let me know.
    Thanks.

  2. #2
    3D Printer God(dess)
    Join Date
    Nov 2016
    Posts
    1,522
    Post Thanks / Like
    I saw your request on FaceBook also but I don't really like faceBook.
    Welcome to the forum!

    Basically, you have a closed system in the Cube3.

    A BFB file (or code) is a subset of CNC control, typically known as G-Code.

    Generically, 3D Systems sends data to a driver that generates the .cube3 file.
    This is an encoded file that deals with housekeeping and the relevant print data.

    The way Windows and other OS' deal with this file is to do the connectivity and communication.

    Therefore, in order for you to do what you want to do in real time, you would have to write the interface.

    So this leaves us with modifying a known file format.
    We have to live with the limitations of the Cube3 and the commands it understands.
    The implementation of BFB commands in the Cube3 is less than stellar.
    3DS decided to create their -own- commands and modifiers.
    Some even in contrast to the standards.

    These .cube3 files can be modified. There is a decoder and an encoder.
    Doing moves and other things in a canned configuration could be done by replacing the core data.
    Limitations include the requirement to use the USB port. The WiFi app connection will throw errors.

    I will stop here and let you reply.

    Know the limitation that you cannot drive the Cube 3 printer in real time.
    Know that you must use the USB port for file transfer.
    Know that the command set for the Cube 3 are limited.

    Please expand on your requirement.

  3. #3
    3D Printer Noob
    Join Date
    Sep 2018
    Location
    Singapore
    Posts
    3
    Post Thanks / Like
    Thanks for the reply.
    I realized that Cube 3 cannot be controlled in real time. But you have mentioned that it can be controlled through USB port, so is there a way to connect the Cube3 to computer through USB cable? And how to modify the Cube3 files. What are those encoders and decoders? I tried to open it using Notepad and found some garbage in it.

    And coming to my requirement, as I said I'm working on Cyber Physical Systems and as part of that I need to develop a digital twin. I hope you know what and how a digital twin works. A 3D printer is part of our system and must be included in our Digital Twin. So, the real requirement will be to monitor Cube3 during its operations by data extraction from its sensors and commanding Cube 3 from the computer. And for that I need to control the cube. Getting data through sensors is not a problem because I'm attaching external sensors and getting data through an Arduino board. But I need to control the Cube and that's where the trouble is.

    Thanks for reading patiently.

  4. #4
    3D Printer God(dess)
    Join Date
    Nov 2016
    Posts
    1,522
    Post Thanks / Like
    Thank you for the clarification, Abinav.

    There are actually 2 USB ports. NEVER PLUG YOUR COMPUTER INTO THE LEFT USB!
    The left USB port is only for memory sticks. people have damages printers and computers trying to connect the two.

    The right USB port, the USB-B port (large square head) is for computer connectivity.
    Unfortunately, there are no indirect communication with this port.
    However, I suspect it can be sniffed for data going back and forth.
    The only app that I am aware of for the right side USB port is 3D Builder by Microsoft.
    3D Builder does not work with 3D Systems' WiFi so it must be connected to work since that is the protocol set up by Microsoft.
    No printer, no file. 3D Builder as it uses the Cube 3 drivers only passes along the STL data to a 3D Systems driver.
    Basically, the slicer for 3D Builder is provided by 3D Systems in the driver.
    I only mention this so you understand up front how the communications currently happens.

    As the the Cube V4.03 app, it is a slicer and driver in one.
    You can slice offline files, library files, and send anything processed to the printer over WiFi.
    Alternatively, you can store .cube3 files ready to print on a memory stick and use the left side USB port to submit them for printing.

    We have learned that files we modify will no longer work in the Cube V4.03 app. This is likely due to the image processing.
    These are buried in the .cube3 file and are corrupted at best during the decoding/encoding process.
    However, they work perfectly if you use the USB drive to submit them.

    So we are at the point where you can now submit -any- .cube3 file to the printer and an understanding on how that process works.

    I suspect a lot is to be learned about the right side USB-B port. There simply is not a lot published on it.

    As decoding... Someone made that very simple. Drag and drop your .cube3 file on the decoder and a cube3.bfb pops out.
    This file for the most part is ASCII. There is an entire segment at the end that is still binary. I suspect this is only image data for the Cube3's screen.
    In the test print, this data is absent and the screen displays no image when you run it. It is an older version of the Cube3 slicer.

    And for the encoder, there too you drag and drop the file.
    The encoder requires a library to be added to your computer but once set up, again, drag and drop the edited .cube3.bfb file onto the encoder.
    The output file will be .cube3.cube3.
    This file can be put on a memory stick, inset memory stick in the Cube3 left port, and use the printer's menu to select the file to process/print.

    As to the available options within the print...
    The g-code within the cube line is limited. Their commands are their own. They follow little convention and misuse several commands.
    That is likely due to the fact that they are early adopters and have never kept up with BFB development outside their own space.
    The command set is painfully dismal. I've been taking apart DLL files to know what all they did implement.

    Bottom line, yes, the encoder and decoder can be found on the forum.
    I would ask that you help in the BFB thread to help understand the allowable sequences within the file.
    The idea of putting in a custom motion path and special hooks within the .cube3 file is perfectly acceptable.
    The thing that will be very useful is to understand all the codes and switches for the small command set available to us.
    For instance, I am working on understanding M227 Pnnn Snnn Gnnn Fnnn. Nowhere is this BFB fully defined.

    I'll see if I can link up the encoder and decoder after breakfast.

    - - - - - - - - - -

    Encoder link: http://www.print3dforum.com/showthre...ll=1#post43663
    Library link: https://answers.microsoft.com/en-us/...9-f4fc85bac575
    Decoder link:http://www.print3dforum.com/showthre...ll=1#post42777

  5. Thanks Abinav_Shankar thanked for this post
  6. #5
    Regular 3D Printer
    Join Date
    Feb 2018
    Posts
    88
    Post Thanks / Like
    To add to TD's explanation:
    There appears to be no existing way to drive the motion of the Cube printers directly from an external computer. The only way to control it's motion is via sending it an encoded (ie, encrypted) command file, either with a USB drive or via Wifi from the CubePrint program on a PC.

    Now, if someone (you, Abinav, maybe?) were to reverse engineer the firmware and BIOS on the Cube control board, it might be possible to modify it to accept commands through the USB B port on the right side.

  7. Thanks Abinav_Shankar thanked for this post
  8. #6
    3D Printer God(dess)
    Join Date
    Nov 2016
    Posts
    1,522
    Post Thanks / Like
    There is some sort of maintenance mode that was discussed.
    Never got looked into. I'm sure that would be through the USB-B on the right.
    That may require a -very- convincing letter to 3D Systems to release any apps related to maintenance access.
    Or follow that Axon thread I posted on in the BFB thread

    - - - - - - - - - -

    And if I understand right, the code can be run and data would be brought back into another cyber system. Reverse feedback.
    I see no reason you couldn't make the Cube dance with some wild point cloud of data and simply picking off telemetry for data input into a cyber-connected device.

  9. Thanks Abinav_Shankar thanked for this post
  10. #7
    3D Printer Noob
    Join Date
    Sep 2018
    Location
    Singapore
    Posts
    3
    Post Thanks / Like
    Thanks everyone for the reply.

    Thanks for the encoder and decoder links. I went through the BFB thread and gathered those the G-Codes. I'll test out how it works. And if I find something I'll be happy to share.

  11. #8
    3D Printer God(dess)
    Join Date
    Nov 2016
    Posts
    1,522
    Post Thanks / Like
    Good luck on your project, Abinav.

 

 

Tags for this Thread

Posting Permissions

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