Blindsfeeder exactly how to make Extract 3d printing files button work

102 views
Skip to first unread message

John Swenson

unread,
Oct 17, 2025, 8:01:36 PMOct 17
to OpenPnP
I'm trying to get Blindsfeeders to work. The GUI would not let me change the tape length. After a lot of searching I found I had to include my OpenScad file using the Extract 3d printing files button. I tried that, specified the directory and got an error that the file already existed. Clicked OK OpenSCAD started up, now what am I supposed to do. 

The Wiki does not mention any of this and I can't find any information on this. Since you can only use 56mm tape length blindsfeeders it seems to me to be important information. 

What am I missing, is there some other repository of information somewhere, or can someone go over the precise steps necessary to make this work.

Thanks,
John S.

zzimdog

unread,
Oct 18, 2025, 12:09:11 AMOct 18
to OpenPnP
make sure your BlindsFeeder-3DPrinting.scad and BlindsFeeder-Library.scad are in the same directory. run openscad and open the BlindsFeeder-3DPrinting.scad file. on the left side you should see the code scroll down to the lane definition section. This is where you set parameters for different types of tape. It already has several you can choose from. Once you have whatever tapes you want defined scroll down to the tape_lenght and set it to how long you want the cut tape to be and change the margin if needed. So if you set it to 100 and the margin to 20 the total length will be 120. Then you go down to the lane definition area and add the amount and types of tapes you want in this feeder. Their are some defaults set already so if you design then preview it will show you the default. After you make the changes you want and it looks good in the preview. Press design and then render. You can then click on file export to stl and save it for your printer.

Hope this helps.

Mike

John Swenson

unread,
Oct 18, 2025, 3:16:55 PMOct 18
to OpenPnP
Hi Mike,
yes I have done all this. I have the blindsfeeders printed and mounted them on my machine (PandaPlacer A1). The problem is that the blindsfeeder section in OpenPnP has the tape length set to 56 mm. I used a different length for my feeders. You cannot edit this value. Careful searching revealed that I need to click the "export 3d printer files" button in the blindfeeder GUI, this is supposed to import these values from the scad file. I put the design file and library in the same directory where I have the board file. I clicked the button, I get a popup that says the scad file already exists, it has an OK button, I click that and OpenSCAD program pops up up and sits there. I don't know what to do at this point. Nothing new seems to exist in the directory where I had put the design and library file. At this point I guess I am supposed to do something in OpenSCAD but I have no idea what.

I heave read everything in that link at least 10 times and there is nothing about how OpenPnP gets the tape length and other parameters.

If nobody else knows how to do this I guess I'm going to have to dive into Github and read the code to try and figure out what the code is trying to do.

Thanks,
John S.

John Swenson

unread,
Oct 18, 2025, 4:15:57 PMOct 18
to OpenPnP
Aha, I got confused, the "extract 3D printing files" button is to get the scad files in the first place. OK so that is not it. 
My understanding is that with the blindsfeeder once the locations of three fiducials are known all part locations can be calculated. But this requires some information from the scad file, at least the tape length and the width of each tape. This is the crux of my issue, I don't know how OpenPnP gets this information.  You can't edit the values in the wizard so it has to get it from somewhere. If it does not read the scad files directly then how does it get the info?

So then how does the OpenPnP code get the info from the files? Is there a specific location where I should put my scad files, or is there some place where I tell OpenPnP where to find them? Or is there some different file that I have to create from OpenSCAD?

Thanks,
John S.

John Swenson

unread,
Oct 18, 2025, 9:20:51 PMOct 18
to OpenPnP
One more thing, I see the information seems to printed on the side of the base, so maybe there is OCR going on to read this info. If so it is going to be very hard read, it is very low contrast, it is all in the same green filament. I can barely see it in the camera view. 
I don't see anything trying to read this. The fiducial calibrate does run the camera down that side, but it is running really fast. There are some options for OCR, do I have to set one of these in order to get it to try and OCR this info? 

Thanks,
John S.

Mike Z

unread,
Oct 18, 2025, 11:33:58 PMOct 18
to ope...@googlegroups.com
You don't need to set anything as far as the length etc. You just navigate to the fidicuals and lock them in and then it figures out the length center of parts etc. Follow what Mark is showing in this video. Setup in openpnp starts around 3:40

