Categories

Monkeyprint

Monkeyprint is a pre-processing and print control software for 3d DLP printers published under GPL license. It aims to be an easy to use and complete solution for your own DIY 3d DLP printer build.

Monkeyprint now comes with a GTK+ gui that uses your window managers look and feel. It also has some new elements like the menu bar and the model management list that reflect new features like multiple object printing.

The all new model handling now allows to load and manage multiple models inside the build space. The settings can be configured individually for each model. Once you have set up your build you can easily save it to a file and restore it for later use.

Configure your supports individually for each model. These settings will also be stored if you save your build job to file.

Configure the layer height and individual fill structures for each of the models. The fill structures will move diagonally one pixel per layer as the build is running. This way the peel off forces will be kept low and the vat coating will be worn evenly.

The build tab allows for setting the projector exposure parameters. You can also enable the camera trigger to record time lapses of your prints. A status bar and slice view keeps you informed about the progress of the build.

It provides features such as:

model positioning and orientation in the build volume of your printer,

In addition Monkeyprint comes with schematics for the hardware side of your printer. The hardware consists of inexpensive and widely available components. And the best thing: Monkeyprint already includes the firmware needed to breathe some life into your hardware and make it communicate with your PC.

The Monkeyprint DLP printer controller board is made of inexpensive and widely available components. It can control the steppers for build platform and tilt mechism

The following article will provide information on how to download, install and use Monkeyprint.

Install Monkeyprint software

The following installation procedure has been tested on a fresh install of Ubuntu 12.04 and 16.04. If you encounter any incompatibilities with the linux distribution of your choice, don’t hesitate to comment.

Installation of dependencies

Monkeyprint depends on the following libraries:

Python including GTK libraries

Visualization Toolkit VTK (currently developed with version 5.8 or 5.10)

OpenCV (version 2.3 or 2.4)

Git for downloading and updating the code

avrdude for uploading the firmware to the Arduino

If you are running Ubuntu or a similar Debian-based distro you can install these dependencies by executing the following command in your terminal.

Download Monkeyprint

After the installation of dependencies has finished it is time to download Monkeyprint itself. Navigate to the directory you want Monkeyprint to be installed in and simply run this in your terminal to download from Github:
git clone git://github.com/robotsinthesun/monkeyprint.git -b release

Running Monkeyprint

Set up your hardware

Before you can use Monkeyprint, you need to set up your hardware. You will need the following components:

1 x Arduino Pro Micro micro controller board

2 x Pololu DRV8825 stepper driver boards

1 x LM2596 step down converter board

Some small components (refer to the schematics below)

Schematics for the Monkeyprint controller board. It connects an Arduino Pro Micro with the Pololu DRV8825 stepper drivers and to other peripherals like end stops. The board uses an input voltage of up to 36 V. An LM2596 step down converter board is used to create a 5 V supply for the micro controller and the other peripherals.

Once you have downloaded Monkeyprint from Github, you can find the schematics drawn in Eagle 6 in the hardware folder.

Please refer to this blog post and also to this one for more details on the circuitry. There will also be a PCB layout soon.

Getting started

THE FOLLOWING INFO IS OUTDATED.

MORE INFO ON THE SETUP PROCESS SOON

Set-Up

Monkeyprint controls a DLP printer in two respects: it sends the slice images to the projector and the stepper motor commands to a micro controller. For this to work, you need to meet the following requirements:

The projector needs to be connected to your PC and it has the be set up to expand your desktop.

You need to have a microcontroller (I use an Atmel AVR AtMega32U4) that is able to control the stepper motors for vat tilt and build platform movement. I will soon post my code for the stepper motor control.

The set-up currently takes place in the file printSettings.py and serialCommunication.py (this will be working via the GUI soon). Open printSettings.py with your preferred text editor and change the parameters to your needs. The first is your build volume size in millimeters (width, depth, height).
self.buildVolumeSize = [192, 108, 300] # [mm]

The first is the resolution of your projector, the second is the position of the projector relative to your main screen. This is basically the width of your main screen.

As a last thing, change the line
self.stepsPerMm = 100

to the number of steps your build platform stepper has to make in order to rise the build platform by one 1 mm.

Next, open serialCommunication.py. Here, you can modifiy the serial port your stepper controller is connected to as well as the commands that are sent to it during a print. The commands are simple strings like “tilt” or “buildUp” or “buildHome” for the various functions. You can modify these if needed.

