teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | https://openscad.org/advent-calendar-2021/ | 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
<sublim8> yeap
<sublim8> What pastebin alternative do you normally use here?
<teepee> whatever comes to mind. https://bpa.st/
<teepee> paste?
<teepee> othx: status
<teepee> othx: status?
<othx> Gthx.NET version 2.23 2021-11-11: OK; Up for 2 days, 7 hours, 49 minutes, 11 seconds; mood: pretty good.
GNUmoon has quit [Quit: Leaving]
GNUmoon has joined #openscad
ur5us has quit [Ping timeout: 252 seconds]
<sublim8> The GPU is recognized just fine.
<teepee> othx: paste is https://bpa.st/ or https://pastebin.com/ for text, https://pasteboard.co/ or https://imgur.com/ for images
<othx> teepee: Okay.
<teepee> yup, that looks quite normal, not sure what's going on
<teepee> you could try with the export LIBGL_ALWAYS_SOFTWARE=1
<teepee> why is there a sudo?
<teepee> that probably drops the display variable
<teepee> it should work fine without
<teepee> you may need to check if it created some files that are owned by root now and delete those
<sublim8> yup, will do
<teepee> you should be able to run both application and test suite just from the build/test folder
<teepee> no need to install or anything after building
<teepee> I need to drop off, get some sleep. early review meeting tomorrow morning
<sublim8> I'll figure it out. It might be the sudo thing.
<teepee> (with tomorrow already in progress :)
<sublim8> ok c ya, goodnight.
<peepsalot> sublim8, can you run glxgears?
<sublim8> yeap, my system has no issues. GPU working fine. All 3d programs work fine.
<sublim8> Fine, meaning hardware accelerated and fast.
<peepsalot> does openscad that you built run in gui?
<sublim8> It must be the permissions thing teepee mentioned.
<sublim8> yes it runs great
<peepsalot> yeah sudo could have caused any number of weird issues
<sublim8> I know, It's just that the first time I was trying to built it something wouldn't work right and I tried to sudo and it worked. After that it wouldn't build if I didn't sudo and I was too lazy to fix the permissions. Everything seemed to work so I went with it.
<peepsalot> did you create a subdirectory to build in? like openscad/build (ie you didn't build directly from the project root dir?)
<sublim8> But it might just be what the issue here. So, I'll fix that and see.
<sublim8> I cloned the repo
<sublim8> entered openscad, created build, run cmake, run make
<sublim8> entered build
<sublim8> after creating
<InPhase> sublim8: Here's my fool-proof build script: https://bpa.st/G6IQ
<peepsalot> ok, good good
<InPhase> sublim8: I build with that so I don't make mistakes as I repeatedly check out different versions.
<sublim8> thx
<InPhase> sublim8: Just go into the top level of a fresh clone, and run that. Note that if you have fewer than 8 cores, maybe drop -j8 to -j4 or whatever you have.
<sublim8> yup
<InPhase> I have a partnered incremental rebuild script, although I most often do the clean build. The rebuild is only if I'm actively editing code myself. https://bpa.st/F2KQ
<InPhase> The cp at the end is so you can run out of the repository without and install step. Dropping it there lets it pick up the libraries directory and other files straight from the repository.
<InPhase> s/and install/an install/
<sublim8> I'm at about 80%. Btw I made the changes to swizzle.
<sublim8> That's weird. It failed at Compiling language files.
<sublim8> That's the output of the first script
<sublim8> Not the permission thing either.
ur5us has joined #openscad
<InPhase> sublim8: Let me try a fresh pull and clean build.
<InPhase> Those translation scripts were recently edited.
<sublim8> Oh
<Alicia> could this be the culprit? https://github.com/openscad/openscad/blob/master/CMakeLists.txt#L781 Maybe running it using an incompatible shell from $ENV{SHELL}
<Alicia> that would explain why it works with sudo
<InPhase> sublim8: Can you run this? which sh; which bash; echo $SHELL
<InPhase> And: lsb_release -d
<InPhase> (The clean build worked fine for me.)
<InPhase> In translate-update.sh there is a then which is hovering at the end of an if instead of on a subsequent line. Off the top of my head I don't know if there is a shell variant that will choke on that.
<InPhase> sublim8: Although hold-up a second... Your error is on line 19 of an 18 line file.
<InPhase> Ah, end of file, right.
<sublim8> $SHELL is /bin/bash
<sublim8> release is Linux Mint 20.1
<InPhase> sublim8: So your error message kicked out "not found" on all the blank lines of that file.
<InPhase> From the base directory of the repository, try manually running: scripts/translation-make.sh
<InPhase> That should execute it in /bin/sh
<InPhase> If this fails either your /bin/sh is pointing at something whacky or the translation-make.sh got corrupted somehow.
<InPhase> Figured it out. :)
<sublim8> Hehe, will do. Thanks.
<InPhase> I reproduced your error by running unix2dos on transcript-make.sh and then manually running it as /bin/sh scripts/translation-make.sh
<InPhase> Somehow you corrupted this file into having Windows line-endings on a Linux system.
<sublim8> but I just cloned the repo
<InPhase> Plus one point for a good hunch.
<sublim8> I was having some issues with CRLFs...
<sublim8> I'll try creating a fresh VM just for building.
<sublim8> To have a more controlled environment.
LordOfBikes has quit [Ping timeout: 250 seconds]
<InPhase> It's possible to configure git to grab as CRLF. So you might have accidentally done this in your user level config somehow.
<InPhase> This is designed for smoother interoperability with Windows users who have crappy text editors.
<sublim8> Windows has't run on a machine in this network for years.
<sublim8> The text editor I'm using is atom.
<InPhase> Check for this entry in /etc/* or ~/.gitconfig or .git/config core.autocrlf = true
<sublim8> I have core.autocrlf = true
<InPhase> Yeah, that's your problem.
<InPhase> Don't do that. :)
<sublim8> Hmm
<InPhase> Either set it to false or delete the line and the default of false should take over.
<InPhase> You can verify correct operation with: hexdump -Cv translation-make.sh
<InPhase> The first line should read: 23 21 2f 62 69 6e 2f 73 68 0a 0a 23 20 53 63 72 |#!/bin/sh..# Scr|
<sublim8> Thanks
<InPhase> The 0a 0a is \n\n
<sublim8> yeap i know
<InPhase> Ok.
<sublim8> thanks
Jack21 has quit [Quit: Client closed]
Jack21 has joined #openscad
<InPhase> First time I saw that lead to a build error.
<sublim8> It's not the first time atom has betrayed me this way.
<peepsalot> oh, i tried to like atom for a long time, but eventually switched over to vscode
<InPhase> atom meddles with the git settings?
<sublim8> no,
<sublim8> But somehow it has decided that it should default on CRLF in linux.
LordOfBikes has joined #openscad
<InPhase> I have vim set to silently open CRLF files and look normal, so I wouldn't have noticed it on my system from the editor either. But I have the habit of hex-dumping files that give me confusing behavior. I actually hex-dumped my copy of that right away after seeing your error, but it took my brain longer to get around to your copy being different in this manner.
<sublim8> I stopped using microsoft products after discovering that when developing with their products the compiler would output executables that send telemetry to microsoft.
<sublim8> That was many years ago. I don't know it still is being done.
<sublim8> I know, I' do hex dumps too sometimes in similar cases :) , I just hadn't gotten to it yet.
<InPhase> If the random articles I found are to believed, it sounds like these are hooks to enable adding telemetry routines to your own code. But Visual Code definitely sends telemetry data by default.
<sublim8> Yes that's what I remember reading.
<sublim8> But it looks bad.
snaked has joined #openscad
<sublim8> Not that microsoft needs to put anything in executables to gain access to windows machines.
<sublim8> heh
<InPhase> Many of the files I end up editing are confidential. No editor I use can be allowed to send crash reports back with data I haven't completely inspected in a readable form.
<sublim8> right!
<sublim8> :p
default_ has joined #openscad
sublim8 has quit [Killed (NickServ (GHOST command used by default_))]
default_ is now known as sublim8
GNUmoon has quit [Ping timeout: 276 seconds]
GNUmoon has joined #openscad
<gbruno> [github] kintel pushed 1 modifications (fix random typo). https://github.com/openscad/openscad/commit/8c23d91b29465fd76849e7f568c74321029ff059
<ccox_> Profiling snowballs is a bit different: lots of time in std::hash_const_terator, some time in allocations - mostly due to ContextFrame, ContextHandle, and Context.
<ccox_> ValueMap, boost::variant, and murmur2_or_cityhash also make a strong showing (over 1 sec each of total time)
<ccox_> hmm, FunctionCall::evaluate shows up mostly due to cache misses
<ccox_> Looks like a suballocator could cut 15 to 20% of the time.
<ccox_> But the biggest time sink is all the hash map usage.
Jack21100 has joined #openscad
Jack21 has quit [Ping timeout: 256 seconds]
<ccox_> Next big question is why is the std::unordered_map spending any time at all hashing a std::string (strings are unique, it's supposed to just hash the pointer - but that isn't what it's doing)
<ccox_> ah, the hash doesn't make much time, but cache misses and construction of the const_iterator take time
Guest30 has joined #openscad
Guest30 has quit [Client Quit]
ferdna has joined #openscad
<gbruno> [github] kintel pushed 2 modifications (Test arm64 build). https://github.com/openscad/openscad/commit/092bd653b56c2388165ea445e875f1295a5c58a2
ferdna has quit [Quit: Leaving]
ur5us has quit [Ping timeout: 260 seconds]
<gbruno> [github] kintel pushed 2 modifications (Test arm64 build). https://github.com/openscad/openscad/commit/863ef06a1ce3acdd66261c288493f7073a40e68c
GNUmoon has quit [Ping timeout: 276 seconds]
GNUmoon has joined #openscad
GNUmoon has quit [Ping timeout: 276 seconds]
GNUmoon has joined #openscad
arebil has joined #openscad
ur5us has joined #openscad
lastrodamo has joined #openscad
PovilasCNC has joined #openscad
ur5us has quit [Ping timeout: 240 seconds]
PovilasCNC_ has joined #openscad
PovilasCNC has quit [Ping timeout: 240 seconds]
default_ has joined #openscad
JoelJoel has joined #openscad
mj_ has joined #openscad
Alicia has quit [Ping timeout: 268 seconds]
castaway_ has joined #openscad
pie_ has joined #openscad
stefanct__ has joined #openscad
NonICE has joined #openscad
sublim8 has quit [*.net *.split]
LordOfBikes has quit [*.net *.split]
noonien has quit [*.net *.split]
paddymahoney has quit [*.net *.split]
SamantazFox has quit [*.net *.split]
stefanct has quit [*.net *.split]
little_blossom has quit [*.net *.split]
castaway has quit [*.net *.split]
EkpyroticFrood has quit [*.net *.split]
crazy_imp has quit [*.net *.split]
pa has quit [*.net *.split]
Non-ICE has quit [*.net *.split]
pie__ has quit [*.net *.split]
Joel has quit [*.net *.split]
stefanct__ is now known as stefanct
EkpyroticFrood has joined #openscad
pa has joined #openscad
noonien has joined #openscad
SamantazFox has joined #openscad
Colt has quit [Remote host closed the connection]
paddymahoney has joined #openscad
little_blossom has joined #openscad
Colt has joined #openscad
LordOfBikes has joined #openscad
mj_ has quit [Quit: Reconnecting]
crazy_imp has joined #openscad
crazy_imp has quit [Changing host]
crazy_imp has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
ochafik has joined #openscad
Jack21100 has quit [Quit: Client closed]
Jack21100 has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
arebil has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
<teepee> what the...
<teepee> why is the nightly crashing with just an extra argument when calling ScrewThread()
<buZz> ScrewThread() is a builtin function? :O
<teepee> no
<teepee> turns out we just have to rename one of the preferences
<teepee> it's not "Stop on first warning", it's now "Crash on first warning"
<teepee> so it was just a random module unrelated to the issue
ochafik has quit [Remote host closed the connection]
<buZz> ah
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
ochafik has joined #openscad
ochafik has quit [Remote host closed the connection]
<Jack21100> If  rotate_extrude(pitch=1, angle=3600) would be possible - we had a nice built in thread module.
<Scopeuk> teepee i think there is an oustanding bug for that
<Scopeuk> Sure i've seen it, can't find it though
<Scopeuk> I wonder if perhaps a warning is being passed to an error handler and has an incompatible structure
ochafik has joined #openscad
<Scopeuk> Hmm i see a prototype for exceptionCleanup() in the main window but can't find a body in the repo
<Scopeuk> What''s that linking against
<Scopeuk> Nope me being dense and trusting github search. Its there
Taneb has left #openscad [#openscad]
ochafik has quit [Remote host closed the connection]
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
Administrator_ has joined #openscad
arebil has joined #openscad
Jack21100 has quit [Quit: Client closed]
Jack21100 has joined #openscad
mhroncok has quit [Quit: Leaving.]
ochafik has joined #openscad
Administrator_ has quit [Quit: Leaving]
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
linext has joined #openscad
<teepee> uff, finally!
<teepee> CGAL-5.3.1
<cbmuser> teepee: ping
<cbmuser> knielsen: any news regarding your DM status?
<knielsen> cbmuser: nope, no news so far
<knielsen> cbmuser: Currently open processes are seen here: https://nm.debian.org/process/
<knielsen> cbmuser: We can see that a number of applications are in the "approved" state since a couple weeks, I was told that at some point the keyring team will update the keyring causing them all to complete
<cbmuser> OK
<cbmuser> Debian admin stuff can be slow sometimes
GNUmoon has quit [Ping timeout: 276 seconds]
arebil has joined #openscad
GNUmoon has joined #openscad
mhroncok has joined #openscad
<Scopeuk> isn't that the debian motto, we'll get there eventually?
arebil has quit [Quit: Bye]
arebil has joined #openscad
PovilasCNC_ has quit [Read error: Connection reset by peer]
<InPhase> Scopeuk: Perhaps if they just consider the maintainers unstable for a few years they could eventually mark them as stable individuals.
<Scopeuk> only via a stint as tested
<InPhase> I used to deal with Debian's timeline by running testing all the time, during which I learned a lot about Linux. But I fell into a point in my life where I needed a different balance of current and reliability, hence now being a xubuntu user. But philosophically speaking, I'm still a Debian person at heart.
mhroncok has quit [Quit: Leaving.]
<Scopeuk> yeh I started with debian
<Scopeuk> and ended up on unstable because I wanted to be running a 64 bit os on my new 64 bit cpu
<Scopeuk> but domestic machines end up on ubuntu or derivatives usually
<InPhase> Jack21100: Saw your email btw. Interesting content it appears, but that looks like a weekend project for me to evaluate. :)
<InPhase> I marked it with a flag.
<Jack21100> Ü
<teepee> not naming the flag seems suspicious ;-)
<Jack21100> "spam"
kyki has joined #openscad
peeps[win] has quit [Read error: Connection reset by peer]
Administrator_ has joined #openscad
Administrator_ has quit [Quit: Leaving]
kyki has quit [Read error: Connection reset by peer]
<InPhase> Speaks suspiciously to the UI design. I pushed the unnamed thingy that makes it red, which probably has another name somewhere. :)
Alicia has joined #openscad
willmore has joined #openscad
Alicia has quit [Ping timeout: 250 seconds]
<willmore> Hello, everyone! I'm trying to design a cam for a toy my son is making. I have an arbitrary pathway I want the cam follower to effect. Is there a normal way to go about making a cam out of that? Sadly, googling for 'cam' in relation to openscad is heavily poisoned by Computer Aided Manufacturing links. :(
<willmore> I can express the desired movement of the follower with a simple equation, so I was wondering if I can make a volume of revolution with the follower shape--offsetting it by the desired amount at the desired angle and then subtract that from a disc.
<willmore> Does that sound like a good path to go down? I fear I'll end up using minkowski(). :)
<teepee> cam as in a disc with changing diameter?
<Jack21100> willmore hi,  you can either  6dof the object or the view
ur5us has joined #openscad
<willmore> teepee, yes.
<willmore> Jack21100, I'm sorry, I don't understand what you're saying.
<Jack21100> so create a polygon with that  equation and extrude it
<Jack21100> ..  yeah sorry was thinking of an animation with a camera following a path
<willmore> The device my son made is a box with a shaft through the middle. There's a crank on one side. Along the shafe are cams. Above the cams are a set of 'followers' which have a head that rides on the cam. The followers are constrained to only move up and down. They have a little indicator on the top of them. The idea is to get the indicator to move in a desired path as the handle is rotated.
<Jack21100> is your equation describing polar coordinates or linear   ..  the later need to be converted to form a circular polygon
<willmore> He's calling it a 'wave machine' and there is a row of followers all on cams of the same profile--but rotated relative to each other. The desired outcome is to have the indicators move up and down in a sine wave pattern that moves from side to side as the handle is cranked.
<willmore> It's just a sine wave in radial coordinates, Jack21100.
<teepee> function r(a) = 20 + sin(8 * a);
<teepee> linear_extrude(2) polygon([for (a = [0:1:359]) r(a) * [sin(a), cos(a)]]);
<Jack21100> are you just using excentric circles?
<teepee> would that work?
<teepee> giving radius by angle?
<willmore> teepee, that gives the position of the *follower*, but the head of the follower rides on the cam and that offsets that. The head shape--I have to check--may not be all that uniform.
<willmore> Jack21100, except for the need to compensate for the follower's head shape, yes, I think.
<teepee> well, that sin() would be just the example
<teepee> if your formula can give radius based on the angle you can just replace that
<teepee> function r(a) = 30 + 4 * sin(10 * a) + 7 * cos(5 * a);
<willmore> teepee, I understand that. The problem is that the follower will not always touch the cam on a line between the cam center and the follower head center.
<teepee> I'm not sure I will understand that without a picture ;-)
ur5us has quit [Remote host closed the connection]
<willmore> Depending on the slope of the cam at any point, the follower head will touch the cam at an angle away from the centerline.
ur5us has joined #openscad
<willmore> teepee, understood, it's not intuitive and I had to think about it a bit to grasp it. I'll see if I can find an animation.
<willmore> Found a simple one: https://www.youtube.com/watch?v=KK6DhV9aa0g
<othx> willmore linked to YouTube video "Cam-Follower Animation" => 1 IRC mentions
<willmore> Watch how the point of contact between the head of the follower and the cam moves around.
<willmore> It's not always in a line between the axis of movement of the follower and the center of the cam.
<willmore> axis of revolution of the cam...
<willmore> So, the cam shape has to be altered to compensate for the follower's head shape.
<willmore> An idea follower would have a point shape that always touched the cam in a direct line between the axis of rotation of the cam and the followers centerline.
<teepee> right, no idea how that works, but there's probably some formula someone made already :)
<willmore> But, reality doesn't like points. :)
<teepee> true, but if you make it big enough, it would not matter :P
<teepee> that creates other problems though
<willmore> That's what I figured, teepee, I just wan't aware of it and though I'd ask before I tried to come up with my own stupid idea. :)
<willmore> teepee, yes. :(
<Jack21100> what kind of motion you want?   a wave is a sinus motion so you just take an circle off center  ..   how many waves per rotation?
<Jack21100> these egg shaped cams are for controling valves  so this should open and close fast and then stay open  - that is not what you want
<othx> Jack21100 linked to YouTube video "Mechanical Wave Machine" => 1 IRC mentions
<othx> Jack21100 linked to YouTube video "Caterpillar Automata" => 1 IRC mentions
<willmore> Jack21100, yep, that's it. I dont think that used followers.
<willmore> Jack21100, that used the waves as the followers meaning they had a little (predicatble) sin error.
<Jack21100> the follower is a circle .. if the other shape is also a circle the position doesn't matter
<willmore> Sorry for being slow to respond, my song just got home and he's asking questions.
<willmore> teepee, it's a bit painful to do mathematically, that's why I was hoping to do it with physical modeling in OpenSCAD. :)
<Jack21100> physical models are math
<willmore> Jack21100, some of us think better with physical models than mathamatical ones.
<willmore> Jack21100, that caterpiller is just like what we're looking for. Note how tiny his followers so the error is tiny. But the friction is really high.
<willmore> There's a tradeoff between follower head size, tangent error, and friction.
<willmore> You can make the follower head really small and get lower tangent error, but friction goes way up.
<Jack21100> maybe you (your son)  like http://www.algodoo.com/
Alicia has joined #openscad
<willmore> We're using a larger head to get lower friction, but that means more tangent error. You can remove tangent error for some cam profiles by altering the cam shape to compensate. Obviously not for all cam profiles, but we're just looking for a sin() shaped cam with one cycle/revolution.
<Jack21100> if it is lined up with the axis there is no error - you can make the follower twice the size of the cam circle
<willmore> Our cam function is just r(theta)=sin(theta)
<willmore> Jack21100, yes, you can do like that wave machine did and make the follower infinitely large.
<willmore> That may work with out cam profile come to think of it.
<Jack21100> if you need a precise motion you may worry about this .. but not for a toy
<willmore> I'll have to think on it.
ur5us has quit [Ping timeout: 265 seconds]
<willmore> Sure, but part of the point of this is to teach him to think about how things are non-ideal and how to compensate for them. It started as a project for his engineering class. And engineering is all about "when errors go to zero, but don't quite make it and how that makes things hard(tm)"
<willmore> Not all cows are spherical and homogeneous.
<Jack21100>  well that is why i linked to algodoo it is a physics simulator where you can test all ideas and see how they work out
<willmore> Once we find a cam shape, that's probably a good way to test it. Thank you.
ur5us has joined #openscad
<willmore> Hmm, the more I think of it, an infinite sized follower maximizes the tangent error. But might be easiest to compensate for....
<Jack21100> in scad you can do the other way .. you model your linear motion and rotate a cylinder  and creating the cam shape by that motion
<willmore> That's what I was looking to do in the first place.
<Jack21100> just make a difference with rotating the circle with the linear motion of  another circle
<willmore> I proposed making a volume of revolution by revolving the shape of the follower along the linear motion path and then difference() to cut that off of a disc.
GNUmoon has quit [Ping timeout: 276 seconds]
tcurdt has quit [Ping timeout: 252 seconds]
<Jack21100> $fn=36;
<Jack21100>   difference(){
<Jack21100>    circle(50);
<Jack21100>     for (i =[0:1:360]) {
<Jack21100>      rotate(i)translate([0,40+10*sin(i)])circle(2);
<Jack21100>     }
<Jack21100>   }
<Jack21100> which is giving you a circle .. now you can move x out of center
othx has quit [Ping timeout: 240 seconds]
othx has joined #openscad
<Jack21100> willmore   and here you see the compensated form with a blue circle as comparison
<Jack21100> $fn=36;
<Jack21100>   difference(){
<Jack21100>    circle(50);
<Jack21100>     for (i =[0:1:360]) {
<Jack21100>      rotate(i)translate([20,40+10*sin(i)])circle(15);
<Jack21100>     }
<Jack21100>   }
<Jack21100>  color("blue") translate([-8,4,.1])circle(d=59);
<willmore> I can replace circle(2) with my constructor for the follower shape.
<Jack21100> yes
<Jack21100> you may need to add a rotation though
<willmore> Thank you. I'll convert the follower to openscad and give it a shot. Yes, I'll need to do that. Otherwise it's going to look really wierd. :)
<willmore> I was thinking I should use rotate_extrude() to make the shape.
<willmore> But for() works, too.
<willmore> For reasonably smooth and continuous shapres.
<willmore> shapes..
<Jack21100> keep in mind that  in reality a follower  will slip on the surface so you should only use circular follower
<willmore> That's roughly what he designed. We need to redesign the follower as well, so making an openscad model of it is a necessary step anyway.
<willmore> He's been using Fusion360 for class as that's what the teacher wants. But this is his project, now, so that's not a requirement.
<Jack21100> good luck and have fun with playing around
<willmore> Thanks for your help! You, too, teepee! :)
default__ has joined #openscad
default_ has quit [Ping timeout: 268 seconds]
tcurdt has joined #openscad
default__ is now known as sublim8
GNUmoon has joined #openscad
lastrodamo has quit [Quit: Leaving]
ur5us has quit [Ping timeout: 250 seconds]
<LeviHarris-Brown> Does anyone have any recommendations on libraries for threads? Or libraries in general
<teepee> LeviHarris-Brown: a good starting point is https://openscad.org/libraries.html
TheAssassin has quit [Remote host closed the connection]
<LeviHarris-Brown> teepee: thanks, I had tried the git one, but it always seems to crash OpenSCAD? I also found this one, but even with one thread made in a cube it drops to like 5fps when previewing it? https://dkprojects.net/openscad-threads/
TheAssassin has joined #openscad
<teepee> I've never used that one. my current project uses the OpenSCAD threads.scad Module
<teepee> which at least on the dev snapshot version with the display improvements works quite well
<teepee> I'm only using printable non-standard threads
Jack21100 has quit [Quit: Client closed]
Jack2110034 has joined #openscad
<Jack2110034> LeviHarris-Brown  what kind do you need
<LeviHarris-Brown> Jack2110034: I want to print a bunch of metric threads in a cube, so I can test my 3d printer, see what threads I can get away with and what I can't. I only have a resin printer
<teepee> those results would be interesting to hear, I've never used a resin printer myself so far
<Jack2110034>  you can use this  https://www.thingiverse.com/thing:1686322
<othx> Jack2110034 linked to "Screw Threads, Holes, Bolts, Nuts, and Rods Library by rcolyer" on thingiverse => 38 IRC mentions
<Jack2110034> however i preferer my library which makes more detailed threads
<teepee> that's the same lib as I mentioned :)
<teepee> but yes, you can have a look at the UB.scad library too, it has threads aswell
ferdna has joined #openscad
<Jack2110034> i have presets for M1 M1.2 M1.6 M2 M2.5 M3 ..  but you can also make more or less every thread you need
<teepee> Jack2110034: oh, I used the WStar() suggestion for M2 self cutting screws and that worked nicely
<Jack2110034> glad to hear
<InPhase> willmore: For this project you want to use linear_extrude on a polygon with list comprehension generated points. It will be super easy that way.
<LeviHarris-Brown> Jack2110034: Which one is yours?
<Jack2110034> ub.scad
<LeviHarris-Brown> <teepee> "those results would be interesti..." <- Once I get it to print some I'll report back and give you an update. For reference I have an Anycubic Photon
<InPhase> willmore: Inside list comprehension, you loop over angle a around a circle, you do a let(r=...your formula), and you use the circle formula [r*cos(a), r*sin(a)] for your points. As r varies, so will the points.
<InPhase> s/Inside/Inside the/
<LeviHarris-Brown> ahh cheers, I'll give that one a go
<Jack2110034> usage would be   Gewinde(preset="M3",h=10,help=0);   (help =true  for more info in "console" window)
<Jack2110034> but you only get a thread .. not a complete screw
<teepee> as we talked about using the LED ring, this is how it looks driven by WLED from an ESP32 - https://imgur.com/a/swHqHT8
<Jack2110034> teepee very nice
<Jack2110034> do you use any diffusor on top of the ring ?
<teepee> yes
<Jack2110034> looks like some cone
<InPhase> willmore: Here's one example of a randomly interesting shape: linear_extrude(10) polygon([for (a=[0:0.1:359.999]) let(r=5*(4+cos(a+2*a))) [r*cos(a), r*sin(a)]]);
<teepee> Jack2110034: interestingly it's not a cone diffuser, it's just that "screw" which holds it in place printed in transparent PLA too like the case
<teepee> I've added an image to the imgur post
ur5us has joined #openscad
<Jack2110034> unexpected  so all about reflection
<teepee> yep
<LeviHarris-Brown> <Jack2110034> "usage would be   Gewinde(preset=..." <- thank you, yours takes a very long time to compile though? And yeah sadly I don't speak German. I did just get the first library recommended working though, turns out I had a silly mistake, I was writing a positional argument in the function as an optional one and it had a slight spelling mistake, which caused the program to freeze on loading it
<LeviHarris-Brown> and I mean preview compile, not main one