I am not sure on the ocr. I think it just shows in the preview mode. I haven't had it show up once I render the file. I believe it lets you print OCR and labels on tape and then place that on the part you left for the margin size. I think it is basically used to just set the feeder for what parts are in it and not for determining the feeder length etc. 

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/openpnp/1b7f7ec8-3fc0-4397-a341-260ccbb17811n%40googlegroups.com.

John Swenson

unread,
Oct 20, 2025, 2:21:08 PMOct 20
to OpenPnP
OK, I get it now, the fiducial calibration sets the tape length. But unfortunately it's getting it wrong in my case. I printed 60mm tape length, but the tape length after fiducial calibration is 56mm. With that number wrong the push pull of the blind is wrong. 
Ok so this looks like either the 3d printer gets the dimensions wrong (which is doubtful,  the holes in the tape perfectly line up with the  "horns") or the PnP machine is not right. I've already done careful calibration but it looks like I need to do it again. 
I found where the information is stored in an xml file so if I can't get the automatic process to work I should be able to manually change the xml. 

Thanks,
John S.

Mike Z

unread,
Oct 20, 2025, 3:06:24 PMOct 20
to ope...@googlegroups.com
That is strange. maybe measure it with the camera from first hole to last and see what it shows. I have not edited the xml but might need to modify more than just the length. I would think it would change part quantity etc. Seems like something is off in your calibrations. Does the machine find all the parts correctly when you move the camera around? Have you tried just double sided taping a strip to the table and see if it aligns with the parts etc? Are you using the latest test version of openpnp? Hopefully one of the more advanced users can chime in with things to look at. I am running a panda placer and lite placer and have not seen these issues. I do not use the blinds covers  but have not had any issues with it finding the tape length etc. 

I have not seen any posts from Mark in quite awhile so not sure if he is around.

mark maker

unread,
Oct 20, 2025, 3:34:33 PMOct 20
to ope...@googlegroups.com

Hi all

just quickly, I'm still very much in the 🕳️🪏 work wise 🙁

The Blindfeeder SCAD parameters are documented, so it says you should use multiples of 4mm for tape_length, which you did with 60mm ✅

> So then how does the OpenPnP code get the info from the files? Is there a specific location where I should put my scad files, or is there some place where I tell OpenPnP where to find them? Or is there some different file that I have to create from OpenSCAD?

As you figured out, it derives that from the measured fiducial distance. Note, it uses the machine position for that.

> OK, I get it now, the fiducial calibration sets the tape length. But unfortunately it's getting it wrong in my case. I printed 60mm tape length, but the tape length after fiducial calibration is 56mm.