However, I will soon publish the code for the stepper controller as well, so there should no longer be a need for any changes here.

The program should become easier to set up within the next months as I will be starting to build my next printer and improve the software along with that.

If you experience any problems or have questions or suggestions, please comment.

80 thoughts on “Monkeyprint”

Hi Bulent,
thanks for trying out Monkeyprint.
Where exactly do you need help?
You can download the code either directly from my Github page or download it using git in your terminal:git clone git://github.com/robotsinthesun/monkeyprint.git
If you need more help on a specific topic, feel free to post it here!
Best, Paul

I do not plan to implement STL repair at the moment. There’s probably some library that could be used for that, but at the moment some other things like a Windows port are more important to me. However, you can still file an issue on my github page and assign the feature request tag to it, so your request won’t be forgotten…

Hi, just found your software and site, and I love it. I definitely want to run MonkeyPrint. My question: is it compatible with a Arduino based 2560 board or will have to build the hardware as stated above?

By Arduino 2560 based board you mean something like the RAMPS 1.4 I reckon?

In principle this is possible, as both connect to the PC via a virtual serial port.
The problem is the communication between Monkeyprint and the firmware on that board (Marlin firmware for example). While probably all of those firmwares use G-code, the Monkeyprint firmware I use on my board just receives simple strings like “tilt” or “buildUp”. I did this because the actions that a DLP printer has to perform are so simple that G-code is just overpowered for this task.

So there are three options:

1: I would have to write a firmware for your board which is able to communicate with Monkeyprint. This would be pretty time consuming and also not very elegant.

2: I could make the commands sent by Monkeyprint configurable. So you would have to find out what G-code commands you need to get your motors running, for example “G1 Z0.1” to lift your Z axis by 0.1 mm. Then these could be issued by Monkeyprint during the print process.

3: You build the board that I use. There is a PCB layout to be posted in the next days. It is one layer and easy to build. Also, the components are a little cheaper than the whole RAMPS board…

Just let me know what you think about it. As you can imagine I would prefer option 3 🙂

Thanks for the reply. I guess I’ll try to build the board. I guess it’s just a little intimidating being that this will be the first PCB board that I’ve ever built. I think possibly offering pre-built boards is something that you may look into in the future. I’m still building my printer. I should have it up and running soon. I’ll post a link when I do.

I am interested in develop a 3D printer with 2 or more DLP projectors for big parts size. Is possible to run your software with 2 or more DLP projectors. Or is possible to divide the STL geometry and run each part with one program session / window.

First of all, great job! Thanks for sharing with us all!
Then, I ask you if you think there’s a chance it might work on a Raspberry Pi 3 (and how!). Also, might the Raspberry also replace the Arduino board?
Please let me know, I am developing a new DLP printer with a super cool feature and I want to use your Monkeyprint software&hardware combination.
Thanks!

I don’t have a Raspberry Pi 3 yet, but I do not see why it shouldn’t work. However, I’m still working towards testing it on a Raspberry Pi 2, so I will make no promises at this point…
The Pi will not replace the board because it is safer to keep all the low level stuff (stepper motor control, reading the end switches etc) on that board. If you do that stuff on the Pi and it hangs while your build platform is moving it might travel into your vat. The second reason I’m keeping the Arduino board is that I want to be able to use Monkeyprint without the Pi.

If you make progress on your printer, think about posting some pictures here 🙂

Ok, your point about why not getting rid of Arduino is clear.
So you are saying I can use a RaspPi instead of a “real” computer?
Fantastic. I’ll try on a RP3 and tell you what happens.
Let’s just keep in touch, I’ll share pictures of my printer as soon as it’s ready.
Thanks again for your awesome work! Never give up!!

Hi Eugenio,
I’ve been pretty busy with other stuff over the last weeks, so sorry for the delay!
Has your Raspberry Pi 3 arrived already? I’m just working on getting a print job running on my Pi 2 via Wifi. Looks promising so far, but still some work to do. I’ll write a new post once it works… I’d be happy if you could test it on your Pi 3 soon 🙂
Best wishes,
Paul

Hi, I just installed your software and it looks pretty cool. Unfortunately when I first run your program (on ubuntu) I encountered the following error message:

glib.GError: Failed to open file ‘./logo.png’: No such file or directory

I fixed this by downloading a random image of a potato and saving it as logo.png in monkeyprint-master. When I tried running it again it showed an image of the potato then continued to run perfectly. I’m not really bothered by this, I like my potatoes, but I just thought you should know about this.

