teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
kintel has joined #openscad
<kintel> t4nk_fn It's more the other way: GLAD is newer and better than GLEW
<kintel> better mostly because glew deals with GLX vs. EGL in a clunky way
<kintel> ..and drop legacy stuff like glBegin() if you can. You can request a core context (or GLES context) to actively disable that stuff
<t4nk_fn> lol, would you PLease not do this? it's like you could smell I was literally 4 mintutes into my vertex-sorting again.. and you immediately distract me again ;)
<kintel> It's because vertex sorting sounds like the wrong solution to most problems :)
<t4nk_fn> but uhm, *sigh*, yeah, so it's a bit tough for me, since I've been looking and using 'modern' style
<t4nk_fn> lol, kintel, it's not during rendering, mind ;)
<t4nk_fn> anyhow, I wanted to have a look at openscad's view and zoom and rotations and stuff when I discovered that it's all a bit old perhaps
<kintel> yeah, that code needs love big time
<t4nk_fn> without knowing too much about it in general.. I gather it's gonna be quite a thing to rewrite that
<kintel> yeah, it's my long-term back burner project. I had to start all the way back with context creation, which is done now, next is to fully clean up VBO management, then I can slowly begin to identify and rewrite legacy code. In the end we should be able to render on GLES (or WebGL)
<t4nk_fn> do you also have some of that stuff online or just local to work on?
<kintel> All my work in that domain is on GitHub, mostly merged to the master branch
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
J24k74 has joined #openscad
J24k has quit [Ping timeout: 250 seconds]
<gbruno> [github] kintel pushed 1 modifications (Update CircleCI runner to Xcode 15) https://github.com/openscad/openscad/commit/d01693a6dc0f277a26c0b2f43e309461b2856849
<gbruno> [github] kintel opened pull request #5136 (Update CircleCI runner to Xcode 15) https://github.com/openscad/openscad/pull/5136
<gbruno> [github] kintel pushed 1 modifications (Update CircleCI runner to Xcode 15) https://github.com/openscad/openscad/commit/ec7cc5ff727427c65444865ed39980b05d777928
<gbruno> [github] kintel synchronize pull request #5136 (Update CircleCI runner to Xcode 15) https://github.com/openscad/openscad/pull/5136
LordOfBikes has quit [Ping timeout: 256 seconds]
mmu_man has quit [Ping timeout: 264 seconds]
kintel has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
LordOfBikes has joined #openscad
<sidilakies> so can I do nested differences ? like create a hex nut, then remove a hole , then remove the nut from my object.
<sidilakies> I did do the nested difference, I guess it will take some learning since the results are not what I want, plus I need to figure out how to assign the $fn to each object, back to the manual
L29Ah has quit [Ping timeout: 272 seconds]
<sidilakies> that wasn't hard, I just needed to put $fn into the cylinder parameters, and subtract another cylider from the first object
adigitoleo has quit [Server closed connection]
adigitoleo has joined #openscad
<InPhase> sidilakies: A negative image of a nut doesn't have much mechanical utility.
<InPhase> sidilakies: You could never turn nor insert a nut into such a volume. :)
<InPhase> sidilakies: Generally you want to think of the spaces you make for things somewhat separately from the objects that go into those spaces. They often have similar outer geometries, but the empty space must almost always be designed slightly larger.
<InPhase> In some cases you can reuse part of the code for this, with an "enlarge_by" parameter, or something like that. But often you just need to think again from scratch about what the hole needs to actually be like.
<J24k74> depends on slicer settings and how people calibrate their printer - seems a lot allow to insert a ∅10 bolt into a ∅10 hole.
<J24k74> not saying this is the right way to do!
<J24k74> I guess it is also some marketing when people print a test and you can move the 0.05 clearance part - people think they have an amazing printer
knielsen has quit [Remote host closed the connection]
knielsen has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee has joined #openscad
* t4nk_fn always uses a hammer
<t4nk_fn> we wouldn't want the nut to fall out now, do we ;)
<teepee> I use print pause for fully trapped nuts, no possible way those can fall out :P
teepee has quit [Quit: bye...]
califax has quit [Remote host closed the connection]
teepee has joined #openscad
califax has joined #openscad
califax has quit [Read error: Connection reset by peer]
califax has joined #openscad
pa has quit [Ping timeout: 260 seconds]
drfff has joined #openscad
cbmuser has quit [Quit: WeeChat 3.0]
cbmuser has joined #openscad
L29Ah has joined #openscad
cart_ has joined #openscad
cart_ has quit [Ping timeout: 272 seconds]
fling has quit [Remote host closed the connection]
teepee has quit [Remote host closed the connection]
erectus has quit [Remote host closed the connection]
fling has joined #openscad
erectus has joined #openscad
teepee has joined #openscad
pie_ has quit []
pie_ has joined #openscad
pah has joined #openscad
cart_ has joined #openscad
L29Ah has quit [Read error: Connection reset by peer]
L29Ah has joined #openscad
mmu_man has joined #openscad
<gbruno> [github] kintel opened issue #5137 (Latest macOS snapshot crashes when rendering examples/Advanced/GEB with Manifold) https://github.com/openscad/openscad/issues/5137
pah is now known as pa
cart_ has quit [Ping timeout: 252 seconds]
cart_ has joined #openscad
<sidilakies> that's exactly what I did, the nut is completly encased, and tight, if they're to loose inside it can wear out and spin, but onnce my proto type is done I increase the perimeters and infill
cart_ has quit [Ping timeout: 252 seconds]
<InPhase> J24k74: I haven't seen a printer/slicer combo that can print a 10mm cylinder and a 10mm hole that it fits into. Although I'd be alarmed if that were done, because it would imply they were mutating dimensions at slicing time. Although a 10mm thread is 10mm nominal, and in practice is typically made slightly smaller than this.
<J24k74> inPhase besides exclusive slicing you have the option for a per layer offset. But in general you just lower flow. And if you print with .97 flow then .. However BS default print PLA let you fit a 10 print into a 10 hole. You also have some thermal expansion to account for and the question if your size is the outside or the groove between layer
<J24k74> I am not speaking of tolerances  https://en.wikipedia.org/wiki/Engineering_fit
<InPhase> J24k74: I did heavy size-matching calibration of my printer when I was designing the threading library. And anything that lets you fit a 10 outer dimension into a 10 inner dimension is going to have other sizing errors.
<InPhase> It's unavoidable that it will make something else wrong, because the tolerance jitters and shrinkage issues are an unavoidable part of the process.
<InPhase> Things I did to calibrate included making sure that wall thicknesses matched specification, and that large outer and inner dimensions match specification. And this inevitably means that smaller inner holes are going to be slightly smaller than specification.
<InPhase> You can somewhat (but fundamentally not completely) improve the matter by shrinking wall thickness below specification, but this compromises the integrity of all parts.
<InPhase> If you make the wall thickness small enough below specification then you can reach a point where all hole sizes of relevance would fit, but it means all of your extrusions are missing material, and consequently, thinner walls are below specification in total thickness, and way below expectations in strength as they become crumbly.
<InPhase> So this is not a good choice path. :)
<InPhase> After I proved this to myself, I added the tolerance adjustments to my threading library.
ali1234 has quit [Quit: Leaving]
<InPhase> I kind of knew there would be something like this, fundamentally, but wasn't sure what the dimensions were that it would be relevant. But it turns out it's super important right at the scaling of typical threads, and at the scale of 1-3 millimeter scale thin walls that one might want to rely on.
<InPhase> Also single and double layer walls have this issue. Although Cura for some reason stopped printing single layer walls in a release after I completed this work.
<InPhase> I made a bucket full of tiny prints while striving to understand these things.
<J24k74> you have changes by using the arachne engine - I was wondering why i got complain about not fitting snap-fits in my prints .. turns out only for Bambu  user
<J24k74> and you already will see differences printing 0.08 or 0.2 layer  - also nozzle size and speed will have an impact
<InPhase> That engine does complicated things, it seems, and might have its own way of introducing complex sizing artifacts. It would need to be explored separately, I suppose.
<J24k74> In the end most user don't care or have no clue about what size - they just want that their printed parts fit or work
<InPhase> But it is a fool's errand to try to get exact sizing, since the notion doesn't exist within the physical universe. So the question is more about where you are putting your errors.
<J24k74> between different slicer you already have different flow calculations when two walls meet and how much overlap .. as  0.42 walls are not 0.84 when you have two more like 0.78
<InPhase> Leaving a space with tolerance for fitted parts means that one can target a correct mean value for sizing.
<InPhase> Removing that tolerance space requires having the mean offset from the specification. This is fundamental.
<J24k74> Yes that is why we have "engineering fit" and those classes 3d printing should be somewhere around D9
<InPhase> Yeah.
<J24k74> i mean a 20cm part in plastic will already change .2 or so when cooled by 40K
<InPhase> Although we could imagine precision printing FDMs that beat even current generations, by the time you get past a certain limit, you can only specify it for an exactly formulated thermoplastic and set of temperature conditions, due to how the plastics behave.
<InPhase> Although I could imagine a producer making a printer and its own line of carefully controlled thermoplastics designed to meet a tighter specification.
linext has joined #openscad
<InPhase> They would need to control the full stack though, software and hardware, to get this right.
<InPhase> And probably stop using stl files. ;)
<J24k74> if you adjust for the part you can get much better - there are already printer that scan the object and then calculate where to add more (not FDM afaik)
<InPhase> There are two good ways to handle this from design time. One is to permit things like specifying a cylinder but not removing that it's a cylinder during processing, but preserve the abstraction through to slicing time.
<InPhase> The other is to use sdfs, which obscure the abstractions used to construct them, but intrinsically support arbitrary precision extraction.
<InPhase> The sdf approach has its downside in obscuring the abstractions deep in the sdf, but this choice has the upside of supporting more flexible design abstractions, while still permitting arbitrary precision.
peeps[zen] has quit [Ping timeout: 272 seconds]
<InPhase> And of course I continue to think that sdfs have critical importance for volumetric multimaterial specification. Meaning they have built-in support for gradients both on surfaces AND internally to parts.
califax has quit [Remote host closed the connection]
<InPhase> I think this is still a wildly underappreciated notion, but might be the only way to really have design flexibility on mixing materials of different rigidity/flexibility.
<J24k74> doing something right doesn't matter if there is one software/setting prevailing..   It is like websites - if your website is build correct it doesn't matter if chrome will not display it
cart_ has joined #openscad
<J24k74> imagine your slicer would run some FEM to calculate your print - Ü
<InPhase> Like say you want to have a rod which is composed of rigid plastic on the inside, and flexible plastic on the outside, with a material gradient between these zones. This requires a formalism for specification which gives you mathematical control over the ratios of materials throughout a volume.
<J24k74> then iterate until it meets the spec
<J24k74> probably easier to print .. measure - compensate - print again
califax has joined #openscad
<J24k74> iirc cura already has some "small hole" expansion compensation parameter
<J24k74> or the elephant foot shrinking the 1st layer
<InPhase> You could even imagine a rod where one part of the rod is flexible material throughout, and other segments have that gradient to rigid material, giving you a rod that has segmented flexibility but without any fracture points between material boundaries. It would be very difficult to construct such an object without something like a multimaterial printer with volumetric specification of materials.
<J24k74> the beak of an octopus has a  flexibility gradient else you can not connect a hard beak to soft flesh
<J24k74> but in FLM (Fused Layer Modeling)  you have the thermal change and stress .. different to non planar printing - there are also printer that can heat and partially melt the layer before
<othx> J24k74 linked to YouTube video "Apium P400 | Next Generation Zone Heater | Layer Fusion | Agitlity and Efficiency" => 1 IRC mentions
<J24k74> or https://www.bond3d.com/ with "voidless" printing
califax has quit [Remote host closed the connection]
peeps[zen] has joined #openscad
califax has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
DEVOM has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
califax has quit [Remote host closed the connection]
DEVOM has quit [Quit: Client closed]
califax has joined #openscad
mmu_man has quit [Ping timeout: 252 seconds]
hypera1r has quit [Ping timeout: 260 seconds]
DEVOM has joined #openscad
DEVOM has quit [Quit: Client closed]
deathonater has joined #openscad
deathonater has quit [Changing host]
deathonater has joined #openscad
Smeef has quit [Ping timeout: 260 seconds]
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
drkow has joined #openscad
ccox has joined #openscad
jaredo_ has joined #openscad
jaredo has quit [Ping timeout: 256 seconds]
jaredo_ is now known as jaredo
dTal has quit [Remote host closed the connection]
redlizard has quit [Remote host closed the connection]
drfff has quit [Ping timeout: 246 seconds]
redlizard has joined #openscad
ccox_ has quit [Ping timeout: 268 seconds]
dTal has joined #openscad
TheCoffeMaker has quit [Quit: So long and thanks for all the fish]
TheCoffeMaker has joined #openscad
J24k74 has quit [Quit: Client closed]
J24k74 has joined #openscad
L29Ah has quit [Ping timeout: 260 seconds]
L29Ah has joined #openscad
L29Ah has left #openscad [#openscad]
mmu_man has joined #openscad
L29Ah has joined #openscad
guso78k has joined #openscad
<guso78k> https://imgur.com/a/QI5qg30 yet another option to create a coik
<guso78k> coil
califax has quit [Ping timeout: 260 seconds]
califax_ has joined #openscad
guso78k has quit [Quit: Client closed]
cart_ has quit [Ping timeout: 268 seconds]
califax_ is now known as califax
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
jan64 has quit [Remote host closed the connection]
L29Ah has quit [Read error: Connection timed out]
califax has quit [Remote host closed the connection]
califax has joined #openscad
<t4nk_fn> hey uhhh anybody knows how to pass the 'parrallel' option to cmake? it works fine when I just make the project from the command line
teepee has quit [Remote host closed the connection]
<t4nk_fn> but qtcreator messes me over and doesn't use it so it seems
teepee has joined #openscad
<t4nk_fn> and CMAKE_BUILD_PARALLEL_LEVEL seems to do nothing at all
<t4nk_fn> never mind, got it now
<t4nk_fn> brr, qtcreator can be such a pain
L29Ah has joined #openscad
jan64 has joined #openscad
<jan64> hey, bit of a random question, but do you guys know why i could be having problems with a 3d mouse in openscad on windows? seems to be detected, but it just gets no input no matter what i do
<jan64> tried with both the stable version as well as the 2024.05.11 (git ecb06a99c) snapshot
<teepee> is the official driver installed?
<jan64> it works in the official thingy (but i did the service shutdown thing before trying it)
<jan64> yes
<teepee> that's grabbing the device then
<teepee> or it reports an unknown ID
<teepee> in advanced settings, there is a log that can be enabled
<jan64> thanks! let me check...
<teepee> enable that, restart openscad and check for hidapi.txt
<teepee> IIRC
<teepee> hidapi.log
<teepee> in folder listed in help->library info->Backup Path
<jan64> hmm, doesn't seem to say it's seeing anything obviously wrong: https://pastebin.com/4ax6cnR4
<jan64> i think
<teepee> yep, indeed
<teepee> oh, all the axis selections are "None"
<jan64> i think it should still update the visualization bar in the settings page as i move it?
<teepee> hmm, probably, yes
<jan64> also tried selecting some axis values and that did nothing too (in the second test with the snapshot version)
<teepee> does it have some sort of reset to defaults?
<jan64> there's some options in the vendor software, but that seems to be specific to per-program profiles (and i have it off anyways)
<jan64> i'll try seeing if i can find a way to dump all hid devices / find some other way to get the raw data, not via scad and see if scad is picking up the correct one
<jan64> as they seem to have multiple things of theirs in device manager
<teepee> that's with the wireless connection? try with cable maybe?
<teepee> I'm not sure if just installing the driver already grabs the device
<teepee> but as its says it did find it, that's probably not the problem
<jan64> hm, fair
<jan64> fwiw i can grab it with and see live data with (an admittedly slightly dodgy looking) thing called 'Hid Raw Data Watcher by djlastnight' i found on github, lol
<jan64> going via the cable works
<jan64> weird
<teepee> the 13 byte reports look ok in general
<teepee> the values seem way too low
<jan64> they seem kinda similarish when going via cthe cable: https://i.imgur.com/xCMh8Wx.png
<jan64> although there's like 6 less devices in the 'other' category now 👀
<teepee> oh, so maybe it's grabbing some wrong device when iterating
<jan64> hm, yeah, looks like it
<jan64> "HID\VID_256F&PID_C652&MI_00&COL01\7&106B8D52&0&0000" rather than "HID\VID_256F&PID_C652&MI_00&COL02\7&106B8D52&0&0001
<jan64> "
<teepee> I have no idea how to correctly select between those
<jan64> probably simplest solution would be to give the user a choice
<jan64> they also seem to be kinda ok labeled, but idk if that's a good thing to use for selection here
teepee_ has joined #openscad
teepee has quit [Ping timeout: 260 seconds]
teepee_ is now known as teepee
R2robot has quit [Ping timeout: 260 seconds]
<jan64> ok, looks like i can get it to pick the correct one by disabling the one it previously picked in device manager
<jan64> not the most user friendly solution, but will do :P
<jan64> still, thanks for the help!