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
teepee has quit [Ping timeout: 276 seconds]
teepee has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
ferdna has quit [Quit: Leaving]
LordOfBikes has quit [Ping timeout: 256 seconds]
<JakeSays> Jack21: i was able to get the ender 3 to print well enough by disabling the bltouch and going back to stock firmware.
<JakeSays> but the printer emits an incredibly annoying high pitched sound
<InPhase> Ah, the inverted acorn is released.
LordOfBikes has joined #openscad
<lf94> didnt look yet
<lf94> looking now
<lf94> > union again
<lf94> Guess I'll pass
<lf94> I'll come back to them though
othx has quit [Ping timeout: 265 seconds]
othx has joined #openscad
Jack2131 has joined #openscad
Jack21 has quit [Ping timeout: 256 seconds]
<InPhase> lf94: I decided to play your game as well, seeing if I can reimplement these OpenSCAD designs in OpenSCAD. ;) I have an alternate implementation approach to show later for tomorrow's, taking it from scratch in a completely different approach.
<lf94> Isn't that the goal of the calendar? To learn something new? :p
<InPhase> I was aiming for pseudo-golf, looking for a minimalistic sort of implementation (although not trying to compactify characters).
<InPhase> lf94: Are you stuck on the weird rounded tetrahedron thing, or were you just taking a break from it?
<lf94> Both
<lf94> X)
<lf94> I'm currently trying to figure out how to properly place a sagitta-built arc
Jack2131 is now known as Jack21
<Jack21> JakeSays - Stepper driver can produce that noise or the PSU - maybe a sign that something emits EM and is broken if that noise is new
<Jack21> InPhase shouldn't be hard to find more efficient ways - i tried to make a  simple approach to understand and lecture design which is often more verbose
<JakeSays> Jack21: the whole printer is new
<Jack21> So it always made that noise?  .. well check the stepper - would be my first guess
<JakeSays> the driver or the stepper itself?
<Jack21> the reason is the driver the source of emission is the stepper
<JakeSays> ah ok
<Jack21> you can mount the stepper with some thin rubber
<JakeSays> this printer is supposed to be "upgraded" with quiet drivers, but i seriously doubt it is
<Jack21> maybe stealth is not activated - Ü
peepsalot has quit [Read error: Connection reset by peer]
<Jack21> quiet also means that the noise is just in a different frequency so you can't hear it   (but potential pets can)
peepsalot has joined #openscad
<JakeSays> ah interesting
GNUmoon has quit [Ping timeout: 276 seconds]
<JakeSays> Jack21: trinamic makes the tmc2209's that are in my printer that is quiet
SamantazFox has joined #openscad
<Jack21> and a lot more ( all starting with tmc)  there are some china clones without the performance
GNUmoon has joined #openscad
<JakeSays> i have a controller with tmc2209 drivers sitting on a shelf. i should stick it in this damn ender
<Jack21> creality board 4.2.7 is using TMC2225
<Jack21> should be quiet though
peepsalot has quit [Read error: Connection reset by peer]
peeps has quit [Remote host closed the connection]
peepsalot has joined #openscad
peeps has joined #openscad
<ccox_> They're great, if your printer board can take external drivers. Sigh, too many Chinese printers use soldered on drivers.
<ccox_> But my CR6SE uses the latest trinamic drivers, and is SUPER quiet.
<ali1234> quiet stepper drivers don't move the sound to an inaudible frequency. they work by shaping each step into a sine shaped pulse instead of a square pulse, which removes high frequency harmonics
<ali1234> it's like the difference between gently closing a door and slamming it
<JakeSays> Jack21: this one has v4.2.2
<ali1234> except 200+ times per second
<Jack21> yeah microstepping is moving the frequency and that feels less annoying
<Jack21> i think it is save to say that Trinamic has so many tricks that it wouldn't make sense to build your own driver
<JakeSays> supposedly v4.2.2 has tmc2208's on it
<Jack21> also the features can be switched on and of and not all chips (different series of chips) are equally good
<ali1234> indeed, and you have to set up marlin for your drivers
<ali1234> so if older firmware made it get louder... well that's probably cos it is configured for the most simple type of driver features that everything supports
<JakeSays> it's using the factory firmware
<ali1234> yeah, and the factory board (until very recently) had the worst steppers ever
<ali1234> worst drivers*
<JakeSays> tmc2208's are supposed to be good
<JakeSays> i'd use my skr 1.4 controller with tmc2209's but id have to build an external enclosure
<ccox_> (man I wish all these pre-built drivers were available back when I was doing robotics in college)
<ali1234> mine has 2208s i think, or maybe 2209s
<ali1234> it's very quiet. i also undervolted the power supply fan and put a bigger heatsink on it to compensate, and a noctua in the hotend
<JakeSays> noctuas are awesome fans
<ali1234> i'm pretty sure the stock fan is just a regular 12V fan they have overvolted because it absolutely screams normally, but if you put it on 12V it sounds like a regular fan
<ali1234> that would also explain why the blades fly off so often after like a month
<ali1234> but my ender 3 is a couple of years old now so they might have fixed these problems
<JakeSays> mine is two weeks old. they didn't
<ali1234> which version is it?
<JakeSays> ender 3 v2
<Jack21> some in our space removed fans and replaced with cooling via aquarium pumps
<ali1234> hmm. disappointing then
<JakeSays> the z axis was caked with grease, so much so that it leaked out and covered several parts in the box.
<ali1234> yeah thats intentional
<JakeSays> and the filament inlet on the extruder is positioned such that the filament touches the z axis screw
<JakeSays> ali1234: intentional?
<ali1234> that's a known issue you can print a fix for
<JakeSays> i did
<ali1234> yeah the z rod needs a lot of grease on it
<JakeSays> it doesn't need that much
<JakeSays> that was beyond an insane amount
<ali1234> well maybe, i can't see it :)
<JakeSays> the z axis is the least used axis.
<ali1234> but it has the most force on it
<JakeSays> my other printer had just a light film of oil.
Colt has quit [Remote host closed the connection]
peeps[zen] has joined #openscad
peeps[win] has joined #openscad
peeps has quit [Ping timeout: 252 seconds]
peepsalot has quit [Ping timeout: 250 seconds]
<Jack21> threads screws need grease while the linear bearing on the rods can also use oil
submariner has joined #openscad
peeps[win] has quit [Ping timeout: 252 seconds]
peepsalot has joined #openscad
peeps[win] has joined #openscad
peeps[zen] has quit [Ping timeout: 256 seconds]
fling is now known as bedroller
teepee_ has joined #openscad
teepee has quit [Remote host closed the connection]
teepee_ is now known as teepee
Colt has joined #openscad
Colt has quit [Remote host closed the connection]
Colt has joined #openscad
Colt has quit [Remote host closed the connection]
Colt has joined #openscad
Colt has quit [Remote host closed the connection]
Colt has joined #openscad
Colt has quit [Remote host closed the connection]
Colt has joined #openscad
Colt has quit [Remote host closed the connection]
stefanct has quit [Ping timeout: 252 seconds]
stefanct has joined #openscad
stefanct has quit [Ping timeout: 240 seconds]
stefanct has joined #openscad
othx has quit [Ping timeout: 268 seconds]
othx has joined #openscad
<InPhase> Jack21: Try silicone or lithium lubricant on the threads and rods. This can run you for years with one application. Many other lubricants do not age as well.
<buZz> i like ceramic-dust-suspended-in-grease as lube aswell
<buZz> the ceramic will fill in microcracks in the surfaces and make them smoother over usage
<Jack21> i am using a full synthetic polyurea grease with PTFE which works also for most plastics
stefanct has quit [Read error: Connection reset by peer]
stefanct has joined #openscad
<InPhase> buZz: Those boron nitride ones can like graphite build up to an obstruction if one reapplies them too often. With it suspended in grease the hydrophobicity will depend on the grease selected.
<InPhase> buZz: But that should give decent longevity as well. Used normally I might expect it to outlive a typical use printer.
<InPhase> (With a good grease, or with a dry application.)
<InPhase> Jack21: Yeah, I suppose that would work too as a good alternate to silicone or lithium.
<InPhase> Some fine lubricating going on. :)
<buZz> InPhase: yeah its almost like i just need to lube once in lifetime of a printer
<Jack21> printer have a very low load (except high speed) so  some PTFE spray or just silicon spray will be fine - just dry lead screws may not be the best
<buZz> what i found , is that -dry ptfe- lube sprayed onto the nozzle from below, really helps a lot in preventing any PLA sticking to your nozzle ever :)
<Jack21> although they probably move less due to gravity
* Jack21 sprays his toilette with silicon spray - no sticking anymore .. Ü
<buZz> :D
<buZz> Jack21: you ment PTFE i assume
<buZz> poop sticks to silicon obviously
<Jack21> not silicon oil
<buZz> yes, which you flush away instantly
<buZz> :P
<Jack21> no you apply this on a dry surface and it hold forever
<buZz> better coat your ceramic thrown in PTFE if you dont want organic material to stick
<buZz> Jack21: it doesnt :D
<Jack21> - that is why painter hate silicone oils
<buZz> painters just hate reality
<Jack21> haha
<Jack21> also silicone is environmentally neutral while PTFE is not so ideal in sewage
<teepee> ah, neat Bogen() cool stuff :)
<Jack21> and there is a SBogen() too Ü (which also used as 2D in Anschluss()..  or try   SBogen()SBogen();
<Jack21> and there is Rohr();
<teepee> Bogen is perfect, I want to rotate_extrude for a led light cap
<Jack21> just fixed the automatic 2D handling of bogen
SamantazFox has quit [Remote host closed the connection]
<teepee> rotate_extrude() translate([20, 50]) rotate(90) Bogen(rad = 5, 2D = true, l1 = 20, l2 = 50, d = 3, grad = 90, messpunkt = false);
SamantazFox has joined #openscad
<Jack21> The current version will automatic switch into 2D if used with RotEx ( i can not detect rotate_extrude as parent)
<Jack21> you also could use a difference of Pille(l=56.5,d=53,center=false,rad=[0,7]);
<Jack21> using Bogen makes it bit difficult to get right inside and outside dimensions
<teepee> it's fine :) https://pastebin.com/b9ZC9Rwq
SamantazFox has quit [Ping timeout: 268 seconds]
<teepee> just need to add the thread and do a test print
qeed has joined #openscad
<teepee> stackable led lights
<teepee> as it's not easily possible to get those cheap, printing is even more fun
<teepee> and I can test one of those ESP32-C3 modules
SamantazFox has joined #openscad
<Jack21> strange inner dimension Halb()RotEx(cut=true)Rand(3)Pille(l=53.5,d=47,center=false,rad=[0, 3.50],2D=true);
<Jack21> thread are offered by Gewinde();
<teepee> hmm, I might try that at some point, but the other stuff already uses the threads lib from InPhase
<teepee> just doing easily printable threads with 3mm pitch and 55° tooth angle
<Jack21> 55° withworth?
<teepee> less sharp, so 55° against horizontal
<Jack21> a 65° angle?
<Jack21> that is new .. but why not
<teepee> I don't think so, but I'm not 100% sure
<teepee> I think that angle would be 70° in my case
<Jack21> i have a module making threads with a wave form (changing angle)
<Jack21> GewindeV3();   nice for 3D printing
<InPhase> The thing my threads module promises is a convenient interface for matching up to standard threads and with very good rendering efficiency. Every once in a while people stumble into a non-standard thread format that is a little tricky to make work with it though.
<teepee> in most cases I just need something that's nicely printable without too much calibration and that worked well so far
<teepee> it's much nicer to just use thread to combine different parts
<InPhase> Yep. I throw them in pretty liberally to attach multi-part pieces. It is often easier to make a two-part threaded piece than to deal with supports.
<teepee> yup, and here it's meant to be stackable anyway, so there's not really an option to have a single piece print
<teepee> like it could be classic 3 level red, yellow, green, but maybe we can use it for flagging jenkins errors to, so it would be one level per biger project :)
<teepee> it's rgb leds, so no color restrictions as such
<InPhase> Jack21: So when I stumble across one of your examples, I find your library pretty easy to work with (with a German/English translator window open). But now that you have it up on github with a readme and all, what it could really use to be of broader use is an explanation of what all the modules do and what the parameters expect. In most cases you chose non-descript variable names for the parameters,
<InPhase> so one cannot really guess what they do without trying to deduce it from a working example. But you can fix that up with some plain-language instructions.
<InPhase> Jack21: What I do for many of my posted modules if I don't think the variable names are obvious is toss this in the comments, and then also put it in the readme. This isn't as detailed as formal documentation but I think it's enough as a minimum for people to get going with using a thing.
<InPhase> Jack21: I posted ClosePoints on /r/openscad and it was probably only a couple hours before someone complimented it but complained they couldn't understand it without comments documenting it. :) So, I went and added comments to document that one as well: https://github.com/rcolyer/closepoints
<teepee> the help=true thing actually rendering an example is nice. that made it much simpler to understand the parameters for Bogen()
<InPhase> Jack21: Since you have so many usage examples around, you could also link to those from the docs. But separate descriptions of the parameters would be the most important. And tossing in some English descriptions of what all the modules do would broaden access. Like one should be able to open up your readme and ctrl-F for "thread" for GewindeV3 to be found.
<InPhase> teepee: I suppose, although the help feature only kicks in as helpful once you found what you're looking for. Step 1 is getting people aware of what's possible and which parts will help them with the thing they want to do.
<InPhase> I'm convinced there's some solid usefulness lurking in that ub.scad that could be brought out widely with this. :)
<teepee> true, but the images give a good visual overview for most things already
<Jack21> InPhase  for others there is much change needed - for me i was using short variables (lazy you know)  and if possible i used standards like p in threads - the german is usefull to avoid conflicts with english modules from other libraries ( i guess there are many Arc and Circle or Threads around )
<teepee> oh, cool, knurled cylinder \o/
<Jack21> InPhase but good advice to add more english words in the help file
<Jack21> teepee   try Zylinder(fn=150,fnh=150);  (and there are more waves to activate)
<InPhase> Jack21: Surface and WaveEx for example look like potential alternate competitors to PlotFunction and ClosePoints (and I fear no open source competitors! :) ), but I can't deduce the total behavior from looking at them. It would take a major deep dive to sort that out.
<teepee> uh, wavy :)
<teepee> so maybe no need for the ancient aubenc library anymore. it was quite useful for many years though
<teepee> those are like 4 digit thingiverse IDs
<Jack21> InPhase also some are old and not that nicely coded as yours .. e.g surface is buggy if you choose the wrong values
<Jack21> https://pasteboard.co/qWzaMDu3j0PA.png   if you use low fn
<Jack21> you get some nice pattern though
<InPhase> Jack21: That's a reason to have alternates, because they can fail in surprising ways. ClosePoints for example fails non-manifoldly in the default behavior if you have a concave end surface that excludes the average of the points in the loop, like for a really thin crescent.
<InPhase> And a few other highly concave endpoint constructions will also fail without extra effort to manually close up the ends.
<InPhase> Jack21: And presumably different approaches will fail differently. :)
<Jack21> so we pack all together and can be sure to fail randomly different everytime
<InPhase> For my example it's sort of baked into the approach, and there's no obvious way to fix it, so it lingers as a usage limit.
<InPhase> You can always work around it but you have to sort of add extra hidden surface loops to walk the path lines in until they can close themselves appropriately.
<Jack21> isn't all software  some "what works best" learning .. so a workflow you follow or best practise  to do things
<InPhase> It would not be trivial to calculate this automatically.
<Jack21> intersecting polygons are common if they are defined by variables  ..  like Quad (-5,r=1);  while Quad ([-5,5]) works
<Jack21> for some cases i gave out warnings
<InPhase> In some cases I've been able to take good steps to avoid this. I've been very happy with how robust smooth_prim is on inputs. In all the cases I'm aware of for that one, seemingly invalid inputs adjust themselves internally to fit within the constraints. https://github.com/rcolyer/smooth-prim
<InPhase> In that one I was able to carefully design which inputs are received in a way that this worked out. It's sort of a restricted set which this works well for.
<InPhase> I think that makes it really good for things opened up to a customizer.
<Jack21> all squares need to be circles - Ü
<InPhase> Says the person with the open PR to make all the circles triangles. :)
<Jack21> i like to compare this with tools  -  some are easy to understand but some a specialized   so you don't need a CNC  just a hammer like non-rebound soft hammer - if someone use that for a nail - it will fail and get damaged
<Jack21> InPhase ( i recognized after typing that it should be other way around)
<Jack21> Just had to make a Triangle with 21mm sides -- thought i could use $fs=21  but .. never get Triangles :(
<InPhase> I do think that PR makes sense, but to integrate it and address the issues raised in it, we probably first need a consensus to add $fa and $fs as new configuration parameters, perhaps defaulting to $fa=1 $fs=0.4 on first install. People can revert the configuration settings if they want the old low-poly behavior for old systems.
<InPhase> We only really need these as gui configs, because you can already pass them in the command line for other purposes.
<Jack21> Yeah so some default variables used in settings
<InPhase> It's just important that when we do it we start out with 2021 defaults instead of 2013-ish defaults.
<InPhase> People with high-res printers might then choose to render everything by default smaller.
<InPhase> And the right decision going forward is that people should not rely on the exact $fa and $fs default settings on target systems using designs, which... would be a good thing.
<Jack21> I just had someone posting a cookie cutter with a 2012 script ..  and thought  -- this is so much simpler today please don't use that old shit
<InPhase> In general you should assume circles are circles and spheres are spheres unless you overrode this explicitly with your own variable assignments.
* Jack21 looks into printer gcode ..  no all circles are polygon - there is no G2/3 used
<Jack21> i think there are not many issues if all these 1mm pentagon holes suddenly have 12 sides
paddymahoney has quit [Ping timeout: 265 seconds]
<Jack21> InPhase  about your suggestion - just made a "test" in the products section  -  so my problem is that if i start to explain all parameters here this is getting very confusing -  so i wiki might be good and only keep it short in the readme?  - another thing is that if i change something i need to update 4 places
<teepee> wiki seems like a good option
<gbruno> [github] kintel pushed 1 modifications (Only output test report and log, the individual test output is too large to upload). https://github.com/openscad/openscad/commit/bba7b2fa9de683b9e51703b05e142138528adafc
<Jack21> teepee maybe i start with the most confusing to use modules like the Zylinder() were you have a lot of variables only i am used to
<teepee> yep, that sounds like a sensible plan, trying to go through everything at once is probably impossible anyway
<teepee> so maybe pick the most complicated / most generally useful things first, extends when there are questions :)
<teepee> it's pretty similar to the openscad docu, nobody really has the time to go through everything and create perfect documentation
qeed has quit [Quit: qeed]
<teepee> that would be nice but could only happen when sponsored :)
qeed has joined #openscad
<InPhase> Jack21: Makes sense. Your library is much larger and clumped together than most of mine, so it might be structurally too large for one readme page.
<juri_> implicitcad has sponsorship. a whole $5 a month! :)
<InPhase> juri_: Did you quit your day job yet?
<juri_> InPhase: no, need another 8K a month or so for that. :D
<InPhase> Almost there!
<InPhase> You can consider that an implicit salary.
la1yv has quit [Read error: Connection reset by peer]
la1yv has joined #openscad
<juri_> I've recently emmired myself in the tarpit of property testing my slicer. at the current rate, i may be able to quit my dayjob about the time my slicer works properly. :)
<gbruno> [github] kintel pushed 1 modifications (Only output test report and log, the individual test output is too large to upload (#4006)). https://github.com/openscad/openscad/commit/8b03aca7ae613ad622e9a6388e26f0711ca4acaa
teepee has quit [Ping timeout: 276 seconds]
aiyion has quit [Ping timeout: 276 seconds]
TheAssassin has quit [Ping timeout: 276 seconds]
GNUmoon has quit [Ping timeout: 276 seconds]
teepee has joined #openscad
GNUmoon has joined #openscad
aiyion has joined #openscad
<gbruno> [github] kintel pushed 1 modifications (Use built-in libz on macOS). https://github.com/openscad/openscad/commit/285bef687764ff368c015214d0bfdbe927fb781d
<gbruno> [github] kintel pushed 1 modifications (Merge remote-tracking branch 'origin/master' into faster-qt-macos). https://github.com/openscad/openscad/commit/6bd54c1e1f39ecb7a6b275e8025d5718645e492d
<gbruno> [github] kintel pushed 1 modifications (Merge remote-tracking branch 'origin/master' into m1-build-macos). https://github.com/openscad/openscad/commit/2f1f11a478de8993ea6edceeca34c992881d45f5
<lf94> How would you find d?
<lf94> With no other information
<lf94> (I asked in #math too)
<Alicia> it's unclear to me what information we do have. Like Pa and Pb, are we getting coordinates, angles, angles within the circle?
<lf94> Pa Pb are coordinates that we have yes
<lf94> And we have the normal of tangent T
<lf94> but that's all.
<lf94> nothing else is available
<lf94> I'm truly stuck
<Jack21> what is the relation of Pb to Pa so how is Pb generated
<Jack21> Pb seems to have a relation to the circle, so r (or d) could be calculated
<lf94> Pb is user defined
<lf94> Pa is also
<lf94> A circle of radius R must pass through points Pa and Pb while being tangent to T.
<Jack21> so you can calculate R as h of the triangle Pa Pb M
<Jack21> it is an isosceles triangle to you can use half of the chord
<Jack21> to find M
<Jack21> and M is on a line perpendicular  to tangent at Pa
<Jack21> you also know the angle between M and Pa⇒Pb if you know the tangent
<lf94> I need pictures
<lf94> I'm too dumb
<Alicia> I'm lost regarding M, but what I've gotten to is d=Pd/sin(atan2(Pa, Pb)-T)*2 where Pd is the hypotenuse between Pa and Pb
<Alicia> hm, that's not right, needs to get the hypotenuse between sin and cos I think
<lf94> Someone in #math got it I think
<lf94> PaPb / cos( arcsin( t dot PaPb / (|PaPb|*|T|) ) )
<lf94> = d
<lf94> t is the vector / slope of T
<Jack21> you have the angle between T and PaPb    with that create the  Triangle PaPb/2  PaM
<Jack21> resulting in the radius as last side .. and d = 2r
<Jack21> PaM is  r