Anyway congrats on a cool peice of software, have a good day and good luck fixing this.

Hi Billy,
Thanks for trying out Monkeyprint and for pointing out the bug! Thought it would be cool to have a splash screen on start-up but forgot to commit the image itself… It’s fixed now, so if you get tired of the potato just pull the latest changes and it should work.
Are you building your own printer and plan in using Monkeyprint?
Thanks again and best wishes,
Paul

Good to know I helped. I quite like my potato, so I think I’ll keep it.

To answer your questions I’m building a printer similar to this:http://www.instructables.com/id/Chimera-60-DLP-resin-3d-printer/ however I’m using a dc motor instead of a stepper motor. Mechanically all is working well, the cd drive seams to be fairly precise and the gearing allows for high precision and torque. My current program uses short pulses to drive the dc motor, this seams to be fairly reliable.

Unfortunately no one has yet to create arduino software to drive a dc from 3d serial commands, so I’m creating my own software to interpret monkey print commands. I’ll send you a link when I’m done, you could maybe add it to your page if you like it.

I’ll send a few pictures of my build when I’m finished, thanks for the quick reply.

P.S. I’ve had time to have a through look through the program since the last time I commented and it looks really useful, I especially like the checklist that comes up right before you print.

Seems to be a cool instructable, the print results look promising…
Depends on what your scrap box has to offer I guess.

Is there a reason you prefer a DC motor?
I can imagine at least a little trouble when the motor warms up and runs at different speeds at the same current.
A simple solution to the problem would be a decoder disc on the motor (maybe before the gear to achieve higher resolution) to keep track of where your build platform is.

When you make your Arduino software, make sure the printer sends a “Done\n” string after an action is completed (for example after homing the build platform).
Monkeyprint waits for this and will only commence with the print process once the Arduino has signalled that it has finished.

I’d be happy to link to your Github once you’re done or make a post about your printer 🙂

The checklist you mention is great, isn’t it? One should always check if Everything Else is OK, not only for 3d printing 🙂

Hi Paul,
as many others I’m at the point to choose a software for my DIY
DLP-printer. I read earlier in the discussion that someone wanted to use monkeyprint with some different hardware. I actually got the same problem now. I build everything with standard components and choosed ramps 1.4 with Merlin firmware. I’m kind of stuck with it because I’d like to build some extra controls/mechanics to be driven by that board.
I was hoping to be able to convince you to take another look at your software and finally make the commands it sends configurable.
The reason why you wrote this software at the first place was probably because there was nothing really fitting for your system (besides creation workshop maybe ..or this raspberry thing- which of course depends on raspberry)
I would say everybody gets to this point and if you are not a programmer the project (building your own printer) might become
bigger and more expensive than you ever thought.
If you would change this part of your software it would become the real thing I guess.. everybody would like to have it. It might become sort of a standard in this area. Of course it seems to be a little more work on your side – but it would help so many people if they had a real alternative to commercial products. Monkeyprint would be very popular I think.
I’d be really happy if you could take this under concideration.

You are right, making the print commands configurable would make Monkeyprint much more versatile for a whole lot of people. The Ramps board seems to be a standard when it comes to 3d printers, so I do see the advantage in supporting that board (and probably others).
Even before your comment I was convinced already that this should be a feature in the future.

There is already an opportunity coming up for me to get my hands onto a complete printer equipped with the Ramps board, so it should only be a matter of time before the configurable print commands will find their way into Monkeyprint. Just like with my own board, the communication with Ramps is string based via USB I reckon (does it show up as a virtual serial port on your PC?), so it’s just a matter of providing ways to modify those strings in the GUI. Did you try sending gcode commands to the Ramps board via your terminal like this:echo "G1 Z50" > /dev/ttyACM0?

However, before this happens I need to finish my current work on getting Monkeyprint to run from a Raspberry Pi to act like a print server. It’s almost done and there will finally be a new blog post about this soon. And then I will also need to find some time to do the thing that made me start all this: to finally build my own printer…

Until the next update (make sure to subscribe to get notified 😉 ) and best wishes for your printer,
Paul

