(2018-01-31, 13:18)Santeri Piippo Wrote: I have now gotten a proof-of-concept part checker up:
Tests currently implemented:
- Check for self-intersecting, skew and concave quads
- Check for collinearity
- Check for zero matrix determinant (row or column all zero)
- Check for scaling of not-scalable primitives (needs some kind of threshold)
- Check for invalid colours (not in LDConfig.ldr and not direct colours, restrictions on direct colours not yet implemented)
The quadrilateral checks can create redundant errors, e.g. a report for concave quad when it's actually a bowtie, because technically bowtie quads are concave and there's separate tests making these results.
No header tests yet because the header currently is not parsed at all. No corrections performed yet either.
Also includes a test for very thin polygons (smallest angle less than 0.5°). While they are not considered a problem, they're reported as a purely informational notice since they can point to other problems (e.g. gaps).
Pllease don't spend time on adding header checks. I have a header checking script that I use during the Parts Update build and this will soon be incoporated into the submit process. I'll also review this thread to see if other header checks need to be added.
Chris (LDraw Parts Library Admin)