The things to check:

  1. Your machine really moves 60mm when you tell it to move 60mm? Use millimeter paper under the camera to check. If not, adjust the steps/mm in your controller.
  2. (unlikely) Your 3D printer really prints 60mm when you tell it to print 60 mm? Perhaps measure the BlindsFeeder. Or use one of the many dimensional accuracy test prints out there.
  3. Does it overly round the corners of the diamond shaped fiducials, i.e. do you have filament threads taking a "shortcut"? Fotos?
    (it sometimes did that on my early prints, I fixed it with adhesive spray and maybe other tweaks, don't really remember specifically)
  4. Check the fiducial vision: does it really nail the diamond shaped fiducials? 
  5. Good color keying? Have you done the White Balance
  6. Background gives good contrast against the key color?

_Mark


From: Mike Z <zzi...@gmail.com>

Sent: Monday, October 20, 2025 at 9:06 PM UTC+2

To: ope...@googlegroups.com

Subject: RE: [OpenPnP] Re: Blindsfeeder exactly how to make Extract 3d printing files button work


John Swenson

unread,
Oct 20, 2025, 3:55:47 PMOct 20
to OpenPnP
I did various calibrations and the results were the same. Doing the fiducial calibrations gives a tape length of 56, which is the distance between the centers of the fiducials, NOT the tape length. In the video the printed tape length was 80mm and the tape length after the fiducial calibration was 80mm. This tells me that the current fiducial calibration is not adding the 4mm to the fiducial spacing to get the tape length.
The problem with this is that cover calibration starts off in the wrong place, the nozzle is touching down on the tape rather than behind the little tab on the blind. Thus cover calibration has a really hard time trying to figure things out right. 
I loaded the latest version, 2.4, and the same problem is happening. 

So it looks like my only choice now is to edit the xml file and put the real tapelength in there. 

I'm not sure of the process for officially reporting this.

Thanks,
John S.

John Swenson

unread,
Oct 20, 2025, 4:23:32 PMOct 20
to OpenPnP
Hi Mark,
here are the answers:
#1 Yes the machine does move 60mm when told to do that. I measured to at least 0.1mm accuracy. Getting higher accuracy will take some setup.
#2  I checked the length of the base with a digital caliper and it was 59.94, pretty good for a 3d printer.
#3 No filament threads on the fiducials. The images look quite good.
#4 I checked the pipeline and was not getting good results. I tweaked the hue and saturation a bit to work well with the filament I'm using (Bambulab PETG lime green). With that I get a solid black everywhere of the green filament and pure white in the hole of the fiducial.
#5 yes I have done white balance it's pretty good but not perfect, there is a very slight blue tinge to the white background.
#6 yes there is good contrast between printed part and what is underneath.

I took the numbers that fiducial calibration produced and came up with 56.19mm, which looks like very close to what it should be. It seems like the code is using that as the tape length rather than adding adding 4mm to it.

I will try and get some pictures of the raw image and the mask and post those later.

Thanks,
John S.

tonyl...@gmail.com

unread,
Oct 20, 2025, 4:59:41 PMOct 20
to OpenPnP
I looked at the BlindFeeder's code and can confirm that it sets the tape length to the distance between the first and second fiducial (rounded to the nearest 2mm):

    private boolean updateFeederToMachineTransform() {
        .
        .
        .
        Location origin = fiducial1Location;
        double mm = new Length(1, LengthUnit.Millimeters).convertToUnits(origin.getUnits()).getValue();
        double distance = origin.getLinearDistanceTo(fiducial2Location);
        .
        .
        .
        setTapeLength(new Length(Math.round(distance/2/mm)*2*mm, origin.getUnits()));

John Swenson

unread,
Oct 20, 2025, 6:55:59 PMOct 20
to OpenPnP
Hi Tony,
could you please tell me where this code is in the source tree. I spent a fair amount of time trying to find it and was unsuccessful.

Thanks,
John S.

John Swenson

unread,
Oct 20, 2025, 6:57:58 PMOct 20
to OpenPnP
Here are some snips of the pipeline.

Screenshot 2025-10-20 153416.pngScreenshot 2025-10-20 153803.pngScreenshot 2025-10-20 154435.pngScreenshot 2025-10-20 154500.png

John S.

mark maker

unread,
Oct 21, 2025, 12:46:42 PMOct 21
to ope...@googlegroups.com

Hi John S.

I guess the whole thing is running as it should, just bad UX against the OpenSCAD param name, I'm afraid. 🙁

If you create a brand new BlindsFeeder, it is initialized like this (screenshot below), the edges are then added after the fact, so 56mm + 2mm + 2mm = 60mm

Maybe you have set them to zero at one point, thinking (understandably) that this is the default. Or you used calibration until they got "eroded away" (tends to happen). Please reset them to 2mm each and retry the Calibration. Once vision is stable, these should remain stable, i.e. no longer "erode".

Again, I admit that's bad UX, the Tape Length should include the total and the Edge Distances should be zero at their default settings.

If one fixes that in the code, it would have to carefully migrate existing feeder configs in the wild on first run after upgrade, otherwise they get broken by the new version. That's probably why I haven't fixed it long ago. Sorry.

_Mark


From: 'John Swenson' via OpenPnP <ope...@googlegroups.com>

Sent: Tuesday, October 21, 2025 at 12:57 AM UTC+2

To: OpenPnP <ope...@googlegroups.com>

Subject: RE: [OpenPnP] Re: Blindsfeeder exactly how to make Extract 3d printing files button work

John Swenson

unread,
Oct 21, 2025, 3:28:51 PMOct 21
to OpenPnP
Thanks Mark!

That was it, they  were far away from 2. I set them both to 2 and tried the cover calibration and it worked perfectly! Everything is now working. 
Is there a  possibility of getting this into the documentation? 

Yesterday I got the actual parts in and measured the tape thicknesses and reprinted the base with the actual thickness values. Today I'm loading the parts and give this a try with the  board. I'm assuming the covers will be the same and the small changes in thickness will just be in the base.

And thanks for this, I need to place lots of 0402 parts and have tried 4 other cut tape feeders and none of them handled 0402s at all. I even tried a couple of my own designs that I couldn't quite get to work. (that was probably because I didn't know about the "thin wall" setting) BlindsFeeder is the only one that seems to work. I'm probably going to actually place the board tomorrow, I'll let you know how it went.

Thanks,
John S.
Reply all
Reply to author
Forward
0 new messages