Hi Paul,
sorry ..now it’s me with the late response.
That sounds like good news for me.
As you probably know ..the “build” process of your own printer
is rather time consuming. I’m still constructing things.. and I’m procrastinating the actual software issue a little. So far I did some tests with “repetier host” and “simplyfy 3d” – software I use for my other ff-printer. I just needed to see if my steppers and the board are working. So yes and no ..I did send some commands via the software ..and no ..not directly with the console yet. I got a mini PC last week – the use of two projectors demands a little more powerful solution than a raspberry. I actually have to use python at my work from time to time.. but ..I don’t really want to spend so much time on it. And there is no need for new inventions as long there are people like you sharing their work. THANKS for that btw!!
I hope I’ll soon be able to print my first object. And that’s gonna be the moment when I have to deal with the software.
I’m sure I’ll get back to you ..and drop a line once I’m set and ready to go to test monkeyprint ..and/or add some lines of code to it for my specific printer-needs. 🙂
..so I’ll be pationately waiting for updates ..and maybe the timing fits perfectly.
…so keep up the good work and mood

Hi Paul,
I just tested Monkeyprint on my laptop and saw how it works. It’s pretty nice and it could be usefull with my DLP printer if you could save the sliced images on a folder.
Is it possible for you to implement this feature?
Roberto

Hi Roberto,
saving the slices as images should be easily implemented. I just didn’t think that it might be useful until now. I’ll put it on the list.
What kind of printer are you using?
Kind regards,
Paul

Hi Rafael,
thanks for your comment!
Unfortunately I don’t have a Mac at hand but in theory it should be possible.
First of all you need to get all the necessary libraries I guess. They are stated on the monkeyprint page.
I don’t really know about the installation procedure though…
May start there and I can give you assistance if you encounter specific problems.
Best luck,
Paul

pretty impressed by the work you´ve done here. I´m a long time CW user for my DLP printer, but i´m also limited by its missing features and the lack of progress which seems to be growing.
I started with Linux a few days ago and will definately give it a try!

One thing that makes me curious: Why did you develop your own board, when there are cheap RAMPS units? Would you be able and willing to assist migrating your software over to RAMPS? I have a friend which has some programming skills, so i´m not totally lost 🙂

To answer your question:
I made my own board for various reasons.
First, at the time I started there were no cheap RAMPS boards around.
I also had the impression that G-Code was simply too over-powered for the simple tasks that a DLP printer asks for.
On the other hand it lacked some capabilities, for example the ability to send feedback back to the PC (e.g. when the build platform homing was done so Monkeyprint would know when to commence the print process).
Well, and the most important reason was that I wanted to learn how it’s done 🙂

In essence, my own board brings the freedom to implement every feature I like without any third party involved.

While this is great, I recently received lots of inquiries from people who want to use a RAMPS board (mainly because they already have one, but also because I have not yet made a commercially available board).
To meet this demand, I plan to implement a configurable print process that lets the user configure the commands that are sent to the board. This way, you should be able to also set up G-Code commands.
So instead of your suggestion, migrating my firmware to a RAMPS board, I will make it possible to talk to a RAMPS board directly.

I am receiveing a complete printer with RAMPS board in the near feature so I can start testing…
If you want to help, it would be cool if you could provide the G-Code commands that you use for your print process including a description of what they are used for.

If you want to stay updated on the development, consider to subscribe 🙂

I’ve been tinkering with Ubuntu 16.04 right now, running from a Live Disk as my internet connection is lost when installing Ubuntu. I downloaded Monkeyprint without any hassle, but i have a hard time getting the dependencies. I get some error messages… Do you happen to know a solution? Linux-Noob…:-/

“ubuntu@ubuntu:~/Downloads/monkeyprint$ sudo apt-get install git-core libvtk5.8 libopencv-core2.4 python2.7 python-vtk python-gtkglext1 python-numpy python-opencv python-imaging python-scipy python-serial
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package python-gtkglext1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package python-scipy is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package python-imaging is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
python-pil

seems like you have not activated the necessary software sources.
Simply run the following command to activate all Ubuntu sources (“Universe”, “Restricted” and “Multiverse”):
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

i´m not 100% confident on the GCode commands as i just use Creation Workshop, but here´s a list of what can be found in the software:

;********** Header Start ********
;Here you can set any G or M-Code which should be executed BEFORE the build process
G21 ;Set units to be mm
G91 ;Relative Positioning
M17 ;Enable motors
;********** Header End **********

thanks for posting the code!
Looks like they are using some sort of expression to get some user defined variables (like the Z lift distance for the build platform $ZLiftDist) converted into G-Code. That’s essentially very similar to what I’m planning 🙂

