<nomike>
I have had an idea to improve the workflow for 3D printing, but I'm not sure how to get to that point. I was able to integrate PrusaSlicer into OpenSCAD by defining it as a local print service application in preferences.
SamantazFox has quit [Ping timeout: 244 seconds]
<teepee>
yup, that's what I have too :-)
<teepee>
how to improve that?
SamantazFox has joined #openscad
<teepee>
I have some ideas but those likely require changes in prusaslicer
<teepee>
like "--clear-build-plate"
<nomike>
So now, when I hot F8, PrusaSlicer opens and adds the design to the build plate. If I hit F8 again, a new instance of PrusaSlicer opens. Which is undesirable. So I added the '--single-instance' parameter to the call. Now there is only one slicer instance, but every time I press F8, the object gets added to the build plate, so I have it there miltiple times.
<nomike>
I was thinking about filing a feature request to PrusaSlicer to allow for monitoring file changes (e.g. with iNotify or whatever they chose). So PrusaSlicer would reload the object automatically.
<nomike>
But the file which OpenSCAD exports to the temporary folder has a random-generated filename. So that wouldn't work.
<nomike>
Yeah, I like your --clear-buildplate idea.
<teepee>
it might also be much easier as file system watches across multiple platforms are not exactly easy
<nomike>
True
<teepee>
but if they prefer the watch, I'm sure we can cover that in openscad
<teepee>
Cura has that feature
<nomike>
BTW: Can you confirm something for me? If I select OBJ, 3MF or any other file-format OpenSCAD still always produces an STL file. I think that's a bug.
<teepee>
with the flatpak?
<nomike>
No
<nomike>
source-compiled
<teepee>
how fresh is that source?
<nomike>
With flatpak it doesn't work at all, as the F8 option isn't available at the moment.
<nomike>
2025.02.24 - maybe I should update. Give me a few minutes.
<teepee>
oh, right, it's building right now
<teepee>
yes, I had some changes yesterday that *should* fix that
<teepee>
including said "disable remote print services" by default
<teepee>
Argh, where is my esphome update? :-)
<nomike>
While the latest version is comoiling, I will head over to the PrusaSlicer github and file a freature request for a --clear-buildplate option.
<teepee>
hmm, looking at the repo, they don't seem to integrate external changes
<teepee>
I understand issues with bigger changes, we have that too (altough no paid devs here)
<teepee>
but even typo fixes are not merged
<nomike>
I met Nikolai, the/a Development Manager of PRUSA Research, at FOSDEM this year and we had a short chat. I talked to him about adding an API to printables.com. There is one for thingiverse.com which is a bit buggy and isn't very great. But at least there is something. As by their request, I've sent an email with a sales pitch to them so they can present their managers that there is a need for that in the community. I haven't
<nomike>
heard back from them since though...
<teepee>
I just use their graphql endpoint :D
<teepee>
but API would be very nice
<teepee>
I missed the last FOSDEMs, that's always an annoying place in the calendar for me
<teepee>
just heard it was crazy full again
<nomike>
GraphQL? Interesting. I guess this doesn't offer write-capability, right?
<teepee>
probably not. I have not looked at how upload and such stuff works, but I assume graphql is read/query-only
TheCoffeMaker has quit [Ping timeout: 268 seconds]
<nomike>
It was my first time being there, and yes it was crazy full. A partner of mine works in Brussels for a year and I was able to visit her and spend a few days and then went to FOSDEM with a friend of mine from Vienna. Was quite awesome there.
<teepee>
yeah, quite some running around between the big rooms, all the dev rooms were difficult to get into a couple of years ago
<teepee>
and certainly lots of people from almost around the world
<nomike>
And yes, Prusa is not doing great with software development practices. e.g. PrusaSlicer relies on libbgcode which has this issue open for 1 1/2 years (almost as long as that library exists): https://github.com/prusa3d/libbgcode/issues/31
kintel has joined #openscad
<kintel>
Seems to be the deal of so many SW outfits; software quality is dead. ..and I fear it's getting worse with ever vibe coded feature : /
<kintel>
teepee Yeah, there are still good stuff out there. I'm mostly observing a trend; I'm seeing so much untested code at $dayjob, it's embarrasing : /
<kintel>
and yeah, cheating the coverage counter seems to be fair game too :(
<InPhase>
teepee: Add 5000 copies of _=0 to the end of the program to get 90% test coverage.
<InPhase>
teepee: If this doesn't work, try 50,000 copies.
<teepee>
haha, .coverage = ignore:*.py also helps :)
<InPhase>
Every stupid statistic has a stupid fix. :)
<teepee>
yep
mmu_man has quit [Ping timeout: 245 seconds]
<teepee>
that said, I really try do do good test cases with actual verifcation as we also do deployment and 2nd level support
<teepee>
having the car production stop is not so great
<nomike>
So, meantime I finished re-compiling OpenSCAD from the 55a638fa43116cca812d3a0b2d24b4ba35a238b5 Sun Feb 23 22:55:03 2025 +0100 commit, and I still have the same issue. Local-app printing always exports an STL, regardless of what I set in preferences.
<teepee>
oh, there's another setting in the print dialog
<teepee>
I'm not sure how they currently interact, that could be a bug indeed
<InPhase>
teepee: Working for TSLA? ;)
<teepee>
what's the phrase "hell no"?
<InPhase>
:)
<teepee>
BMW
<InPhase>
I haven't checked lately, but hopefully they got their reliability ratings back up.
<teepee>
I don't follow that much, but certainly in a better place than VW
<kintel>
teepee Did you look into https://hypothesis.works for python testing? I used it a bit back when I was writing python. Great for numeric stuff
<InPhase>
They had some pretty bad years, as a high end brand coming in below low end brands... But it looks like there is increased confidence in the newer models.
<teepee>
kintel: no, I'll have a look
<teepee>
but most of the code is workflow / data transform not much algorithms or calculation
<teepee>
nomike: flathub beta is updated to latest master branch, might take a bit for the official repo to catch up
<InPhase>
teepee: Is it just me, or is that a blank page?
<teepee>
you may need to login first :)
<InPhase>
:(
<teepee>
or register if you did not do that in the last 3 years
<teepee>
new platform started 2022
<teepee>
and they sort ascending, so the inital active year is always 2022 ;-)
<InPhase>
I saw that, and decided not to accept the newly added terms covering 3 years ago. :)
<InPhase>
But I did review and accept the 2025 stuff.
<teepee>
cool, as far as I understand Sean can see that in his dashboard and assign us then
<InPhase>
Looks like June 2 through August 25 this time.
<InPhase>
So I guess back to full summer, which is better.
<InPhase>
I did not like the half summer idea.
<InPhase>
Too much time is lost onboarding for that to have merit.
<teepee>
yeah, the very short projects likely only work for a very small number of projects
<kintel>
InPhase I'd say just add your name as a potential mentor to the applicable projects. That's what people will see. And Sean can do the backoffice paperwork in the meantime to get you registered :)
<InPhase>
kintel: I don't think I have a clicky button to add myself. I see nothing else on the page, but accepted the agreements.
<kintel>
I had the same issue last year, and Sean had to add me manually
<InPhase>
Yeah. Most of the emails Sean has been sending out have been going to my spam box.
<InPhase>
I've gone through and tried to mark them all as not spam when I noticed this. There were a lot, and most have probably scrolled off into already deleted spam.
<kintel>
yup, github is the source of truth :) ..and anyone firing off applications should be well-known to us already through IRC or GitHub comms, otherwise they're going to be hard to accept :)
<InPhase>
Noooo. Why is there an MSVC targetting project? lol
<InPhase>
Isn't msys2 a smart choice, as far as windows development goes?
<kintel>
Heh, I both hope and fear someone picks that up
TheCoffeMaker has joined #openscad
<kintel>
msys2 is probably smart for Unix folks dabbling with Windows, but it sucks for everything else as it doesn't produce Windows binaries and the tooling isn't very Windowsy. Makes it hard to attract any "real" Windows developers
<kintel>
I expect the hard parts to be dependencies and CI - I think the codebase itself probably builds more or less under MSVC as is
<InPhase>
kintel: Okay, I added myself to all the non-MSVC ones as a potential mentor. :)
<kintel>
I guess MSVC isn't the key here, regular Windows binaries are. ..and if clang/gcc/whatever works better on Windows than MSVC, let's use that :)
<InPhase>
kintel: Don't need to trigger any PTSD or anything.
<kintel>
haha, I'm already mentally preparing for that. But I probably want someone with above average skills to take that on, as they'd practically be our mentors :)
snaked has joined #openscad
<kintel>
I probably have to boot into Windows again, but that's life : /
<InPhase>
We must be missing some other good idea for a project though.
<InPhase>
Nothing there has any dazzle qualities to excite candidates.
<kintel>
I got charred by previously "easy" projects which totally bombed because candidates needed something easier than "easy"
<InPhase>
It depends on the candidate. They have to be inspected for readiness versus bluster.
<kintel>
My favourite projects these days would be "Refactor X to make it easier to change". Not particularly sexy either :)
<InPhase>
Probably most of these are not people we want refactoring though.
<InPhase>
The vast majority of GSoC candidates are going to be architecturally weak.
<InPhase>
That just takes more years.
<kintel>
true, it's just that gsoc is structured as independent projects, not "junior intern who get to write isolated features and improve test coverage" ..
<kintel>
But who knows who we may attract :)
<InPhase>
Are there any more formats we might want color output for, and which actually support it?
<InPhase>
If so, maybe this has a bit more dazzle in prettier output and readiness for multicolor printers, while still being straightforward in definition.
<teepee>
there were at least 2 topics I thought could work but should have added them directly to the list... maybe next time
<kintel>
OBJ is on my list. The importer needs some love, and we need to establish better import tests, but that's a pretty isolated job. I bet teepee would do it in 3 days, so would be a good 2-month intern project ;)
<teepee>
or maybe I can still find those posts
<kintel>
I'm generally against writing exporters without also writing importers, as it's a nightmare to test
<kintel>
For maximum hype factor: Make the editor AI aware (copilot etc.). Unfortunately QScintilla is dying, so perhaps a better project would be starting on an editor replacement
<kintel>
I was thinking the other day: As AI-assisted programming is getting more popular, anyone with an embedded editor is dead in the water as everyone swarms to the new, big editors. Even the giants are supporting this now (e.g. there is copilot support even in Xcode).
<kintel>
..but I guess the same goes for programming languages. The heavily indexed and trained-on languages get a disproportionately high influx of new users, and we're not exactly top-10 : /
<kintel>
..so the next project would be: Build a massive index of OpenSCAD code, and train some OSS language model on it
<kintel>
..which pretty much means build a thingiverse-like thing and make it the #1 place to go for OpenSCAD folks, by integrating it with OpenSCAD itself.
<kintel>
That should keep us busy for a decade or so :)
<teepee>
makerworld tries already
<kintel>
Of course, everyone wants to be the one controlling the data
<kintel>
It's the new gold: Certified human-authored artifacts
<teepee>
yeah, certified and licensed, that's going to be some fight
ToAruShiroiNeko has joined #openscad
<teepee>
local image search is already pretty impressive
<teepee>
I just typoed airplane (german = "flugzeug") as "fligzeug" which is sort of a bad spelling of not really a word for something that flies
<teepee>
correct spelling gives airplanes only, other one gives helicopters in addition
<kintel>
nice
<teepee>
just on a 8gb raspi
<teepee>
I tried explaining a dice asking for an openscad model
<teepee>
in most cases that gave reasonable "thinking" but just useless results
<teepee>
one of the big ones (I think that was deepseek) came close at least getting 4 of the numbers in the right places
<teepee>
so I'm not sure self training with just code is good enough
<teepee>
it probably gets the syntax right, but the model is still random garbage
<teepee>
haha: mirror([1, 0, 0]) // Un-mirror the 2
<kintel>
Right, so project #3: Advancements in spatial AI reasoning :)
<kintel>
Last I checked, I think that could be done for USD 50 billion, give or take a few hundred billion
<teepee>
just call it the greenland-panama project
To_Aru_Shiroi_Ne has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 248 seconds]
To_Aru_Shiroi_Ne has quit [Ping timeout: 252 seconds]
ToAruShiroiNeko has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
guso78k has quit [Ping timeout: 240 seconds]
J25k59 has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 244 seconds]
ToAruShiroiNeko has joined #openscad
J25k79 has quit [Ping timeout: 240 seconds]
ToAruShiroiNeko has quit [Ping timeout: 245 seconds]
To_Aru_Shiroi_Ne has joined #openscad
To_Aru_Shiroi_Ne has quit [Ping timeout: 244 seconds]
To_Aru_Shiroi_Ne has joined #openscad
To_Aru_Shiroi_Ne has quit [Ping timeout: 244 seconds]
ToAruShiroiNeko has joined #openscad
kintel has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
To_Aru_Shiroi_Ne has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 265 seconds]
To_Aru_Shiroi_Ne has quit [Ping timeout: 245 seconds]
ToAruShiroiNeko has joined #openscad
To_Aru_Shiroi_Ne has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 244 seconds]
To_Aru_Shiroi_Ne has quit [Ping timeout: 248 seconds]
To_Aru_Shiroi_Ne has joined #openscad
To_Aru_Shiroi_Ne has quit [Ping timeout: 252 seconds]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 268 seconds]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 272 seconds]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 244 seconds]
To_Aru_Shiroi_Ne has joined #openscad
To_Aru_Shiroi_Ne has quit [Ping timeout: 244 seconds]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 244 seconds]
To_Aru_Shiroi_Ne has joined #openscad
guso78k has joined #openscad
stealth_ has quit [Quit: Leaving]
To_Aru_Shiroi_Ne has quit [Ping timeout: 260 seconds]
ToAruShiroiNeko has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
nomike has quit [Ping timeout: 252 seconds]
ToAruShiroiNeko has quit [Ping timeout: 248 seconds]
To_Aru_Shiroi_Ne has joined #openscad
<hramrach>
I have seen some native looking Windows applications that were actually built with msys or mingw32 on Linux. MSVC is not really not needed for that. The problem with msys last time I tried it was that it targets some very ancient mscrt library, and if some dependencies need something newer it gets messy.
<hramrach>
The other part of looking native is an installer which is fairly independent of the compiler used.
<hramrach>
Also how does WSL change that? I haven't used Windows for quite a while so can't say how much pain it's using WSL instead of native applications.
<guso78k>
other issue with MSYS2 created windows applications is that msys2 also needs to be installed in the target user's computer
To_Aru_Shiroi_Ne has quit [Ping timeout: 248 seconds]
ToAruShiroiNeko has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 276 seconds]
To_Aru_Shiroi_Ne has joined #openscad
To_Aru_Shiroi_Ne has quit [Ping timeout: 276 seconds]
ToAruShiroiNeko has joined #openscad
To_Aru_Shiroi_Ne has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 244 seconds]
<hramrach>
guso78k: does it? I never encountered such dependency.
guso78k has quit [Quit: Client closed]
J25k59 has quit [Quit: Client closed]
J25k59 has joined #openscad
<Scopeuk>
from memory it relies upon a bunch of dll's containing the MSYS2 backing libraries, you can either ship them all (licencing concerns to be established) with your executable to rely on a pre-existing set of them installed in the system executable search path
dustinm` has quit [Read error: Connection reset by peer]
guso78k has joined #openscad
<guso78k>
In my experience the compiled exe binaries did not even work, when i launched them in CMD shell instead of inside MSYS2. In case there is a setting to improve that, i dont know it.
<hramrach>
yes, that's what an installer is for: packaging the binaries and libraries needed for the application.
<hramrach>
You can surely make build a a binary that does not work with MSVC as well, that broken binaries can be produced does not in itself disqualify the compiler.
<hramrach>
IIRC ruby used to use msys for building the windows binaries, some VNC variant (tigervnc?), some screenshot utility (greenshot?) and probably others that I am not aware of because they just work like any other application.
snaked has quit [Remote host closed the connection]
guso78 has quit [Ping timeout: 260 seconds]
To_Aru_Shiroi_Ne has quit [Ping timeout: 272 seconds]
ToAruShiroiNeko has joined #openscad
dustinm` has joined #openscad
ToAruShiroiNeko has quit [Ping timeout: 248 seconds]
To_Aru_Shiroi_Ne has joined #openscad
<ali1234>
you can build executables that don't need the msys support lib because it is just gcc in the end
<ali1234>
i cant remember how you do it though
mmu_man has joined #openscad
<Scopeuk>
conventionally that is static linking at build time