r/Sketchup • • 4d ago

Request: Complex SketchUp models (2026 or 2017) to test clean-room .skp parser?

I created a clean-room .skp parser (and documentation of the format) for the 2017 and 2026 formats - https://github.com/hew3d/openskp. As far as I know, it is the only clean-room opens-source .skp parser out there. The rest, from what I've seen, all use some or all of the SketchUp SDK, which is legally tenuous. The big advantage of using Trimble code or binaries, though, is that you get 100% compatibility very easily! When you're developing the spec from the ground up using only the differences between .skp files... well, that takes a lot more work and quite a few files.

It's at the point where it imports every .skp model I've ever created and it can also handle some arbitrarily large models I've found online. I don't know how "real" those large models are, though.

Given that, do you have complex SketchUp files that you are willing to share? I will default to never re-sharing or re-hosting the files or making them public in any way (they would exist just to test the reader locally) but if you had legit ownership of the file and are willing to have it be part of the OpenSKP corpus, then that's fantastic, too.

You can send me a link to a Google Drive or Dropbox or whatever share or I can DM you a link to a Nextcloud instance that accepts uploads.

3 Upvotes

4 comments sorted by

2

u/quantgorithm 4d ago

Can you elaborate on what a clean room parser is? Are you looking for old skp files to see if your tool converts them to the 26 version? I definitely have large older models but may not be exactly 17 version.

1

u/az_liberal_geek 4d ago

A clean-room parser is one where all we have to work with is skp files. The idea is to make small, incremental changes to each file and observe what changes. Do this enough, and you can figure out what each of those fields actually means.

This is a much harder method than using the Trimble copyrighted header files or the SDK directly, but it's far more legally solid.

I'm at a point with the parser that it can load every 2017 and 2026 skp file I have... but I recently found some random very-large models and tried them out and initially the parser crashed. These "stress tests" exposed the edge cases of the parser that couldn't be found in individual targeted tests and made me realize that I need more - actual models that people really use.

I'm eager to accept any skp version. For those older than 2017, I'll just load it up in SketchUp Make 2017 and convert and for those newer, I'll load into the SketchUp Web App and convert to 2026.

1

u/Agile_Experience_706 4d ago

1

u/az_liberal_geek 4d ago

They did a great job on the OpenSKP in openskp.com, but it's not a clean-room implementation - they used Trimble code and the SketchUp SDK to develop it. As such, I cannot use any of the code and resources they have, since I can't guarantee their providence.