<InPhase>
Wow. Eating 46GB and still processing almost an hour later.
<InPhase>
guso78: What in the world did you do to this design? lol
<InPhase>
Maybe something should be toned down for the final version. Most users will not be able to render this.
<InPhase>
Is there some extreme smoothness set at some part?
<InPhase>
Oh...
<InPhase>
$fn=50; ... hull() ... sphere(r=0.1);
<InPhase>
This is repeatedy doing hull of $fn=50 spheres.
<InPhase>
Could most of that be cylinders instead?
teepee_ has joined #openscad
teepee has quit [Ping timeout: 240 seconds]
teepee_ is now known as teepee
califax has quit [Remote host closed the connection]
califax has joined #openscad
pah has joined #openscad
snaked has joined #openscad
LordOfBikes has quit [Ping timeout: 256 seconds]
LordOfBikes has joined #openscad
<InPhase>
teepee: The render finished after 3 hours or so. Unfortunately, the 3mf file is 92MB and the stl file is 250MB.
<InPhase>
Github will block files larger than 100MB from push. I COULD add the 3mf file, but the stl file would be rejected. Do we want to put that 3mf file, or should we question our life choices first?
<InPhase>
And that's with binary stl export.
<InPhase>
I can see why it was such a render mess. Each ball was generated 5 times, and so the balls are actually a union of the oriented faces from all 5.
<InPhase>
Even just fixing up the 5X duplication on the balls would probably drop that down to like a 20MB or smaller file and maybe 15 minutes or less for a render.
mmu_man has quit [Ping timeout: 256 seconds]
<InPhase>
The code is a little obfuscated in its construction though, so that change is probably best made by guso78k.
fling_ has joined #openscad
fling has quit [Ping timeout: 240 seconds]
<InPhase>
I just added 2 images at that link, one of the full render, and one zoomed into the 5x duplicated balls to illustrate the issue.
<InPhase>
The cylindrical pieces also appear to be duplicated. At least twice.
GNUmoon has joined #openscad
GNUmoon has quit [Remote host closed the connection]
juri_ has quit [Ping timeout: 256 seconds]
GNUmoon has joined #openscad
<InPhase>
guso78: Oh, you are still connected. My tab complete was missing your name when I tried earlier. See the above files. :) ^
fling_ is now known as fling
fic8 has joined #openscad
<fic8>
hey
fic8 has quit [Client Quit]
juri_ has joined #openscad
juri_ has quit [Ping timeout: 245 seconds]
J23k5 has joined #openscad
J23k95 has quit [Ping timeout: 250 seconds]
juri_ has joined #openscad
kintel has joined #openscad
arebil has joined #openscad
juri_ has quit [Ping timeout: 264 seconds]
<InPhase>
Also, according to my OpenSCAD memory log that I still have running, this was the physical memory required to complete that render: 51607.602 MB
<InPhase>
That's a new record in my log. :) Previous was 40018.461 MB
<InPhase>
It's only the third one that ever went over 32GB.
juri_ has joined #openscad
juri_ has quit [Ping timeout: 245 seconds]
<pca006132>
wow what is this?
<pca006132>
I think manifold cannot handle meshes that eat your RAM as breakfast
<pca006132>
we are still using 32 bit integers as indices
clemens3 has quit [Ping timeout: 276 seconds]
juri_ has joined #openscad
juri_ has quit [Ping timeout: 260 seconds]
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
juri_ has joined #openscad
juri_ has quit [Ping timeout: 255 seconds]
juri_ has joined #openscad
clemens3 has joined #openscad
juri_ has quit [Ping timeout: 240 seconds]
<peeps>
kintel just got home from a trip visiting my sister for a bit. i barely remember what benchmark files i was referring to, I think I can dig them up this weekend.
<peeps>
not sure which ochafik scripts you refer to, he didn't comment in the linked issue
<peeps>
s/kintel just/kintel: just/
<InPhase>
lol. Punctuation is important there.
<peeps>
yeah. tab completion normally would have added a separator for me, but I missed it since you can't tab complete an offline nick
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
cltsang has joined #openscad
cltsang has quit [Client Quit]
juri_ has joined #openscad
greenbigfrog has joined #openscad
juri_ has quit [Ping timeout: 268 seconds]
guso78k has joined #openscad
<guso78k>
InPhase, it rendered quite fast in my place(maybe 5 secs). but of course, we can greatly reduce $fn
<guso78k>
$fn is just used to make spheres and cylinders look pretty, maybe 15 is enough ...
<guso78k>
Not it was not be, but my ZNC i was asleep.
juri_ has joined #openscad
<guso78k>
and yes, i admit its obfuscated, I had issues to remembr, how it worked when I coded that in my beginning time with openSCAD. but I believe its rather efficient way to assemble polyhedra abutting regular polygons recursivle with a tree description.
<guso78k>
(you see how the polyehdra is built if you chop the entry list to 1,2,3. entries)
juri__ has joined #openscad
juri_ has quit [Ping timeout: 276 seconds]
juri__ has quit [Read error: Connection reset by peer]
<guso78k>
there is an real quality disadvantage when using $fn=15 instead. I also see the duplication in my place, but I won't be able to fix it within short time unless we chose any other polyhedron
<guso78k>
with this model and preview, you will always see the corners and edges in the back are not rendered(as the model is translucent)
hyperair has quit [Ping timeout: 252 seconds]
juri_ has joined #openscad
<guso78k>
(there is NOT a real quality disadvantage) $fn of 15 is fine.
<ndnihil>
yeah, this stuff is getting better and better
<ndnihil>
still a bit creepy though
JordanBrown has quit [Read error: Connection reset by peer]
<peeps>
i'm incredibly annoyed that AI generated articles are being suggested to me on my phone now. can only imagine the web will continue to get worse and overflow with this meaningless fluff with no new original thought
<ndnihil>
yeah, while ai (or the facsimile we're calling ai these days) does have its uses, content generation is not one of them
<guso78k>
you had to supply your phone number ?
<ndnihil>
to what?
<peeps>
no, the browser on my phone has suggested articles when i open a new tab. i sometimes browse the headlines and click on them
<guso78k>
ahh ok . that sounded like you get SMS from the AI ...
<ndnihil>
my AI sends me SMS
<ndnihil>
but it's through a local modem, and only the things I tell it to send me
<ndnihil>
like "there's a person in the front yard"
<ndnihil>
"power went out"
mmu_man has joined #openscad
guso78k has quit [Quit: Client closed]
<Scopeuk>
I 0ersonally think one of the better uses of the generative ai is allowing someone to generate base versions of something to communicate intent to a professional. If I want a a graphic design and I can get two or 3 ai things quickly which sort of get the idea with a
<Scopeuk>
“like this but" comment that is really useful
<Scopeuk>
Stupid touch keyboard
<Scopeuk>
Also why does it insist on American placement for "
* Scopeuk
grumbles in old man
<ndnihil>
damn kids, get off my ip address
<Scopeuk>
Keyboard is in British English, but on the "pc" 5 line layout special chars are in the wrong place
guso78k has joined #openscad
J23k5 has quit [Quit: Client closed]
J23k5 has joined #openscad
guso78k has quit [Ping timeout: 250 seconds]
Non-ICE has quit [Quit: Screw you guys, im going home!]
mknst has quit [Quit: Screw you guys, im going home!]
linext_ has joined #openscad
linext has quit [Ping timeout: 256 seconds]
mmu_man has quit [Ping timeout: 276 seconds]
Joel has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
mmu_man has joined #openscad
Joel has joined #openscad
<pca006132>
I am thinking about writing a openscad interpreter for things like manifold, so we can use openscad scripts in the browser efficiently and to experiment with performance stuff. probably will support less features though.
<pca006132>
not sure if I should put it in the manifold repo or open another repo
<pca006132>
regarding double precision with manifold, we currently got https://github.com/elalish/manifold/pull/659, not sure how hard is it to fix the triangulator precision issue though
<InPhase>
pca006132: Well, one OpenSCAD project goal for a long time has been to better separate the project code so that the interpreter and such can function like a library, with this project's executable simply being the primary user of that library.
<InPhase>
pca006132: It might be maximally beneficial to approach the goal in that manner. Then rather than rewriting an interpreter, it's refactoring code to add some cleaner API interfacing, and then there is a single maintenance point going forward.
<InPhase>
pca006132: We're not really too far from this goal I think, as code cleanup has been a goal for years, with this sort of cleaner separation in mind. But you'd have to check carefully and see what is missing from this separation yet.
<pca006132>
I think rewriting it to use bytecode is basically starting from scratch... the architecture is just too different
<InPhase>
What sort of bytecode?
<pca006132>
basically, compile scad into a compiler IR, do some optimization on it, and execute directly from the IR instead of doing tree traversal
<InPhase>
Is there a reason not to do that same thing here too?
<InPhase>
Surely all the compute stuff is guaranteed to work.
<pca006132>
the only reason I can think of is it is too large of a refactor
<InPhase>
If from scratch is the cleanest way, it could be an experimental path with checkbox, like Manifold support was.
<pca006132>
(putting my manifold hats on) the current goal for this is to let users use scad libraries on manifoldcad
<InPhase>
Makes sense. It just seems there is a clear sharing and cooperation opportunity here, since both projects want to process the same thing faster and with some compatibility guarantees for the users. :)
<pca006132>
yeah
<pca006132>
for it to put into manifoldcad, we want to have minimal dependencies on other stuff
Non-ICE has joined #openscad
<pca006132>
e.g. should not depend on boost
peepsalot has joined #openscad
<pca006132>
and initially I want to just hack a very simple prototype, not supporting some features, and get something that work for simple cases first
<InPhase>
That's not too big of a problem. Most boost usage in OpenSCAD is legacy stuff predating C++ modernization.
<InPhase>
We purged a lot of it out already.
<InPhase>
Purging it out of the interpreter path likely wouldn't bother anybody. And isolating that to a library with a good API would be great. Having a checkbox for "fast and experimental" would also be pretty sensible when it is ready for that sort of thing, and then we'd get the full weight of OpenSCAD testing validating its edge cases.
<pca006132>
sounds good
<pca006132>
I think I can open a new repo containing only the interpreter, and try to make it extensible (and document the variable resolution behavior while writing it)
<InPhase>
Let me know when you want someone to break it and point out the failing spots. ;)
<pca006132>
sure, will take some time to write it
<pca006132>
I think I will try to use a fuzzer when I feel comfortable with the implementation
<pca006132>
we are already using a fuzzer for the triangulator in manifold, because it is a constant source of issue
<InPhase>
Nice.
<pca006132>
I was thinking if I should write it in rust because I like rust better (and hates c++), but it seems hard to integrate with existing c++ projects
<pca006132>
emscripten is also a major issue as well, getting rust + c++ to compile to wasm is probably pretty painful, at least I don't see a lot of documentations online
<pca006132>
so probably need to stick with c++...
<InPhase>
That's the common rust story. It will be better to use for X, someday, but today is not that day. :)
<pca006132>
I do have experience using rust for some large project, it is very nice
<pca006132>
the problem here is that wasm compilation is hard already
<pca006132>
adding another language and toolchain just makes it even harder
<pca006132>
if we only target native libraries, C ABI is really easy to use
guso78k has joined #openscad
peepsalot has quit [Quit: Leaving]
peepsalot has joined #openscad
<lf94>
Yeah; Rust is nice but only if you stay within Rust
<JordanBrown>
Today's XKCD https://xkcd.com/2868/ is evil. (But probably not so much for non-US people.)
<JordanBrown>
Yesterday's, really. But who's counting?
JordanBrown has quit [Read error: Connection reset by peer]
<J23k5>
probably easier with an empty map instead of wrong borders
<guso78k>
the bottom left is alaska, not mexico ?
<lf94>
It's because alaksa is up here in Canada
<guso78k>
(y)
JordanBrown has joined #openscad
mmu_man has quit [Ping timeout: 246 seconds]
<JordanBrown>
Yeah, the Alaska / Hawaii aspect of that map is actually totally normal presentation, because both of them are so far away from the "lower 48".
mmu_man has joined #openscad
teepee_ has joined #openscad
teepee_ has quit [Remote host closed the connection]
teepee has quit [Ping timeout: 240 seconds]
teepee has joined #openscad
guso78k has quit [Quit: Client closed]
guso78k has joined #openscad
cart_ has quit [Ping timeout: 268 seconds]
guso78k has quit [Quit: Client closed]
guso78k has joined #openscad
<guso78k>
pca006132, i am almost there with the embeddable python package for windows. the content of the zip file is installed into a directory called 'python_embed' next to openscad.exe
<guso78k>
however, openscad does not find this directory even if i set PYTHONHOME and PYTHONPATH to it.
<guso78k>
also i have issues to determine the absolute path of python_embed directory during run time.
TheAssassin has quit [Remote host closed the connection]
<teepee>
lf94: right now there are 2 open slots still
<teepee>
assuming JordanBrown sends the one linked earlier then just 1
<guso78k>
teepee, when is opening time for 16th december. wanted to peek but does not work ... '=D
<teepee>
guso78k: pushed it to 19th
<teepee>
maybe we can get it printable, if not we just add a note about it
<guso78k>
:') maybe i should schedule a family trip and come back then ...
<guso78k>
ahh you are refering the snub dodecahedron
<teepee>
guso78k: peek what?
<guso78k>
teepee, main issue with this is, that its rather hollow. this is probably some rare usage of openscad fill() function ?
<teepee>
ah, midnight UTC = 1:00 German time
<guso78k>
teepee, wanted to peek door #16 but it wont open
<guso78k>
ahhh
<teepee>
fill() is 2D only right now
<guso78k>
ok. but it should be rather easy to sort the triangles into "connected" groups of triangles and skip those which form a negative volume.
<InPhase>
JordanBrown: Oh, lol. I didn't understand why that was an xkcd until I decided maybe I would actually try doing it. :)
<InPhase>
JordanBrown: That's visually very convincing at a glance.
<guso78k>
teepee, did you collect some feedback about the measurement PR /any suggestions, hints ?
<teepee>
no time yet for directly trying it out, but just from the video, I would like to have it :)
<guso78k>
O:3 X-P question is if the mode of operation and displaying the result is ideal already ...
<teepee>
I was wondering if maybe an additional output in the console window might be useful, e.g. if you measure 2 things you can see them together and maybe even copy paste values