<JordanBrown>
InPhase thanks, interesting stuff. I wonder whether there would be interest in a blog-style set of case studies where people say "I had this problem, and here's how I solved it and why I solved it that way".
<InPhase>
JordanBrown1: Apparently you're old. People put those on youtube now. :)
<InPhase>
But yeah, could probably be fodder for a decent youtube channel. Although the trick is to figure out how to make content that's not one-off for esoteric problems.
<JordanBrown1>
Yes, I'm old. Or at least older than you. But younger than Gene.
<InPhase>
Hackman?
<JordanBrown1>
Pretty much, I actively dislike videos for stuff that can be presented as text. I read far faster than people speak, and backing up and rereading text is much easier than in videos or audio.
<InPhase>
Yeah... I also much prefer text for most things.
<InPhase>
But, I feel like I've been losing this battle against society. :)
TylerTork has joined #openscad
<InPhase>
Although there are youtube channels that really figured out how to present some science information with extra clarity using detailed visualizations. In the last 5 years I've seen youtube channels figuring out how to present some complicated physics concepts with what I consider unprecedented clarity.
<JordanBrown1>
Heskett. (Had to look up his name.) Sorry, I forget that you don't follow the mailing list.
<InPhase>
So the video form wins on some things when the visualizations are used really well.
<JordanBrown1>
There are things for which video is good.
<JordanBrown1>
Programming is not one of them :-)
<InPhase>
Some of it is even stuff I would have previously assumed best in text form. So I accept that on some of those, I was wrong. :)
<InPhase>
Agreed, programming in video format is painful to me...
<JordanBrown1>
Anything that's a talking head is just bad.
<JordanBrown1>
Also text is easier for the authors. I might be able to get you to spend half an hour writing up a project, rather than spending half a day making a video.
<JordanBrown1>
With images, of course.
<pca006132>
InPhase: maybe people use tiktok now :P
<InPhase>
JordanBrown1: Yeah. Although there might be outreach merit the other way. But that's probably a task for someone else.
<pca006132>
from my experience making education video that people want to watch is probably harder than writing a good blog post
<InPhase>
pca006132: tiktok programming tutorials would be so bad. lol
<InPhase>
I don't know if I'm just doing it wrong, but I still haven't figured out how to rewind tiktok videos.
<pca006132>
I never use tiktok so I don't know either
<pca006132>
but I feel that they are not supposed to be rewind? in their UX design
<InPhase>
Probably not, but it ends up being terrible because of it. :)
<pca006132>
just watch whatever our *AI overlord* recommends to you
<JordanBrown1>
Grab the handle on the slider at the bottom and drag it.
<JordanBrown1>
At least in a browser.
<InPhase>
And, I have thought a few times about making educational youtube videos myself. I did spend 6 years training myself to give engaging lectures. But I'm not sure I have the stomach to put stuff on youtube routinely.
<InPhase>
Each one would take a lot of time.
<pca006132>
yeah
<InPhase>
There's a lot of preparation to giving an engaging lecture.
<pca006132>
and giving in-person lecture is very different from making a video...
<InPhase>
That also. I'm missing all of the right equipment. :)
<InPhase>
Zoom quality is not youtube quality.
<pca006132>
I remember my friend did some lectures for university robotics team using... Inochi2D
<pca006132>
maybe people prefer cute anime girl comparing with a boring dude :)
<UltimateCodeWarr>
Remember the Presentation Format: Tell them what you are going to tell them. Tell them. Then Tell them what you told them.
<InPhase>
pca006132: Well I can blink fast and giggle. But I'm not shaving the beard off.
myosotiss has quit [Ping timeout: 252 seconds]
TylerTork has quit [Quit: Client closed]
JordanBrown2 has joined #openscad
JordanBrown1 has quit [Ping timeout: 260 seconds]
mmu_man has joined #openscad
JordanBrown2 has quit [Ping timeout: 252 seconds]
greenbigfrog has joined #openscad
<UltimateCodeWarr>
This might make a cool cable glad to seal a wire coming into an enclosure. Anyone see a openscad model of this? https://www.youtube.com/watch?v=VbXAudeOROg
<othx>
UltimateCodeWarr linked to YouTube video "Cool iris aperture from the 3D printer. Almost finished. Fast assembly." => 1 IRC mentions
paddymahoney has quit [Ping timeout: 244 seconds]
mmu_man has quit [Read error: Connection reset by peer]
fling has quit [Remote host closed the connection]
fling has joined #openscad
JordanBrown2 has joined #openscad
L29Ah has joined #openscad
greenbigfrog has quit [Ping timeout: 248 seconds]
fling has quit [Ping timeout: 260 seconds]
greenbigfrog has joined #openscad
greenbigfrog has quit [Ping timeout: 244 seconds]
greenbigfrog has joined #openscad
greenbigfrog has quit [Ping timeout: 248 seconds]
JordanBrown2 has quit [Ping timeout: 276 seconds]
greenbigfrog has joined #openscad
fling has joined #openscad
JordanBrown2 has joined #openscad
greenbigfrog has quit [Ping timeout: 248 seconds]
greenbigfrog has joined #openscad
fling has quit [Ping timeout: 260 seconds]
JordanBrown1 has joined #openscad
<TylerTork>
I want to try this again. In some of my designs that are designed to interface with manufactured objects or that have multiple parts that are supposed to fit together, I use a Customizer setting I call "tolerance" which is intended to adjust for the degree of precision of the printer. I regard it as reflecting the distance two lines within a layer
<TylerTork>
have to be apart, to remain separate. I try to apply that consistently so different scripts asking for this number should let you enter the same values you have determined through experimentation, for a given combination of printer and filament.
<TylerTork>
My questions are:
<TylerTork>
1. Do other people do this?
<TylerTork>
2. Do you have a different/standard word for it?
<TylerTork>
3. Is there a different way of thinking about what that number represents to make it make more sense in terms of adjustung the design for successful printing?
<TylerTork>
4. Is there any other attribute of the printing setup that people like to be able to adjust to contribute to successful printing in a specific environment?
JordanBrown2 has quit [Ping timeout: 252 seconds]
JordanBrown1 has quit [Ping timeout: 248 seconds]
JordanBrown1 has joined #openscad
greenbigfrog has quit [Ping timeout: 252 seconds]
<teepee>
yes, for pretty much anything non-trivial I use eps for the internal overlap stuff and tolerance for printer tolerances you describe
greenbigfrog has joined #openscad
<TylerTork>
eps?
<TylerTork>
I only know that acronym as a file format, not finding anything else
L29Ah has left #openscad [#openscad]
<peepsalot>
short for epsilon, a small value
JordanBrown1 has quit [Ping timeout: 264 seconds]
JordanBrown1 has joined #openscad
<teepee>
yep, epsilon as in too small to make much of a difference, but still able to fix coincident face/edge issues
<TylerTork>
Ah. Gotcha. Thanks
<teepee>
I mostly use 0.01 sometimes 0.1
<teepee>
it's mostly there to give it a clear name indicating *this is the coincident face fix*
<TylerTork>
I think I'll copy that practice.
J24k79 has joined #openscad
<teepee>
it sure would be cool if it would be automatic, but I have not seen any solution to that
<teepee>
well, other than libraries supporting specific overlaps for some of the primitives
<teepee>
like the UB lib from J24k66 has that built-in in some of the primitives which is nice
J24k66 has quit [Ping timeout: 256 seconds]
<J24k79>
i am calling that parameter "lap" (overlap)
<J24k79>
as this is nothing you find in other CAD systems it is but unique to CSG
mmu_man has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
<InPhase>
teepee: Yeah. For another example, a big part of the reason "ScrewHole" in my threading library has its primary API as an operator acting on a part, is precisely so that it can include those overlaps in the right manner, and "just work" without thinking. Because you can typically integrate that into libraries correctly if and only if you know exactly the properties of the piece you're working with and
<InPhase>
how it integrates with other pieces.
<InPhase>
TylerTork: Just, there's never a right generalized answer for all cases. :)
<TylerTork>
InPhase: True, I'm just trying to develop some best practice recommendations so wanting to know what you experienced folks find works best
<InPhase>
TylerTork: When I do "tolerance" as a top-level parameter, it actually takes some detailed thought as to what I intend for it to mean throughout the print. For example, tolerance might be an adjustment for how expanded and jittery the print layers are. In that case, I will use it throughout the design everywhere I think that broader jittery layer lines might impact proper function or proper printing.
<InPhase>
TylerTork: So it helps to try to think of a physical meaning for it when creating it, and then to document that meaning in a comment near where it is set, and/or in any readme documentation accompanying your design.
<J24k79>
besides if you use inclusive or exclusive slicing methods
<InPhase>
TylerTork: Sometimes you will need multiples of these to account for different dynamics that you want to adjust for.
<TylerTork>
InPhase: that's the sort of details I'm after. What dynamics, specifically? I need examples.
<InPhase>
TylerTork: Sometimes people have printer/filament combinations with different minimum overhang angles, and a clever design might be able to adjust for that.
<InPhase>
I've never once done a design accounting for that, but that's something I could imagine doing.
<J24k79>
in BS a 5mm bolt fits into a 5mm hole .. (with default slicing) .. and then people complain the models with tolerances are too loose - Ü
<TylerTork>
J24k79: BS?
<J24k79>
BambuSlicer
<J24k79>
BambuStudio to be correct
<TylerTork>
So if the tolerance is a Customizer parameter they can adjust it to zero for that printer and be happy?
<InPhase>
TylerTork: Technically jittery layer lines, while they contribute to width errors for mechanically fitting parts, can also have a different dynamic to other things that impact minimum clearance widths between close parts. You can also have competing dynamics like layer line jittering and plastic shrinkage, and depending on the shape of a high requirement part, you might need to in some cases specify
<InPhase>
these separately if they impact some pieces differently. Most of the time I try to "approximate" these tolerances to 1, or at most 2, of the most important ones. Giving too much freedom and flexibility to the user of a design can be paralyzing with excessive choices. So I try to simplify and approximate rather than hit full accuracy to all the underlying dynamics that could impact a part. There's a
<InPhase>
balancing art to that.
<J24k79>
You also need to take into account the amount of surface area - a sphere has only a small contact or difference of a cone in a cone hole or just a hole
<TylerTork>
J24k79: sorry what
greenbigfrog has quit [Ping timeout: 252 seconds]
<J24k79>
Yes at least they can use smaller tolerances - also printing 0.6 nozzles often require some more tolerance
<InPhase>
TylerTork: Keep in mind that most of the time people aren't looking for any sort of purity. They want something they can get working easily. So the best designs try to account for the most common scenarios, and then offer just a little adjustment wiggle room to address the biggest probable issues. And once you've done that, nearly everyone out there will be able to get a thing to work for them
<InPhase>
adequately to be happy with the result.
<J24k79>
If you want a sphere in a torus void (like a ball bearing) you can get away with very low tolerance. But try to put a cube into a cube hole you will need more because corner didn't print perfect
<InPhase>
TylerTork: And what J24k79 just mentioned can be addressed while keeping things simple for the user by doing something like using tolerance*1.3 for the cube, and just tolerance with no multiple for the sphere, doing your best to guess (maybe with some testing) at the relative impacts, so that you don't have to drown your user with choices. And then they can tweak the value and find a good enough fit.
<TylerTork>
My vision here is that for normal parts without weird requirements, people can use different scripts that ask the same question and know that, for their printer using a particular kind of filament, the value ___ generally gives good results.
<InPhase>
TylerTork: A bit of educated-guess handwavy usage of tolerances tends to be very appreciated by users. :)
<J24k79>
I know some Ball bearing model that has 100+ versions so you can test and find the right on for your (not calibrated) printer .. don't think this is a good approach - but surprisingly a lot people are happy with it
<InPhase>
J24k79: :) I guess that's the other approach. I just haven't seen that sort of desire being common in the user communities. I mostly encountered users feeling overwhelmed at times, and appreciating things more if they have simpler ways for getting them good enough.
<InPhase>
Although ball bearings do tend to be a particularly nuanced part with high stability requirements and difficult print conditions.
<InPhase>
Maybe some people are more willing to invest in the perfect ball bearing for their setup.
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
<InPhase>
lol, that file pile. That could have been a scad script. ;)
<teepee>
InPhase: yep, for a specific primitive it's often clear where to have an overlap for easy attachment, in the general case it feels impossible
<J24k79>
some people should never given the power of parametric design (and export)
<InPhase>
Let me see what the 8 year download rates are for my old print-in-place bearing.
<InPhase>
It was not a great design, but attempting a different sort of balance of dynamics.
<teepee>
lol 163 files :)
<J24k79>
- then those probably doing that by hand
<J24k79>
besides not having bottom chamfers - the bearing running an a cone is a bad idea in general
<InPhase>
https://rcolyer.net/show/thingiverse_activity_2024-10.pdf There we go. That was 15 minutes harder than it should be, just to extract the thingiverse activity from that bad-html page. But I got it, with a few extra steps. :)
<InPhase>
Looks like my idler pully bearing got 1978 downloads and 21 derivatives.
SIMARJOT has joined #openscad
<InPhase>
Not bad for a bearing that intentionally had no rollers inside of it. But which consequently was a little easier to make stable.
<J24k79>
so it is a pla bushing?
<InPhase>
Yeah, basically. But varying in radius, so that it will stay in place.
<InPhase>
I had another PLA bushing part up that's pure cylinder, with post-processing to make it ultra smooth and snug. That thing has actually been a piece on my printer for a long time, and worked really well.
<J24k79>
i found a PTFE infused filament (quite expensive) for low friction
<InPhase>
"I saw another one like this on Thingiverse but the curve was the other way around which made me feel like it would be less stable." This is of course correct. I think I had my curve backwards on that design.
<InPhase>
Although I had a few constraints that were limiting the options, as it was a more narrow one, designed to swap in for a particular printer part.
<J24k79>
if the center line of the curve is the same - shouldn't make any difference
SIMARJOT has quit [Quit: Client closed]
<InPhase>
Except that mind had fins for a belt along the outside.
<InPhase>
So thinning it out right where those fins are would weaken it.
<InPhase>
I think that was a consideration I had at a time. And where I reasoned that smooth rolling and not breaking were more important than high axial stability, since the belt would keep it straight anyway.
<InPhase>
I tried it out, but never kept it in place. I was just on a self-tasked mission to print replacements for every printer part I could. :)
<InPhase>
Some ended up hugely important. Some things never broke.
<InPhase>
But it is worth keeping in mind that in most cases, the concave curvature of that printables model should be superior.
greenbigfrog has quit [Ping timeout: 248 seconds]
greenbigfrog has joined #openscad
<J24k79>
it is always surprising that a flat belt will run centered on a convex surface and never on a concave
greenbigfrog has quit [Ping timeout: 276 seconds]
greenbigfrog has joined #openscad
<UltimateCodeWarr>
J24k79, thanks for the model suggestions, will take a look. Been looking at something like this vs using a split bolt with a narrow hollow center.
<UltimateCodeWarr>
I will mount these cable entry points on the underside, so little chance of water intrusion, but want to keep bug/dust out too.
<UltimateCodeWarr>
Crazy Passing Thought: Make an Open SCAD Tetris "Trainer" Game, where two players could practice their Openscad wizardry to solve the puzzle.
<teepee>
I like the idea, but why need 2 players?
<UltimateCodeWarr>
Iron sharpen Iron
<UltimateCodeWarr>
With good AI, you probably won't, but sometimes creative solutions are cool too
<UltimateCodeWarr>
A little competition to the mix ... never hurts.
<teepee>
I'm not sure there are enough people to have lots of 2 player games
<teepee>
a 1 player learning game seems much more easy to get to people interested in learning
<teepee>
also AI is useless for learning
greenbigfrog has quit [Ping timeout: 252 seconds]
<UltimateCodeWarr>
Wanting to Boost Productivity, Charles Schwabb asked the day shift how many parts they produced that day. He heard 12, and so he wrote 12 on the floor with Chalk. When the night shift heard of this, they produced 14.
<teepee>
that's not learning, that's competition
<teepee>
which is at least partially opposite of learning
<UltimateCodeWarr>
If it makes you more efficient ... that's learning
<teepee>
in rare cases maybe, for learning new stuff - never
<UltimateCodeWarr>
My nephew just got back from a Game Competition in Germany, something like a 1 million dollar prize for the top gamers
<teepee>
how many of the people there have never played that game before?
<teepee>
I'm offering 0
<UltimateCodeWarr>
Maybe some tag-along girlfrineds?
<UltimateCodeWarr>
It was a big Venue though, lots of hype and exposure and energy
<teepee>
so we are also counting babies brought along? nah, not working as argument ;-)
greenbigfrog has joined #openscad
<UltimateCodeWarr>
It's all building blocks. I mean learning how to load a game up on a computer is what got many a kid interested in computers. When it was just punch cards and formula.... not so much
<UltimateCodeWarr>
Look at mine craft
<UltimateCodeWarr>
Basically lego blocks on a computer
<teepee>
yes, but *that* part hopefully nobody did in a competition setting
<UltimateCodeWarr>
there are other types of competitions though, not just 'races'.
<UltimateCodeWarr>
Who can build the best of whatever is big too
L29Ah has joined #openscad
<teepee>
that's fine, all I'm saying is that learning *new* stuff hardly is done well in a competition setting
<UltimateCodeWarr>
COmpanies have science fairs on topics with prizes to try and get someone thinking out of the box
<teepee>
one you learned the basics, that may be fine, and motivating
<UltimateCodeWarr>
People love 'escape rooms'
<teepee>
it would be great to have a game-ish introduction to openscad, ideally run on a website
<UltimateCodeWarr>
Looks like there was that port for WASM. Might be a good start for basic stuff.
<teepee>
having some sort of competition based stuff too, is fine by me, but right now there's maybe not a huge audience for that
<teepee>
yes, WASM is built on every checkin :)
<UltimateCodeWarr>
Sometimes games can also be a performance indicator to see how much you have improved your skills too: 'Test your might'
<UltimateCodeWarr>
First you could start 2D rotations, then do some translations, then go 3D, then go scaling.
juri_ has quit [Ping timeout: 260 seconds]
<teepee>
yes, like level 1 could be introduction to primitives
<teepee>
level 2 basic transformations
<teepee>
maybe having an initial selection "select your player" for 2d vs. 3d :)
<UltimateCodeWarr>
that way someone could be like : I'm a level 5 Ninja with 20 actions per minute
<UltimateCodeWarr>
Then in their chat to the left of their name they could have their achievement awards
<teepee>
ah, yes, achievement badge
<teepee>
even octoprint has that now :)
<UltimateCodeWarr>
It's not Everything, but it is some kind of reward for paying your dues. Even going to the Gym and doing something as some benefit.
<UltimateCodeWarr>
I kind of felt like a greedy monkey for getting the printables most downloaded model award, but ... it got me thinking I better make something to contribute
<UltimateCodeWarr>
Even if it's a lame coaster.
L29Ah has left #openscad [#openscad]
<teepee>
as long as it's done fairly, that's all cool
<teepee>
I just hate those people trying to cheat by just downloading random stuff, pretending it's theirs and uploding under wrong license
<teepee>
as soon as you have rewards, you attract those people unfortunately
<UltimateCodeWarr>
Stolen Valor in some areas is a Crime
<UltimateCodeWarr>
A chat like this could become the game lobby, or you could go to whiteboard mode, where you could pull up a simple cut and paste WASM Openscad in the browser, invite attendess or other collaborators
<UltimateCodeWarr>
So that there is less reliance on imagur / pastebin
<teepee>
oh yes, I always wanted a collaboration mode, like etherpad/googledocs
<UltimateCodeWarr>
It might be easier to just have some sort of thick-client approach to where you use openscad running on your box in collaboration mode. Like VSCode can do that
<teepee>
who knows, maybe manyfold evolves and grows, adds openscad web support at some point and allows shared editing eventuall :)
<teepee>
f0lkert: I'm currently rending a rotating logo for a mastodon post, do you have some other example to add to the post maybe?
<f0lkert>
teepee: I can render a new one but it'll take around 24 hours
<teepee>
no rush, I guess. maybe I'll just post the news with the logo and once your render is done, you post it for what's that called on mastodon? re-tooting?
<teepee>
IIRC it's not possible to have a video + other media in a single post anyway
juri_ has joined #openscad
greenbigfrog has quit [Ping timeout: 252 seconds]
paddymahoney has quit [Ping timeout: 255 seconds]
foul_owl has joined #openscad
<f0lkert>
ok!
foul_owl has quit [Ping timeout: 264 seconds]
greenbigfrog has joined #openscad
paddymahoney has joined #openscad
foul_owl has joined #openscad
paddymahoney has quit [Ping timeout: 255 seconds]
drfff has quit [Read error: Connection reset by peer]
Guest25 has joined #openscad
greenbigfrog has quit [Ping timeout: 255 seconds]
paddymahoney has joined #openscad
<Guest25>
anybody home?
<Guest25>
I was just wondering if there is a way in Openscad to click either on the code for an object or the object itself and highlight the associated object or code? Once you get a few dozen defines up it's impossible to find which code goes with which objece
guso78 has joined #openscad
<teepee>
Guest25: yep, preview then right click in the 3d viewport
<guso78>
i just did 1st trial povray export
paddymahoney has quit [Ping timeout: 276 seconds]
<guso78>
I dont know much details about pov language. i am just wondering if there are ways to repeatedly specify same color and same texture and rather have a group, where all these setting apply ?
<guso78>
.. not to repeatedly ...
<guso78>
i get this for a simple 2 unit cube: https://imgur.com/a/z1mE1cL how can I make the faces better visible ?
TylerTork has quit [Ping timeout: 256 seconds]
<guso78>
And in my case the POV export creates 5 vertices for all the 6 square faces. whereas the 1st and 5th point are identical. For a trial I have manually reduced the faces to 4 vertices only and the effect is exactly the same. is that duplication intentional ?
guso78 has quit [Quit: Client closed]
<InPhase>
Guest25: Also putting "#" in front of an element in the code highlights that element in the preview.
Guest25 is now known as metalguru
<InPhase>
metalguru: Ultimately though, the real secret is to write your code with better abstraction. Make modules, put code into modules that make up parts of your object, and render individual modules separately from the main result when you are focused on working on them.
<metalguru>
Thanks InPhase. I'm just beginning to learn this but it's a bit over my head. I am by no means a programmer. Other 3D CAD programs are very difficult to learn.
<teepee>
metalguru: if right click does not work you might have a graphics driver that is angry about openscad
<InPhase>
metalguru: Yep, understood. Keep at it, and you'll pick up these things. :)
<teepee>
like if you give just "cube(10);", press F5 for preview and then right clicking on the displayed cube does nothing, that's a bug
<InPhase>
metalguru: You did find the tutorial, right?