So G1{$SlideTiltVal != 0? X$SlideTiltVal:} Z($ZLiftDist * $ZDir) F$ZLiftRate basically moves the X axis (the slide or tilt mechanism) if $SlideTiltVal is not zero, then it moves the Z axis (the build platform) $ZLiftDist millimeters in direction $ZDir (which is probably 1 or -1) at a given speed $ZLiftRate.

The next line, G1{$SlideTiltVal != 0? X($SlideTiltVal * -1):} Z(($LayerThickness-$ZLiftDist) * $ZDir) F$ZRetractRate simply moves the tilt / slide axis back and then moves the Z axis up by $LayerThickness-$ZLiftDist at a different speed.

That’s quite interesting: they’re moving the build platform upwards just a little while tilting/sliding the vat, probably this helps separating the print from the vat floor.
Then, they complete the desired layer thickness while the tilt/slide mechanism is moving back.

Well, that’s probably not super hard to implement I guess, I simply need some time and a RAMPs board.
Have you tried sending those commands directly via a terminal to the serial port that feeds your RAMPs board? Would be interesting to see if that works…

hello mr paul
very thanks.
i install monkeyprint.
but to test . i can not test electronical & steper motor.
software runing but electoronic board not runing.
Electronic circuit is correct.
if Should I import g. code ?where?
i can flshed monkeyprint Matching Instructions in menu bar /setting .& load file.stl &suport&slice&print runing & i see layers in view screen small. but step motor &tilt&shutter not runing.
How can the right software to correlate pcb( arduino micro pro)?
Is automatic communication frimware monkeyprint do?
please help me.

please send film your help for me
(mkv8494@gmail.com)
very thanks. dear paul
best regard.

great to hear you’ve built the Monkeyprint board!
I’m really looking forward to seeing some pictures 🙂
If you don’t mind, you can simply post them here as a comment using the “img” button above the comment text editor.
I’ve also sent you an email so that you have my address.

Regarding your problem: seems that there is no avrdude installed on your machine.
I forgot to mention that in the install instructions, so thanks for pointing it out!
I’ve fixed the instructions now. You can install avrdude with the following command:

sudo apt-get install avrdude

If you want to upload the firmware, make sure to pull the Arduinos Reset pin to ground twice, otherwise it will not jump into the bootloader. After you’ve done so, you’ve got 10 seconds to start the firmware upload in Monkeyprint.

Hi paul
I’m very excited with mokeyprint, i want make one by myself. But i’m very bad in electricity. Where i can buy a full part of mokeyprint include mokeyprint board, ubutu, and rasperry pi (if nessesary), and it all connect i just plus and play.
Thank you 😀

Hi Paul,
I had plans of making something similar, but then I found monkeyprint and saw it is already there 🙂 Have you made any progress on the customizable G-Code side? Could you use some help with that? I have some experience with communication to GRBL and was planning to make a communication module for GRBL (and I found that bCNC (G-Code Sender) has a pretty nice implementation). Maybe I could help you a bit.

BTW, I have tried to test monkeyprint and got it to run, but when I tried to load a .stl, I got the following error:
—
Traceback (most recent call last):
File “/home/sebste/Projekte/Software/Playground/monkeyprint/monkeyprintGui.py”, line 1721, in callbackLoad
self.modelCollection.add(filename, filepath)
File “/home/sebste/Projekte/Software/Playground/monkeyprint/monkeyprintModelHandling.py”, line 544, in add
self[modelId] = modelContainer(filenameOrSettings, self.programSettings, self.console)
File “/home/sebste/Projekte/Software/Playground/monkeyprint/monkeyprintModelHandling.py”, line 63, in __init__
self.model = modelData(filename, self.settings, programSettings, self.console)
File “/home/sebste/Projekte/Software/Playground/monkeyprint/monkeyprintModelHandling.py”, line 857, in __init__
self.slicerThread = backgroundSlicer(self.settings, self.programSettings, self.queueSlicerIn, self.queueSlicerOut, self.console)
File “/home/sebste/Projekte/Software/Playground/monkeyprint/monkeyprintModelHandling.py”, line 1953, in __init__
self.sectionStripperModel.SetInput(self.cuttingFilterModel.GetOutput())
AttributeError: SetInput
—
Is this something you know already? Otherwise I will investigate it a little further when I can carve out some time.

thanks for your comment 🙂
Regarding the gCode implementation I was planning to make a settings dialog in the GUI that allows the user to set up his own print loop out of predefined and customizable commands.
Predefined commands would be something like doing the exposure etc, while the customizable commands should be anything that gets sent to the stepper board, like moving the build platform. The user would then simply configure the gCode string that’s needed to do the action.
This approach doesn’t need an actual gCode module, just some GUI coding and some new code for the print process.

