<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>
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]
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]
<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>
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>
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>
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 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.
<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
<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>
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>
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
<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. :)
<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>
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.