<JordanBrown[m]>
Note that it needs needles from a knitting machine as vitamins.
<J22>
mine doesn't
<JordanBrown[m]>
Extra credit if you can 3DP the needles. (Which you could probably do if scaled up a bit.)
<JordanBrown[m]>
J22: Cool!
peepsalot has quit [Read error: Connection reset by peer]
<JordanBrown[m]>
J22: Are the files for that available?
peepsalot has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
ur5us has joined #openscad
<J22>
JordanBrown[m] just checked .. seems somthing with the needles isn't right (design is from 2018 and seems my lib changed ) https://pasteboard.co/nKL9IeE8qiF1.png
<linext>
text_on.scad works really fast for some fonts and really slow for other fonts
<J22>
if you fix something but an old design used it the wrong way Ü
<J22>
but the needles using a living hinge which is a bit sensitive ..
<J22>
JordanBrown[m] here the code https://bpa.st/4YPQ .. but lots of things i would make different today
<J22>
need to print the needles in PETg and then use a needle plier to press the hinge to form the living hinge
teepee has joined #openscad
use-value1 has joined #openscad
use-value has quit [Ping timeout: 264 seconds]
use-value1 is now known as use-value
Trieste has quit [Ping timeout: 268 seconds]
epony has quit [Read error: Connection reset by peer]
Trieste has joined #openscad
<linext>
i wish openscad had a function like EXPLAIN or ANALYZE in MySQL to show how it's doing what it's doing
<linext>
debug=all is ok
<linext>
but it requires running all the way through
J22 has quit [Quit: Client closed]
J22 has joined #openscad
peepsalot has quit [Read error: Connection reset by peer]
peeps[zen] has joined #openscad
<linext>
the file size of the TTF appears to be proportional to the rendering time
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
<linext>
i'm not really sure how ttf fonts work
<linext>
are they vectors?
<linext>
if so, can they be simplified?
<linext>
maybe i should write an automated script which tests the render time of each font with text_on.scad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
califax has quit [Remote host closed the connection]
TheAssassin has quit [Remote host closed the connection]
teepee has quit [Remote host closed the connection]
TheAssassin has joined #openscad
teepee has joined #openscad
aiyion has quit [Remote host closed the connection]
califax has joined #openscad
aiyion has joined #openscad
LordOfBikes has quit [Ping timeout: 268 seconds]
LordOfBikes has joined #openscad
epony has joined #openscad
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee has joined #openscad
Lagopus has quit [Ping timeout: 252 seconds]
<JordanBrown[m]>
TTF fonts are vector-based, more or less. I think they may actually be miniature programs. The level of detail that OpenSCAD uses is in some rough fashion dependent on $fa, $fs, and $fn.
<JordanBrown[m]>
You might want to exercise text() directly and isolate whether your performance issues are with it or with text_on.scad.
<JordanBrown[m]>
I'm afraid that fonts are largely a black box for me. I have looked a fair amount at how OpenSCAD uses them, but all of the real work is done in FreeType and Harfbuzz.
<J2237>
seems to be like a 5yr old child using scad .. adding a GAN could improve things
<teepee>
yeah, I saw that description which seems to fit quite well...
<teepee>
> @kevlin @cwebber described ChatGPT as Mansplaining As A Service, and honestly I can’t think of a better description. A service that instantly generates vaguely plausible sounding yet totally fabricated and baseless lectures at an instant with unflagging confidence in it’s own correctness on any topic, without concern, regard or awareness even of the level of expertise of it’s audience.
ur5us has joined #openscad
TheAssass1n has joined #openscad
TheAssassin has quit [Quit: No Ping reply in 180 seconds.]
use-value1 has joined #openscad
use-value has quit [Ping timeout: 265 seconds]
use-value1 is now known as use-value
TheAssass1n has quit [Ping timeout: 255 seconds]
TheAssassin has joined #openscad
aiyion has quit [Ping timeout: 255 seconds]
aiyion has joined #openscad
ur5us has quit [Ping timeout: 260 seconds]
<J2237>
isn't that what children do? being over confident in their understanding of the world.
<Scopeuk>
people with limited familiarity with matters tend to over estimate their familiarity, this inverts at some point (terse summary)
<J2237>
while GPT is not over confident or over estimate .. it just isn't, there is no reflection or awareness (at the moment)
<Scopeuk>
true there is no self awareness in a strict sense but it does use a feedback mechanism to chose more appropriate outcomes, unless met with negative feedback it will have much the same effect
<J2237>
Scopeuk probably self awareness is just a result of some reflection process - and we know from biology it is just a question of calculation power - so it is very likely we will see this in AI at least a form that is indistinctive from humans.
snaked has quit [Ping timeout: 255 seconds]
snaked has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
snaked has quit [Ping timeout: 268 seconds]
J2237 has quit [Quit: Client closed]
J2237 has joined #openscad
Guest63 has quit [Quit: Client closed]
<InPhase>
J2237: Yeah, it seems that chatgpt is doing OpenSCAD like someone who knows a bunch of other programming languages and then read a book on OpenSCAD, quickly, but is unable to actually run the program so has no idea what the results actually look like.
<InPhase>
Which is pretty close to what has happened.
<J2237>
GPT is not a GAN it is text heuristics
<buZz>
J2237: it -could- be though
<buZz>
in a couple years perhaps, i cant wait!
<buZz>
i hope someday movies downloaded will be 'just a script to run in GPT' so you can mix&match your fav locations/actors/disasters
<J2237>
oh i am sure if someone would throw some million $ onto - and combine the GPT with a GAN and some 3D training, and train with all available scad code .. we can already have a very competing system
<buZz>
i know it'll happen
<buZz>
did you see stable diffusion 2.0 can do 'depth from image' ?
<buZz>
so you remix images (and thus video) in a way that follows the depthdata of original gfx
<buZz>
not what i ment, but cool site :)
<buZz>
nvidia is doing great work too yeah
<J2237>
iirc adobe presented a system that can remove a character from a movie and replace them (also fix background voids).. actors were not happy when realizing how easy they can be replaced .. that was some years ago.
<buZz>
hehe did you see Ellen/Elliot Page who sued Sony iirc
<buZz>
over her 3d scan being so easy to nude-up from some game's datafiles
<J2237>
haha
<buZz>
iirc they (Page) lost
<J2237>
no wonder looking at all deep fake tech ..
<J2237>
if you can use an app to change you appearance in Realtime via filter
<buZz>
this was about a PS3 releasetitle iirc
<buZz>
so a long while ago
<buZz>
but a NN that could do 'jpg -> .scad' would be so cool
<buZz>
hehe
<Scopeuk>
jpg to scad is easy, jpg to scad with effect/context/minimal necessary implementation, dead easy to position coloured 2d dots. also valueles
<Scopeuk>
buZz yeh it would be cool to do, stuff struggles to even generate a plain stl mesh from a series of images/a video
<J2237>
i am sure dimensions and measurements are a mess
<buZz>
Scopeuk: maybe see J2237's link?
<buZz>
and check the date on that ;)
<Scopeuk>
interesting to see where it goes
<Scopeuk>
I've tried looking into photogrammetry quite a few times and found little that does anything that impressive without a lot of intervention
<Scopeuk>
the only stuff that looks promising was tied into cuda last time I looked at it
<buZz>
meshroom is pretty amazing imho
<buZz>
indeed cuda usually
<Scopeuk>
I have nothing with CUDA support, the only high performance gpus are AMD everything else is integrated.
foul_owl has quit [Ping timeout: 256 seconds]
foul_owl has joined #openscad
Guest79 has joined #openscad
aiyion has quit [Remote host closed the connection]
<Guest79>
I am animating a model of an electrical device in openscad, with moving parts. It would help to have a system variable that knows if the system is animating or not, such as $preview (would need $animate). Currenty I test for $t=0 but I find that tedious and graphically glitchy. Is there a way to test if the window is in animate that I am missing?
<Guest79>
Thank you in advance.
aiyion has joined #openscad
<teepee>
Guest79: right now there's no way to be sure, but an extension of the animation info is on the wishlist, there's more information that would be very useful
KREYREN has quit [Quit: You have been kicked for being idle]
<Guest79>
Thanks. I change the color of components when they are energized and I spin the rotor. I had to add a boolean animate variable at the top which I set as needed. Works for now. It sets $t=0;
<Guest79>
Thanks teepee
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
<Guest79>
animate=true;
<Guest79>
$t= animate?$t:0;
GNUmoon has quit [Ping timeout: 255 seconds]
Gustavo has joined #openscad
Gustavo is now known as Guest121
<Guest121>
Hi, how do you identify a printed object? I am printing many variants, and afterwards, I don't know which parameters I used for which object. Any best practices?
Lagopus has joined #openscad
<teepee>
Guest121: sompe people add some text / version indicator at the bottom
<teepee>
I've never done that
GNUmoon has joined #openscad
<InPhase>
Guest121: Post-it notes work too. :)
<Guest121>
Thanks! I thought so, but my objects are round and rather small, so I was thinking what would be the way to connect a short id, that I can fit on them, with the settings. I mean is there a process for this?
<InPhase>
Guest121: Also, sometimes I write on them with permanent markers if they're just prototypes.
<Guest121>
No, try to put a post-it on a used round object ;)
<InPhase>
Guest121: Well you can put your settings directly into a text() call to add labels to the object.
<teepee>
although at least with FDM the object needs to be of reasonable size as text resolution is not that great if it's in same plane as the bed
<InPhase>
Guest121: Another thing worth doing is buying a good digital caliper, so you can reliably measure objects you have already printed. This can help you recategorize printed objects even if you lost track.
<Guest121>
I put my model versions in git, so I would need to have the hash of the version also. I will propably go with the marker for the id, and a script for printing out hash and parameters
<Guest121>
Thanks for your input!
califax has quit [Ping timeout: 255 seconds]
califax_ has joined #openscad
califax_ is now known as califax
<J2237>
would be also great to have those like customizer json exported into the 3mf
Guest79 has quit [Quit: Client closed]
<J2237>
for the printed model you can use marks to identify
<Guest121>
I am tinkering around with a bash script, that creates a 4 digit identifier (short enough for my objects), that puts the parameters in a sqlite database as json
<Guest121>
can I exectue an shell script from within openscad? Especially after producing an stl file?
teepee has quit [Ping timeout: 255 seconds]
teepee has joined #openscad
<J2237>
no but you can execute openscad via command line
<teepee>
and with the dev snapshots you can import json directly
<teepee>
still an experimental feature, but I assume the functionality in general will go official at some point
<J2237>
the more i think about - the export json (into 3mf e.g.) becomes appealing
<J2237>
besides libraries the hole script is not that big and could be attached to the 3mf
peeps[zen] is now known as peepsalot
TheAssassin has quit [Remote host closed the connection]
<peepsalot>
i'm working on modernize-use-default-member-init and modernize-use-override at the moment.
<Guest121>
J2237 I don't really understand why i would want to embed the parameters into the stl or 3mf file? Because after printing you still need an id to identify he printed object, and a relation between id and parameters.
<peepsalot>
I'm actually wondering if we have any preferred way of handling destructors of derived classes? these changes would end up with many `~Foo() override = default;` in source and header files.
<peepsalot>
but as I understand those could just completely omitted with basically no difference
<J2237>
yes but you already have the problem with the render that you don't have any info which settings were used for it, and 3mf is just a zip container. So if the settings are here the print would just need an ID mark - which for sure is limited but you wouldn't need an DB.
<peepsalot>
is there a good reason to keep defining those override default destructors? and if so, would it be better to do so within the header, inline with the class def, or not?
<Guest121>
I see. But it would be much easier if I found a printed object, read the Id of it, and just asked the DB select parameters from table where ID="realID" instead of looking through all 3mf files.
Lagopus has quit [Ping timeout: 256 seconds]
<J2237>
the mesh file may be shared - i can most of the time find the mesh file that belong to a print .. in the beginning i made the mistake to rename them so the scad file had a different name than the rendered mesh file which made a correlation difficult. Also the 3mf file can contain a thumbnail image.
J2237 has quit [Quit: Client closed]
J2237 has joined #openscad
Guest121 has quit [Quit: Client closed]
Gustavo has joined #openscad
Gustavo is now known as Guest2496
<Guest2496>
J2237 we have different requirements ;) I want to get the parameters of the printed object, and you of the mesh file
<J2237>
Guest2496 no i think the hole chain should be intact
<J2237>
but for you case the db may already be enough if you don't share designs
<J2237>
a uniqe id mark on a design can be small - but if the mark need to be unique for all designs it may be a problem
<J2237>
as example i have 1941 .scad design files in my folders .. every design may have 1-5 versions
<Guest2496>
4 chars alphanumeric, that's 1.6m variants, enough for me
<J2237>
if you can get an alphanumeric code on them - sure that is fine
<Guest2496>
1941, you have been busy :D
Trieste has quit [Ping timeout: 260 seconds]
<J2237>
well doing it for quite some time .. but yes seems so (never counted them before)
<Guest2496>
I didn't think about sharing mesh files, newbie mistake
<J2237>
Just had a design where i needed to mark nearly identical objects ..
<J2237>
as they are too small to get a proper number on them
<Guest2496>
I must experiment how small my budget printer can print readable letters
<J2237>
it is different for the orientation (at least for FDM)
<J2237>
also bottom marks are easily squished into oblivion
<J2237>
and reduce bed adheason
<J2237>
negative marks work better (embossed) than extruded due to the nozzle size
<J2237>
the finest are possible vertical on the side of a print
<J2237>
A very nice way would be to embed a RFID chip
<Guest2496>
I will have to find out, especially on round objects, this will be fun positioning and rotating, looking forward to a challenge :D
<Guest2496>
RFID would be fun, but I am just a hobbyist
<Guest2496>
And with RFID you *will* need a DB
<J2237>
they are down to 20¢ per tag and the reader cost 10-20$
<J2237>
yes sure .. also the tags are not so small - the chip is but not the antenna
<J2237>
you could print a QR code
<Guest2496>
No, you don't an RFID can hold up to 2K data, I just googled
<Scopeuk>
It varies by tag, some systems have storage, others basically just send out a fixed number when chalanged
<Scopeuk>
The button style ones are probably fairly easy to hide in a print
<Scopeuk>
Qr codes encoding parameters is interesting, I wonder how complex the scad to generate a specific qr code is
<J2237>
Aruco marker work better .. or a barcode which is just binary
<Guest2496>
It seems QR code min size is 2x2cm
<J2237>
Guest2496 yes but the cheap RFID tag hold a number and are not to be written (and have a smaller memory)
<J2237>
yes check ARUCO
<Guest2496>
one learns something new every day ;)
<Guest2496>
Can my phone read ARUCO?
<JordanBrown[m]>
Guest79 with respect to asking "are we animating", with the current development snapshot animation UI that's not a totally well-defined question. If you've been animating, and you pushed the pause button, are you animating now?
<J2237>
Aruco is designed for best readability (maybe not for humans)
Trieste has quit [Ping timeout: 260 seconds]
<J2237>
but printed vertical they are superior to most fonts ..
<J2237>
the size of one Character is already the hole arUco
<J2237>
maybe rotating 45° will make them even better
Trieste has joined #openscad
Guest2496 has quit [Quit: Client closed]
Gelge has joined #openscad
<Gelge>
Has anyone experience with automatic testing of scad files for different parameters compinations?
<Gelge>
combinations :(
<peepsalot>
Gelge: sometimes I will animate across a range of parameters to see how they behave. eg. you can cycle through a range like this: param1 = lo + (hi-lo) * (1-cos(360*$t))/2
<peepsalot>
Gelge: then for a second parameter, you can do similar but at a higher frequency: param2 = lo2 + (hi2 - lo2) * (1-cos(360*$t*2))/2
<peepsalot>
and so on
<Gelge>
peepsalot I meant rather like unit testing. I found https://github.com/HopefulLlama/UnitTestSCAD, which works quite well, But I would be interested to find out if certain parameter combinations cause parts to overlap.
KimK has quit [Remote host closed the connection]
<Gelge>
AFAIK UnitTestScad only provides the dimensions of the rendered object.
KimK has joined #openscad
<Gelge>
I have two parts that should fit into each other, so I am intersted in the overlap: now thinking about it, I should test the dimensions of the intersection of both parts.
<Gelge>
gbruno as I understand it, that doesn't help, I want the test run automatically, maybe over night
<J2237>
Gelge .. that is a bot that is reporting new requests from github
snaked has joined #openscad
KimK has joined #openscad
Trieste has quit [Ping timeout: 265 seconds]
Virindi has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
Trieste has joined #openscad
Virindi has joined #openscad
Lagopus has joined #openscad
Lagopus has joined #openscad
Lagopus has quit [Changing host]
Gelge has quit [Quit: Client closed]
milza has quit [Quit: milza]
<JordanBrown[m]>
Geige if we get the geometry-as-data feature it will become possible to do some kinds of automated testing of related objects - intersecting them and looking at the result.