teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
Jerr1 has joined #openscad
muesli4 has joined #openscad
Non-BEAST has joined #openscad
athenaeryma_ has joined #openscad
germ_ has joined #openscad
feep_ has joined #openscad
oldlaptop has quit [Read error: Connection reset by peer]
germ- has quit [Read error: Connection reset by peer]
muesli has quit [Read error: Connection reset by peer]
muesli4 is now known as muesli
crazy_imp has quit [Ping timeout: 276 seconds]
val has quit [Ping timeout: 276 seconds]
feep has quit [Ping timeout: 276 seconds]
athenaeryma has quit [Ping timeout: 276 seconds]
nihil has quit [Ping timeout: 276 seconds]
athenaeryma_ is now known as athenaeryma
oldlaptop has joined #openscad
splud has quit [Ping timeout: 276 seconds]
Jerr has quit [Ping timeout: 276 seconds]
Non-ICE has quit [Ping timeout: 276 seconds]
othx has quit [Ping timeout: 276 seconds]
dalias has quit [Ping timeout: 276 seconds]
Jerr1 is now known as Jerr
hyperair has quit [Remote host closed the connection]
othx has joined #openscad
hyperair has joined #openscad
splud has joined #openscad
crazy_imp has joined #openscad
nihil has joined #openscad
nihil has quit [Changing host]
nihil has joined #openscad
val has joined #openscad
dalias has joined #openscad
Guest60 has joined #openscad
Guest60 has quit [Client Quit]
califax has quit [Ping timeout: 264 seconds]
califax has joined #openscad
mmu_man has quit [Ping timeout: 244 seconds]
J25k9 has joined #openscad
J25k1 has quit [Ping timeout: 240 seconds]
<gbruno> [github] AaronVerDow synchronize pull request #5850 (improve color utils) https://github.com/openscad/openscad/pull/5850
<gbruno> [github] AaronVerDow synchronize pull request #5850 (improve color utils) https://github.com/openscad/openscad/pull/5850
<gbruno> [github] AaronVerDow synchronize pull request #5850 (improve color utils) https://github.com/openscad/openscad/pull/5850
J25k9 has quit [Quit: Client closed]
J25k9 has joined #openscad
guso78k has joined #openscad
ccox has quit [Ping timeout: 248 seconds]
howiemnt has quit [Ping timeout: 268 seconds]
guso78k has quit [Quit: Client closed]
howiemnt has joined #openscad
guso78k has joined #openscad
J25k9 has quit [Quit: Client closed]
J25k9 has joined #openscad
ccox has joined #openscad
little_blossom has quit [Ping timeout: 244 seconds]
guerd has joined #openscad
feep_ is now known as feep
pah is now known as pa
little_blossom has joined #openscad
guso78k has quit [Quit: Client closed]
JakeSays_ has joined #openscad
JakeSays has quit [Ping timeout: 276 seconds]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 264 seconds]
teepee_ is now known as teepee
<gbruno> [github] damienmarchal synchronize pull request #5844 (Integration test for GUI/UX) https://github.com/openscad/openscad/pull/5844
<gbruno> [github] damienmarchal synchronize pull request #5844 (Integration test for GUI/UX) https://github.com/openscad/openscad/pull/5844
howiemnt has quit [Read error: Connection reset by peer]
howiemnt has joined #openscad
guerd has quit [Read error: Connection reset by peer]
J25k9 has quit [Quit: Client closed]
J25k9 has joined #openscad
JakeSays has joined #openscad
JakeSays_ has quit [Ping timeout: 252 seconds]
mmu_man has joined #openscad
JakeSays_ has joined #openscad
<teepee> InPhase: stealth_: looks like it's currently a bit random with the library lookup. for me this looks like https://bpa.st/VQCA
JakeSays has quit [Ping timeout: 252 seconds]
<teepee> no, wait, it's picking up th libssl3 from inside the appimage, so that seems fine
mmu_man has quit [Read error: Connection reset by peer]
<stealth_> teepee, https://bpa.st/4IAA
<stealth_> "openat(AT_FDCWD, "/usr/lib/ssl/openssl.cnf", O_RDONLY) = -1 ENOENT (No such file or directory)" might be the issue, on my system "openssl.cnf" is located in "/etc/ssl/openssl.cnf"
<teepee> openat(AT_FDCWD, "/../../lib/libssl.so.3", O_RDONLY|O_CLOEXEC) = 4
<teepee> yours is using the library from /lib/libssl.so.3
<teepee> just for testing could you rename that lib temporarily and see if that changes things?
<stealth_> i am running kernel 6.14.3-2-cachyos (64-bit) btw
<stealth_> teepee, what exactly you want me to change?
<teepee> if you feel safe enough, mv /lib/libssl.so.3 /lib/libssl.so.3,temp
<teepee> run the AppImage with pip in a different window
<teepee> rename the library back to it's original name
<stealth_> teepee, yes that does seem to work no ssl error.
<teepee> hmm, so we have to find out what determines that library lookup order
<stealth_> teepee, https://bpa.st/YLUQ
<teepee> and without the strace and stuff, it does work as pip should?
<stealth_> ya
<teepee> cool
<teepee> hmm, so why is it checking that lib first
<teepee> perfect, so it also should be able to install packages and or upgrade pip
<teepee> ah, the pip upgrade might not work that simply as it needs the --upgrade which the appimage will probably complain about
<teepee> that's just some conflict in command line argument parsing
<stealth_> i see, well version 23 is new enough
<teepee> if you copy the appimage to a file named openscad-python
<teepee> that should then really work with the python command line parameters
<teepee> like if you just call it, it should show the python prompt
<stealth_> you mean "./bin/openscad-python" ?
<teepee> it should not matter where it is
<teepee> like just cp OpenSCAD.....AppImage openscad-python
<stealth_> if i run that i get "pacman: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory"
<teepee> or use a symlink
<teepee> yeah, for the system stuff you need to restore the system ssl library
<teepee> that's just a test for now, not a solution
<teepee> don't run the openscad-python in the venv :)
<teepee> that's just a symlink to "self"
<teepee> meaning it probably runs a confused version of the shell again
howiemnt has quit [Ping timeout: 245 seconds]
<stealth_> alright, well my solution was to just copy/paste library directly into site-packages but thats just a hack, it would be nice to have all these stuff work for openscad.
<teepee> I sure hope there's some setting to influence that
<teepee> but those builds are not trivial due to the non-system python
<teepee> the simpler way is obviously normal repo builds which just integrate with the system python
<teepee> but AppImage, Snap, Flatpak and so on do not have that option
<stealth_> i am sure you will figure it out ;)
howiemnt has joined #openscad
<stealth_> i have to call it a night here, its like 5:15am here, ttyl.
<teepee> that's very late / early :)
<teepee> good night
<teepee> I found a build option --with-openssl-rpath maybe that could help
<stealth_> p.s renaming that libssl.so.3 is causing issues with software on my system, looks like it needs a restart anyways, later.
stealth_ has quit [Quit: Leaving]
<teepee> uh, I hope it was renamed back before boot
* teepee is a bit worried now
<InPhase> One time I renamed libc.so temporarily, back before the era of usb live boots. I was unable to rename it back. ;)
<InPhase> That was the day I learned to tread carefully on library renames. lol
<teepee> that's one of those files that are really scary
<teepee> at least bash is not linked to libssl here :)
<teepee> nor is /bin/mv
<InPhase> Several boot things might be, however.
<teepee> kernel init=/bin/bash
<teepee> initrd has to have it's own setup
<InPhase> Also from your paste, "/../../lib/glibc-hwcaps/x86-64-v3/libssl.so.3" That seems like an unhealthy process constructed this path. :)
<teepee> true, that might be some app-image logic messing with rpath
TheCoffeMaker has quit [Ping timeout: 252 seconds]
TheCoffeMaker has joined #openscad
<gbruno> [github] AaronVerDow closed issue #5855 (render-cgal_polygon-concave-simple test fails randomly) https://github.com/openscad/openscad/issues/5855
<gbruno> [github] AaronVerDow synchronize pull request #5850 (improve color utils) https://github.com/openscad/openscad/pull/5850
TheCoffeMaker has quit [Ping timeout: 245 seconds]
<gbruno> [github] Develeon64 opened issue #5856 (Show triangle count) https://github.com/openscad/openscad/issues/5856
peepsalot has quit [Remote host closed the connection]
peepsalot has joined #openscad
<ali1234> here's a random thought i just had. how could we model a vinyl record in openscad, down to the audio in the groove?
<ali1234> actually rendering it would be incredibly taxing due to the sheer number of vertices required and it would be impossible to actually manufacture
<ali1234> but that just makes me want to do it more
castaway has quit [Ping timeout: 260 seconds]
J25k9 has quit [Quit: Client closed]
J25k9 has joined #openscad
mmu_man has joined #openscad
<InPhase> ali1234: I'd just use the plot_function library and express the music and grooves as a mathematical function, pulling the data for the musical data in the spiral from a long list. https://github.com/rcolyer/plot-function
<InPhase> The lookup function will work on the list for this, as it interpolates.
<ali1234> it would be nice if you could "import(waveform.mp3);"
<ali1234> i guess with python you can, quite easily
<InPhase> ali1234: music = [include<music.csv>];
<InPhase> ali1234: You just put the music data in a one-line csv.
<ali1234> yes but i don't want to convert it externally
<InPhase> Well, wrong tool for that. :)
castaway has joined #openscad
Ckat has quit [Read error: Connection reset by peer]
<gbruno> [github] AaronVerDow opened issue #5857 (Discussion: Documentation heirarchy) https://github.com/openscad/openscad/issues/5857
Ckat has joined #openscad
Guest14 has joined #openscad
Guest14 has quit [Client Quit]
monty has joined #openscad
monty has quit [Client Quit]
monty688 has joined #openscad
<monty688> Hello, in what version was for() syntax allowed in arrays?  I can't find it in the changelog
<gbruno> [github] jordanbrown0 closed issue #5856 (Show triangle count) https://github.com/openscad/openscad/issues/5856
Guest70 has joined #openscad
TheCoffeMaker has joined #openscad
monty688 has quit [Quit: Client closed]
<teepee> data = import("wave.json");
kintel has joined #openscad
JakeSays_ is now known as JakeSays
Guest94 has joined #openscad
Guest94 has quit [Client Quit]
Guest70 has quit [Quit: Client closed]
<InPhase> teepee: Right. Did that get merged?
<teepee> InPhase: I think so, yes
<InPhase> I will have to find an excuse to try it with something.
kintel has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Ekho has quit [Quit: CORE ERROR, SYSTEM HALTED.]
J25k9 has quit [Quit: Client closed]
J25k9 has joined #openscad
<InPhase> I think a full vinyl record wouldn't even be that hard to implement, with something like that. Except that it would make something like a 10GB stl file, and consume a very substantial amount of RAM in the making of it.
Guest19 has joined #openscad
Ekho has joined #openscad
Non-BEAST is now known as Non-ICE
<teepee> yeah, maybe go for a single first :)
<Guest19> oh, people  talk :)
<Guest19> trying to do something in  openscad forf irstt ime
<teepee> yes, there are some actual people here, rumor has it :)
<Guest19> if i've got a set of points e.g. point=[x,y] - and i was going to try and build that into a points list... can't seem to get it to  join/concat together
<teepee> well, concat works, but even easier is something like: p1 = [1, 2]; p2 = [2, 3]; list = [ p1, p2 ];
<Guest19> if I wanted to do that in a for loop - so next time, it would be list=[list,p3]
<teepee> no, you can't assign list multiple times
<teepee> where's the loop coming from?
<Guest19>     // Generate the points for the cycloid (X and Y coordinates)
<Guest19>     for (i = [0 : n_points-1]) {
<Guest19>         t = i * 2 * PI / (n_points-1); // parameter (use PI instead of pi)
<Guest19>         x = r * (t - sin(t)); // Cycloid X equation
<Guest19>         y = r * (1 - cos(t)); // Cycloid Y equation
<teepee> you can generate the list just inline like: list = [ for (a = [0:359]) [ sin(a), cos(a) ] ]
<teepee> for more than 1 or 2 lines, better use a paste service
<teepee> paste?
<othx> paste is https://bpa.st for .scad files and other text like long error reports, https://pasteboard.co/ or https://imgur.com/ for images
<teepee> and put the resulting link here
<Guest19> actually have it  in bpa.st -  less ads-  https://bpa.st/52BA
<teepee> so that would probably go in 2 lines, first define the function to do your calculation
<teepee> f = function(i) let(t = i * 2 * PI...) r * [ t-sin(t), 1-cos(t) ];
<teepee> and then like above the loop generating the list via: list = [ for ((i = [0 : n_points-1]) f(i) ]
<teepee> basically in OpenSCAD you can't mutate lists or any variable once it's defined
<teepee> so you declare how to calculate and then just generate the list in one go
<Guest19> in 1998...when i went to uni... they introduced computing with a language that was basically 'recursion'..trying to  remember it's name  - buti'm thinking openscan is probably going to be that sort of thinking lol
<teepee> true, you can always beat it with recursion and openscad has some modestly working tail-recursion-elimination
<teepee> would be interesting to know the name of that language
<teepee> and that's pretty much when I finished university :)
<teepee> but actually I tend to use list-comprehension much more than recursion, for my kind of models that's often enough
<teepee> and the more complex stuff is hidden away in some libarary
<Guest19> well,it's generating an object now  at  least (wrong object so time to check maths)
<Guest19> thanks btw
<Guest19> I'm getting  a straight line and not a curve, but at least now, i can play -especially knowing you  can't re-assign anything - i'd asked openai to try - and it  was giving me 'here's some code' but faililng miserably - hope to extrude out a brachostrome curve for a  marble - is the plan at least
<Guest19> then maybe get it into a 3d printer
<teepee> AI is pretty much useless for openscad
<Guest19> s/for openscad//
<teepee> I would not say that, right now it's misused and overhyped
<teepee> but the local image search in immich for example is quite nice
<teepee> and helping blind people by describing images is a huge win
<Guest19> to be fair, i asked it about galileo's inclined plane, then the angle, then to scale it to 70cm long-  it generated a set of words and numbers that looks like reasonable logic and maths - I've not  yet sat down to check its work
<Guest19> it's certainly a lot of fun playing with AI -  but you need to manually check and validate all its work/logic - and i think that's where people forget and  it quickly goes  wrong. I still like you can go "hey, whats 4+1" AI will go"4+1 is 41", then if you go 'no' -  it will  go "sorry,  you want that answer of 4+1 - that's 5"
<teepee> yep, wielding any tool wrong can do harm
<InPhase> Guest19: If you're interested in exploring, maybe try your same prompt for OpenSCAD code in Gemini 2.5 Pro Experimental (free for limited uses per day with google login). I've been wondering how well this handles random OpenSCAD generation requests, since it seems to be significantly higher quality than ChatGPT.
<InPhase> It has strong reasoning abilities and strong multimodal abilities.
<teepee> InPhase: try: "create a dice in openscad"
<teepee> would be intersting to see if any of the models will be able to put the numbers in the correct place
<teepee> and orientation
<Guest19> https://bpa.st/6F7A -gemini does better then openai
<Guest19> although  they've both just generated a cyclinder
<Guest19> I  can probably use https://mastering-openscad.eu/buch/example_09/  for inspiration
<Guest19> teepee - ok,I'm confused - any idea why gemini'sattempt doesn't generate a curve??
<teepee> if you echo(points), the y values are all tiny
<teepee> maybe rad vs degrees?
<teepee> openscad uses degrees
<Guest19> ECHO: [[0, 0, 0], [1.2347, -0.0000120258, 0], [2.46941, -0.0000481032, 0], [3.70411, -0.000108232, 0], [4.93882, -0.000192413, 0],......................[121.005, -0.115385, 0], [122.24, -0.117749, 0], [123.475, -0.120138, 0]]
<teepee> yup, sin and cos are fed radians
<Guest19> degrees? - x,y not more co-ordinates
<teepee> sin(360)
<teepee> not sin(2*PI)
<teepee> so it needs to be sin(theta/PI*180)
<Guest19> so  theta_max= 180*PI
<teepee> no, that won't work with the theta-sin()
<teepee> at that point theta needs to be -1..1
<teepee> well, or at least near that range, otherwise the sin is just a rounding error
<Guest19> but don't we need to change Y aka r * (cos(theta)-1), ?
<teepee> sure, cos also needs degrees
<Guest19> I last did this sort of maths 20 years ago :) - only reason i started looking at this was mate's 13 y ear old  kid giving me an hour  lecture on how cool  it is ;)
<teepee> at least with openscad and printers math can be fun _and_ real :)
<teepee> like the make book series by joan and rich
<teepee> I still have not read through the one I own :/
<Guest19> I bought a sensor - sent his dad a photo of the breadboard - kid apparently started trying to recognise the electronic components then going on about how acceleration on the curve is affected by the earths seasons (not quite sure he's got that right  - at  least - whilst I guess there is an effect on acceleration between night and day due - it's
<Guest19> probably not something that's going to affect  the pi:)
stealth_ has joined #openscad
<stealth_> teepee, its best not to rename that libssl.so.3 file trying to rename it back crashed sudo, and it didn't rename it back! couldn't start os, had to boot into live cd download latest file and replace that. the backup file pretty much went missing
<teepee> I was too late asking if it was renamed back before boot
<teepee> but it's strange that sudo would be impacted, it really should not do ssl connections
<stealth_> well i did rename it back but sudo glitched out, may be it needs ssl as well
<Guest19> https://bpa.st/JD6A - works
<teepee> Guest19: ah, yes, curvy :)
<Guest19> WARNING: Normalized tree is growing past 200000 elements. Aborting normalization.
<Guest19> heh, tied asking gemini togive me marble-extrude - it's also go the wrongaxis :)
<teepee> that's a preview warning, I guess with recent computers you can safely increase the value in preferences at least by adding another 0
<teepee> if the value gets too big, it will cause the display to get very laggy, e.g. when rotating
<Guest19> there a UI for  preferences?
<teepee> yup
<Guest19> gotit :)
<teepee> it's in advanced -> "turn off rendering at ..."
<teepee> the warning always shows twice the value due to this being a tree or something, not sure
<teepee> but the actual value does not matter too much, just the number of 0 :)
<teepee> stealth_: I still have no idea how to solve the issue though. I guess on Debian it's just random luck that the library is somewhere else so it does not interfere
<Guest19> https://bpa.st/G2WQ -  need that in the other axes, and i'd probably be done from the maths :) - but google just said come back tomorrow lol
<teepee> testing that stuff is also quite time consuming :(
<teepee> heh, making sure people don't run into burnout, very considerate
<teepee> I suppose the resolution could be tuned down quite a bit so it's not that slow and laggy
<teepee> oh, well, F6 needs less than a second, that's fine
<teepee> what also helps is adding render() in front of the for() in draw_curve_tube
<InPhase> Guest19: So with that 180/PI fix is the solution Gemini made equal to what you were hoping for?
<teepee> that forces the mesh being calculated always at that point even in preview
<Guest19> the last link  is what I want, but the 'hole'rotated by 90 degrees for a ball bearing
<Guest19> effectively- but yes, gemini's basically done what asked for
<InPhase> Guest19: If yes, then that's leaps and bounds better than I've been seeing LLMs do for OpenSCAD generation. A single bug, and it's actually one that I'd be prone to making in my first draft of this problem. Whenever dealing with an equation that is fundamentally working in radians, my probability of missing a conversion to degrees goes way up. :)
<InPhase> I think the reasoning steps it inserts helps a lot. Also probably it being a multimodal model helps, because it required it to learn spatial reasoning along with the multimodal functionality.
<InPhase> It's particularly challenging to write OpenSCAD code without pausing first for a reasoning and planning pass.
<InPhase> And it helps enormously to see the model in your mind first.
<Guest19> i'd like to generate that basically
<Guest19> (or a version of is end  goal)
<Guest19> i moved gemini  pro to the faster one - for (i = 0; i < num_profiles_for_hull - 1; ++i) { --> syntax error - so really it's only the most advanced model that can cope
<InPhase> Yeah. The new one is definitely better at other tasks I've tested.
<gbruno> [github] AaronVerDow closed issue #5857 (Discussion: Documentation heirarchy) https://github.com/openscad/openscad/issues/5857
<InPhase> Guest19: From that starting point, it's easy enough to morph into a track: https://bpa.st/BOMQ
<InPhase> Guest19: Note most importantly the morphing of draw_curve_tube into draw_curve_cutout.
<InPhase> Guest19: This moves the hull into the outside and adds one point point at the top right corner, planning ahead for removing this from a cube.
<InPhase> s/one point point/one more point/
<Guest19> "removing this from a cube?"
<stealth_> teepee, it would have been better to just not use venv and just use default system python or option to add custom python path
paul__ has joined #openscad
<paul__> <<guest19
* paul__ wondersif openscad has issue with latest windows and multiple monitors like someother apps have
Guest19 has quit [Quit: Client closed]
<teepee> stealth_: again, not possible, appimage is built on a totally different system, including the python
<teepee> how would that adapt to run on your *and* my system with different pythons?
<teepee> I don't know any way to do that
<stealth_> teepee, like you could include python with .appimage but not use venv is what i mean.
<teepee> maybe there would be dynamic loading python, but that probably has other issues then
<teepee> that *is* what happens in the appimage
<teepee> but obviously we can't also ship all the packages from pypi
<InPhase> paul__: And if you purge that $fn code-smell and switch to recommended $fa=1 and $fs=0.4, it gives a very smooth track: https://imgur.com/a/4hHhkn4
<stealth_> teepee, well you can link .appimage python to using --user library path?
<teepee> no
<teepee> the mount point of the appimage is random and dynamic
<teepee> so you don't know the path to the files inside the appimage unless you actually run it
<stealth_> hmm i see, i am not sure how appimage works since i have never used developed in it.
<teepee> imagine a CD mounted on a random folder in /tmp
<InPhase> stealth_: Yeah, it definitely needed to use venv. We have to have some packages.
<teepee> e.g. from you strace log:
<teepee> newfstatat(AT_FDCWD, "/tmp/.mount_openscofkEdM/usr/lib/python3.10/ssl.py", {st_mode=S_IFREG|0644, st_size=52122, ...}, 0) = 0
<teepee> that /tmp/.mount_openscofkEdM is the automatically generated mount point of the appimage runtime
<stealth_> i see
<InPhase> I think what happened is that because the venv makes a symlink for the python back to openscad's executable, it messed up some relative library imports.
<InPhase> Or maybe we never bundled libssl in the first place?
<teepee> it's bundled via the python build, I suppose
<teepee> it does pick it up for me from inside the appimage
<InPhase> Hmm.
<InPhase> Have you tried renaming your one outside to see if it still finds it? ;)
<teepee> openat(AT_FDCWD, "/tmp/.mount_OpenSCmEpeDm/usr/lib/python3.10/lib-dynload/../../../lib/libssl.so.3", O_RDONLY|O_CLOEXEC) = 4
<InPhase> Looks like inside.
<InPhase> Might there be a different file it's flaking on?
<InPhase> There are a couple files it needs to grab to load that ssl support.
<InPhase> libcrypto too I think, and some others.
<InPhase> Perhaps you can check the list of ones it finds outside?
<teepee> I found some rpath command line option for libssl and libcrypto in the cpython build
<teepee> maybe that rpath is empty so it starts searching outside
<paul__> do you then need t o do module_fa or something ?
<teepee> on my debian the library is just not there, so it goes on finding the one insdie
<teepee> also the appimage docs have a section on python packaging, that might have some tips too maybe
<InPhase> teepee: Hmm. So it's possible stealth's broke from having an extra library that yours didn't?
<teepee> yes, different distro, different locations for the lib
<InPhase> Can we maybe get both of you to run that same strace command, and see the differences?
<teepee> we have
<teepee> thats mine
<teepee> https://bpa.st/4IAA the one from stealth_
<teepee> in mine, specifically openat(AT_FDCWD, "/../../lib/libssl.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
<paul__> openscad's liking my ram atm :)
<teepee> for your chain hulls, the parameters given by InPhase might be a bit too fine of a resolution
<stealth_> in my case system ssl is being picked up over .appimage ssl right?
<teepee> how much memory is in the machine?
<paul__> 12.5GBram atm :)
<paul__> got 646GB
<paul__> erm, 64GB
<teepee> stealth_: yep, looks like it
<teepee> question is mostly who defines that exact search order
<teepee> plus the appimage packaging is messing with the rpath definitions so normally all lookups of the packaged files default to inside the appimage
<InPhase> My version took 4GB to render.
<InPhase> My log entry: 2025-04-25 19:00:25 4001.176 MB, ~/src/openscad-master/openscad marble_track.scad, ~/tmp
<paul__> interesting, you'd think werunning same code
<InPhase> Well I didn't share my final version. Let me do that.
<stealth_> teepee, looks like you will need to find a way to hard code that .appimage ssl
<InPhase> Also, are you using the master branch / nightly snapshot version?
<InPhase> paul__: My final version for the image I showed: https://bpa.st/T2OQ
<paul__> the snapshots from the downloads page on the main site - 2025.04.23
<InPhase> paul__: That'll do.
<teepee> stealth_: can we check something? should be not dangerous this time :)
<teepee> run the appimage like so: ./OpenSCAD-2025.04.23.ai25105-x86_64.AppImage --appimage-mount
<paul__> I saw the 2021 is release, so looked at github, so activity and went... ok, how do i find a newer build
<teepee> that will just do the mounting without actually starting openscad and output that mount folder in tmp
<InPhase> paul__: It took 10 seconds for render over here, with no cache.
<paul__> interesting- it's still running here
<teepee> paul__: you need to go to preferences and switch "backend" to "manifold"
<paul__> I took filewe had, removed fn,removed the module_fn line- added $fs+$faandhit run
<teepee> I think the default is still CGAL
<InPhase> Right. We should really set Manifold to the default.
<teepee> it's on the way
<InPhase> This will be an important PR move. :)
<paul__> 27GB of ram now ;)
<InPhase> Yeah, cancel that. That's CGAL blowing up.
<teepee> if it's doing CGAL, just kill it
<InPhase> That could take like an hour.
<teepee> for finish just before the sun becomes a red giant
<InPhase> paul__: On old versions of OpenSCAD what you have done with this design was often just filed under "do not do".
<InPhase> And other approaches were used. :)
<InPhase> But the new backend can handle it.
<paul__> hah
<paul__> the best part of this -"ignoring unknown variable module_fn" -I think it's probablygoing to failby the end ofit
<paul__> heh
<InPhase> I purged that variable from my version.
<paul__> yep, itjust shut down:)
<InPhase> paul__: Check my last bpa.st link.
<InPhase> (6 minutes up)
<paul__> yea, got that
<paul__> so apart from manifold, anything elsen eed setting ?
* paul__ stares at keyboard
<InPhase> That should do it.
<InPhase> paul__: Setting the theme to Nocturnal Gem will make things prettier. :)
<InPhase> The default colors are meh.
<paul__> so I have 2 questions :)
<paul__> 1) why is the last release 2021 as the github repo looks relatively active
<paul__> 2) if cgal is so old, how come it's not been flipped
<InPhase> paul__: There have been some pretty big changes. Getting them all settled has taken extra time.
<InPhase> paul__: And CGAL is not "old" so much as misdesigned for this purpose, being made by mathematicians with different goals.
<InPhase> paul__: But there were no alternatives until the Manifold project started.
<paul__> right
<InPhase> paul__: And the Manifold project devs work with and even integrate with us, with shared goals, so this has resulted in leaps forward.
<InPhase> The CGAL project devs would often reject our suggestions, fixes, or upstream reports with wontfix due to philosophical differences about what their library should do.
<InPhase> They were generally not happy about our users having unclean imperfect inputs.
<paul__> so openscad is frontend to python libraries?
<InPhase> Nope, not at all.
<InPhase> It's C++, and uses primarily C and C++ libraries.
<teepee> 1) life
<paul__> but ultimately it's GUI to a library
<InPhase> paul__: The python talk you saw above was about a new optional extension for working with python inside of OpenSCAD.
<teepee> 2) it's about to become 2nd in line very soon (I think)
<teepee> it's a description language for 3
<teepee> for 3d stuff
<teepee> currently with 2 backends doing mesh generation
<InPhase> paul__: OpenSCAD is a language engine which happens to have a gui for convenience. That language engine has geometry engines as backing.
<InPhase> paul__: There are multiple geometry engines though, and a few geometry bits internal that aren't solved in other engines.
<InPhase> CGAL was just the best available for some of the harder 3D geometry problems involved when the project started.
<paul__> I work in education - so have access to tinkercad/autodesk/ptc stuff etc potentially - I wanted to model curve - I know that 3d tools are often annoying- and that it was going to be hard to find something. Friend mentioned openscad existence - it's pretty cool that between openscad + gemini (+you guys), I've effectively got an accurate 3d model in like 2-3 hours
<InPhase> Now Manifold is by far the best available.
<InPhase> paul__: Yeah, which is great for starting out. :) You can do that model in like 15 minutes with practice.
<InPhase> paul__: There's a scalability to design with programmatic cad design that is hard to do with the mouse-clicky approaches. :)
<gbruno> [github] AaronVerDow synchronize pull request #5850 (improve color utils) https://github.com/openscad/openscad/pull/5850
<InPhase> paul__: Do you work in elementary, middle, secondary, or the undergraduate level?
<paul__> Kid: "I think this curve is interesting and cool" Me: "this is a great science project for a kid, let's see if we can do something" Others: "we can 3d print, we can make a custom PCB design"
<paul__> IT Admin at secondary level :)
<InPhase> paul__: There's blockscad which is pretty awesome for elementary/middle school level. Secondary can do the regular code though.
<paul__> Scratch for CAD ?
<InPhase> paul__: I ran a bunch of college-level openscad labs with mostly business majors with underprepared math backgrounds, and everyone who showed up succeeded pretty quickly. Adaptation was quite rapid, taking only a few hours of in class time.
<InPhase> paul__: I had them designing their own rockets to print and launch for a physics experiment.
<paul__> so thats 16-18 ?
<InPhase> paul__: Yeah, the blockscad is basically scratch for CAD, and converts to the code, so you can see and access both.
<InPhase> paul__: You must be British. ;) I'm American, so when I said college-level I meant typically 18-22.
<paul__> yes, UK here :)
<InPhase> But secondary can handle this sort of thing too.
<InPhase> tutorial?
<othx> tutorial is The OpenSCAD tutorial is a great place to learn how to create designs in OpenSCAD, and can be found at: https://en.wikibooks.org/wiki/OpenSCAD_Tutorial
<InPhase> ^ See the accessibility of the tutorial, for example.
<InPhase> It's enough to get that age level going.
<InPhase> We tailored the pedagogical design of it carefully.
<paul__> you couldn't do curve we've just done in blockscad could you ?
<InPhase> One can do more compact versions of this as well, as a crash course. But the tutorial which stretches things out is a gentle introduction.
<teepee> there's also https://github.com/openscad/gsod-workflow-openscad but that never was completed unfortunately
<InPhase> paul__: You know, I'd have to check. I'm not sure if blockscad has the trig functions.
<paul__> summer of code person run out of time ?
<InPhase> paul__: But I think it might all be there in blockscad.
<teepee> season of docs, but yes
<ali1234> i put solidpython in my node graph editor
<teepee> I think that ran only 2 or 3 years, I think they dropped that
<paul__> ahh, I'd guess it was google code thing
<InPhase> paul__: However, I don't think anyone who could understand how to make the curve that we just made, should be using blockscad. ;)
<ali1234> so you can build stuff with flow graphs like blender or unity uses
<InPhase> paul__: If one has that math background, go to the code.
<teepee> yep, Google Summer of Code still exists and we may run this year again
<teepee> Google Season of Docs was a similar idea but with professional documentation people (technical writer, ...)
<paul__> 13 year old apparently did better in UK maths challenge then the 15 year old's in the school - so will be interesting if I sit down with him to see if he can understand what gemini/we've done today
<teepee> actually there was something in 2024, interesting
<paul__> as some of this is really maths for 18-22 year olds I'd say
<paul__> wait, does blockscad generate openscad code?
<paul__> rotate([90, 0, 0]){
<paul__> square([10, 10], center=false);
<paul__> }
<paul__> as that feels broken
<paul__> If I put down 2d shapes -> square, x=10,y10 and hit render - I get a sqaure on grid
<paul__> if Ithen go to transforms, put down a rotate X transform(where x=90,y=0,z=0) - and then drag my 'square' so it sites within the rotate- it seems to disappear - but I think he just madea 10 long,really narrow shape
<paul__> which isn't what I was expecting to happen
<teepee> transforming 2d shapes in 3d space is not really well defined
<teepee> in preview it sometimes looks like it's working but when calculating it probably will use the projection to the x/y plane
<paul__> if I rotate it around X isn't that keeping it in 2d
<teepee> which would be empty in this case
<teepee> rotate(45)
snaked has quit [Remote host closed the connection]
<teepee> rotates 45 degress around Z
<paul__> ahh, ok, so to keep in 2d, need to rotate around z
snaked has joined #openscad
<teepee> yep
<paul__> so fun part here is I have my curve... question is how large I want it to be
<paul__> [as ultimately, I want to have length of track and potentially cut intoit at 5 equally spaced points to put a timing sensor
<stealth_> teepee, is the folder you are working is not added to sys.paths?
<stealth_> teepee, for example i have a folder/__init__.py as project and if i do `import folder` i get error, so parent folder is not included in syspath?
<teepee> so far it's done by the python lookup logic
<teepee> but nothing else
<teepee> so far I have only tested single py files
<stealth_> i see, ya, it needs to work well with project :p or else python advantage is lost.