What do you mean by communication module?

Regarding your error message: I think it’s a bug related to your VTK version (I’m guessing you are running version 6.x.x). I’ll make a fix today.
I’ve created an issue on my github:https://github.com/robotsinthesun/monkeyprint/issues/4
You can subscribe to that issue I think, so you’ll get a notification once its solved.

Seems it’s not so super easy to fix as I thought.
I’ll have to get VTK 6 first, unfortunately I’ll have to compile it as there’s no package available for my Ubuntu 12.04…
I’ll get back to you once it’s done.
Best,
Paul

Traceback (most recent call last):
File “/home/m/monkeyprint/monkeyprintGui.py”, line 1943, in callbackFlash
self.threadAvrdude.start()
File “/usr/lib/python2.7/threading.py”, line 739, in start
raise RuntimeError(“threads can only be started once”)
RuntimeError: threads can only be started once

that was a bug with the settings file that stores all your settings.
Please pull the latest version from github and delete the file programSettings.txt in your Monkeyprint directory. That should do it…
Thanks for pointing out the bug 🙂

you should indeed post a screenshot.
If your model is big and/or your computer is slow it might be that Monkeyprint just didn’t finish slicing which will look like a noisy box just the size of your model.
If that’s the case there should be a message like ‘Slicer started’ in the message window on the right.

If it still doesn’t work, please start Monkeyprint from a terminal using the -d-flag for debug mode. Then, you can see the output of the slicer while it is running in the terminal.
I am already working on the slicer code to make it more responsive…

I’ve had a look at the LightCrafter 4500 and am not exactly sure if this can be controlled with Monkeyprint. It looks like you have to use TI’s program to upload images directly into the firmware. If it has a HDMI or DVI input things would be different, but I think it has none of these.
Furthermore, the LightCrafter is super expensive regarding the fact it only features WXGA resolution.
Better use the 2000 bucks and get yourself a top notch super high brightness Full HD projector…

Dear Vaughan,
thanks for the nice comment!
As you assume, intersechting parts will be unified, resulting in one part. You can think of a logic “Or” Operation between all slice images from individual models. However, intersecting parts of the same model (read: same stl file) might be unified as well if each of them is watertight, but I haven’t yet tested this.
BTW, there’s a new release with a much better slicer (doesn’t crash all the time and is faster) in the release branch.

I’ve checked out your website, nice modelling work! If you slice or even print some of your models with Monkeyprint, I would be pleased to have some pictures uploaded here!

Ahhhhrgg, my updated code now ignores nested slice contours… So if you slice a pipe, your slice image shows a circle instead of a ring. Seems like it’s not too easy to keep intersections and nested contours apart. I’ll have to investigate a little further…

Thanks for the reply!
Still I do not see me libvtk5.8, but I installed libvtk6 and monkeyprint starts …
Unfortunately now I get this error!
Thank you again
Starting Monkeyprint with GUI.
Monkeyprint version 0.13.0
ERROR: In /build/vtk6-v8B4CW/vtk6-6.3.0+dfsg1/Rendering/OpenGL/vtkOpenGLTexture.cxx, line 200
vtkOpenGLTexture (0x5589d8da2de0): No scalar values ​​found for texture input!

The program ‘monkeyprint.py’ received an X Window System error.
This probably Reflects a bug in the program.
The error was ‘BadMatch (invalid parameter attributes)’.
(Details: serial 624 error_code 8 request_code 155 minor_code 11)
(Note to programmers: normally, X errors are reported asynchronously;
That is, you will receive the error a while after causing it.
To debug your program, run it with the –sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error () function.)

can you send commands via to a usb based projector such as the Acer x112?? we would like to use the software on a raspberry pi 3 but it only has one HDMI butthe Acer x112 uses USB connection to a pc to project a screen image…

no, that’s not possible. Not because it could not be implemented, but simply because afaik there is no projector with a USB video input.
I guess the USB connector on your Acer x112 is for sending keyboard commands from the projectors IR remote to your PC. Please correct me if I’m wrong and you actually tested this…

Hi Paul, Thank you very much for helping all of us , i like your dlp 3d printer and i like to build one for myself i start to buy compenents and buil monkey prind bord. i wil post when i finish it one question i use windows is it possiable to use monkey print with windows 10 ? Thanks a lot …
All my best