--
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 on the web visit https://groups.google.com/d/msgid/openpnp/be6f7fae-f3fa-44ad-b215-dbe4a5f1123e%40googlegroups.com.
As Jim said, the footprints are really only used for basic visualization currently. I'd like to improve visualization in OpenPnP, and to that end I've been playing with the idea of a footprint generator: https://twitter.com/openpnp/status/1202804241020149760It sort of works now, and you can play with it by running: https://github.com/openpnp/openpnp/blob/feature/package-viz/src/main/java/org/openpnp/gui/pkggen/PackageGeneratorUi.javaJason
On Fri, Apr 3, 2020 at 3:53 AM Jim <rosegarde...@gmail.com> wrote:
--Hi Matt,I think back in 2016, when the Package Editor was born, many things were planned that could be done with the pad definitions (e.g. vision, dispensing, etc.). But honestly, i think they have no use today (except for fiducials) - just looking nice on the screen.What are you planning to do with the pad definitions?
Jim
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 ope...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/1f5eefdf-dcf0-4f32-b1f0-c15d20487596%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/1f5eefdf-dcf0-4f32-b1f0-c15d20487596%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/b79a78ce-46b3-4c01-b5b1-d9d0c4b51187%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CA%2BQw0jzfPhMxey1P35KO3MN%3DL1sNasAKzUU_svMTXYH_5iLJGw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/b79a78ce-46b3-4c01-b5b1-d9d0c4b51187%40googlegroups.com.
PCB footprints != package definitions. Unfortunately the terminology is confusing and both are often referred to as footprints. Think about how the package looks to the bottom camera, versus how the pads look on the circuit board. They are often very different.
I was thinking about that in the past months, mainly driven by
the practicality that importing the "solder paste footprints" would be the only
solution that guarantees consistency and will work without
additional (manual) work, each time a new package is used.
https://youtu.be/opPDZnmrPPE?t=51
I agree that the two things are not the same, and yes I do have
very limited experience. But I have yet to see a package's vision
signature that is completely "estranged" from its solder paste footprint. I
assume a TemplateMatch or similar will find the best fit
regardless of artifacts like pins arching away from pads or
interspersing cream lands on large center pads or leaving the odd
pad unsoldered. Also, at least according to my limited experience,
the smaller and more modern the parts get, the smaller the
difference. With all the "Flat No Leads" and BGA packages (not
that I use the latter) the differences turn cosmetic.
Having said that, I'm sure there will be counterexamples out there. Still, I'd rather hand-edit one out a hundred packages than all of them. ;-)
@Jaroslaw, Jason already added code to read Gerber files for the
solder paste dispenser. This was probably removed along with the
dispenser, but it's still there in the repo. BUT: you
can't use that because the solder paste lands are all flattened
into one layer. There is no semantic connection between the lands
and individual parts. You have to import them from the E-CAD.
I was planning to do that for my old Eagle, and I already checked it out, 90% of the code is already in OpenPNP. Way back I did a similar thing here:
https://makr.zone/pcb-manual-placement-helper-in-html/39/
_Mark
// PipelineScriptAddOffset.js
//
// add some offset to longer side of parts
print("### SCRIPT IN PIPELINE ###");
// arguments
var o = parseFloat(args);
print(" Offset = " + o + " px");
// get result from previous stage named "rect"
var r = pipeline.getResult("rect");
var i = r.getImage();
// get model
var m = r.getModel();
var x = m.center.x;
var y = m.center.y;
var w = m.size.width;
var h = m.size.height;
var a = m.angle;
var c = a * (Math.PI / 180);
// do some simple math
if (w > h) {
x = x + o * Math.cos(c);
y = y + o * Math.sin(c);
} else {
x = x + o * Math.sin(c);
y = y - o * Math.cos(c);
}
// create model
var rr = new Packages.org.opencv.core.RotatedRect;
rr.center.x = x;
rr.center.y = y;
rr.size.width = w;
rr.size.height = h;
rr.angle = a;
// offer modified result
var Result = Packages.org.openpnp.vision.pipeline.CvStage.Result;
var result = new Result(i, rr);
result;