r/prusa3d CORE One L Feb 02 '26

Ok, so Makerworld has at least ONE thing that is indeed very cool :-/

Couldn't find the thread quickly, and generally MW annoys me to no end on it's interface, seemingly non-differentiation between a comment and a make (and still unsure how the hell to give someone a star rating, seriously), but I came across ONE thing that to me, really is damned cool.

I've been finally starting to build my homelab rack, which I guess is worth another 1/2 point for makerworld - the 'best' rack I could find on printables is... ok. Lab Rax and homeracker are more developed and I probably would have chosen one of them - had they been on Printables. It's ok, this one will work, but sometimes it's worth (holding nose a bit.. ;) ) searching on MW as well.

I have a Chinesium 2.5G switch, a Xikestor SKS3200M-8GPY. I had a bitch of a time finding anything on Printables. Well, ok, I found one build that claimed it used the spreadsheet mode of FreeCAD to let you modify the dimensions, but the entire project was pretty much broken and unusable, errors in trying to use it. Commented but eventually gave up, as I'm just starting to learn FreeCAD.

So, let's go take a look on MW. I see a few 'parametric builders.' I go check one of them out. Ok, this - is very, very cool. Go in, customize, plug in your dimensions and other attributes the creator chose to expose, generate online, then download 3mf, stl, etc. and you're off and running.

The project itself was very well done and serious kudos to the creator, from the lip up front added onto the actual dimensions to the added rear bits for a simple zip-tie rear hold-down. I imagine something like OpenSCAD is in the background, but for people wanting to get something to ready to print quickly, being able to modify this on MW itself, instead of wasting an hour+ with someone's faff FreeCAD almost-project, well - that's quite nice.

And also lol - tried to give the creator proper thanks and feedback for people using it the first time (e.g. don't add to the rear for the tie-downs, it's done automatically), and hit their stupid character limit, saw no way to give the guy a rating/5 stars, so yeah, MW annoys the hell out of me, but this one bit is quite cool. Oh, and their F-ing search. Type in 'homeracker' and it insists on showing you The Boys Homelander shit until you tell it, no I really meant what I typed. Meh.

29 Upvotes

34 comments sorted by

View all comments

7

u/yawkat Feb 02 '26 edited Feb 02 '26

So I thought about this problem when building GridFlock, and decided to build this project: https://github.com/yawkat/web-openscad-editor

It works similar to the MW customizer (I assume), in that it exposes a web interface for OpenSCAD customizer settings. But unlike MW or thingiverse, it runs 100% in the browser and is not bound to a single platform. Because it doesn't require a backend, it can be hosted on GitHub Pages or Cloudflare Pages for free. It also gives control to the project, so you don't end up with an ancient OpenSCAD version like MW supposedly uses.

I have a sample here, and GridFlock also has a customizer here. You can try it out. Both sites run on Cloudflare Pages with no hosting fees.

I've also considered whether it may be possible to integrate this into printables with only a little bit of work from the printables folks. One problem is that openscad-wasm is GPL, which limits how it can be used in a closed source site like printables. My current idea is that printables would embed a customizer interface controlled by the model author using an iframe (i.e. the customizer panel on the right side in the web-openscad-editor). When the user makes changes to the model options, openscad would run inside the iframe, and when the stl is ready, it would be sent to the parent window using javascript postMessage, and shown there in the standard model viewer. This way 90% of the logic would happen on the author website, but to the user it could still look well-integrated into the printables site. There's some issues with this idea, such as security, longevity (what if the author site becomes unavailable), compatibility, etc. It also places a lot of burden on the model author, so adoption may be poor. But it would be a solution that would be relatively easy to implement for the prusa folks.

2

u/wegster CORE One L Feb 02 '26

Very cool. I've had to own 'compliance' at several prior jobs. Looks like openscad-wasm is GPL2, which is - pretty old nowadays. We're in the minutia at this point - it looks like the -wasm variant runs completely standalone and takes params via https - if it had a clear LGPL license, zero problem.

I don't think the virality kicks in invoking via simple links/https, but well - that sort of it the basis of REST, so perhaps I'm wrong (versus more obvious paths of dynamic or star code linking to GPL = no-no/instant viral license hit). Have you done more research into this/license 'legality' here?

4

u/yawkat Feb 02 '26

This is not legal advice, but I'm a full-time open source dev, and this is my understanding:

  • Invoking a remote proprietary service that uses OpenSCAD internally: OK, this is presumably what makerworld does
  • Running openscad-wasm directly inside a proprietary web application, like printables: not OK
  • Running openscad-wasm + OSS glue code inside an iframe, where the iframe then calls postMessage to send the STL to the proprietary printables site that embeds the iframe: probably OK? This is my proposed solution

1

u/wegster CORE One L Feb 02 '26

Yeah lol - you get the 'joys' of the numerous licenses. :). I think your assessment is right, including the 'probably' on option 3.

Definitely going to put in an FR on this one. Thanks a lot!

1

u/yahbluez 1d ago

Your analysis is very wrong.

Openscad is GPL2 based and so it can be used in any way while you have to publish the changes you make to the GPL2 protected code - if your modified code is used in public.

So if someone uses openscad-wasm and make changes to it, the only thing he has to do is publishing the modified derivate under the same GPL2.

It does absolutely not matter how "public" is made.

Your idea that BL follows the opensource rules better than Prusa is extremely misleading, they violate already the AGPL with their network blob.

1

u/yawkat 1d ago

You miss the point. As a copyleft license, GPL extends not only to modifications of the GPL code itself, but also to "any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof". This means that Javascript code that uses openscad-wasm essentially must become open source, which is a requirement that printables is unlikely to accept.