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
snaked has quit [Quit: Leaving]
<teepee> yes, that's debian tools compat level, I just bumped that to 10 but I don't think that changed anything
<teepee> yeah, just those warnings gone :)
<peepsalot> oh
<teepee> ah [ 173s] 1 out of 1 hunk FAILED -- saving rejects to file CMakeLists.txt.rej
<teepee> maybe need to update a patch
fling has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
fling has joined #openscad
panini has joined #openscad
<panini> hai
<teepee> hi
<linext> well not so bad for 3 hours
<linext> binary stl to ascii stl in javascript
<panini> do any of yall know how to split something
<panini> like a shape but i want to split it with like a cirvy line
<panini> and have it end up as 2 pieces
<panini> *curvy
<JordanBrown[m]> if you mean to cut it apart, you can't exactly do that. What you can do is to create the thing twice, and once chop away the left side and the other time chop away the right side.
<JordanBrown[m]> But what kind of curvy line?
<panini> lemme send a pic
teepee has quit [Ping timeout: 255 seconds]
J1A8496 has joined #openscad
<panini> JordanBrown[m]: https://files.catbox.moe/d7mak0.jpg im making a lil stand to hold a laptop display and an lvds adapter. The whole thing is too big to fit on my printer so i need to break it into 2 pieces but since im doing that i wanna split it in this jigsaw looking pattern so the halves dont move up and down
teepee has joined #openscad
<JordanBrown[m]> And you want it to be curvy rather than the rectangular cut you have now?
<panini> JordanBrown[m]: i wanna keep the rectangular cut
<panini> i just wanna export it in 2 pieces so itll fit on my print bed
<JordanBrown[m]> You mean that you want the left side and the right side separated so that you can print them separately?
<panini> yes
<JordanBrown[m]> First and probably simplest answer: your slider may be able to do it.
<JordanBrown[m]> slicer
<JordanBrown[m]> PrusaSlicer can.
J1A84 has quit [Ping timeout: 260 seconds]
<panini> oh shit ye lemme check
<JordanBrown[m]> In PrusaSlicer it's "split to objects", I think.
<panini> i usually use cura lemme check if it can
<JordanBrown[m]> Don't know, haven't used Cura in years.
fling has quit [Remote host closed the connection]
fling has joined #openscad
<peepsalot> teepee: what is the main file that controls how the .deb packages are made? I'm wondering what it would look like to use cpack's deb generator, and how much would change
<panini> JordanBrown[m]: oh ye it works
<panini> thanks
<JordanBrown[m]> But just for fun I'll come up with an OpenSCAD demo.
fling has quit [Remote host closed the connection]
fling has joined #openscad
<linext> you can load it into meshmixer and separate the objects
<JordanBrown[m]> Here's one technique: https://bpa.st/IDSA
<JordanBrown[m]> Basically, the polygon sets the dividing line. On the left side, we make the polygon just a little smaller, and intersect it with the thing, while on the right side we make the polygon just a little bigger and subtract the polygon from the thing.
<JordanBrown[m]> The extrusion of the polygon, that is.
<JordanBrown[m]> Separating the two parts more (say, by 40 instead of 20) and putting # in front of the two linear_extrudes should make it more or less clear.
<panini> damn
<panini> ur a wizard
<JordanBrown[m]> Thanks, but not really. Just been using the tool for several years.
<JordanBrown[m]> Note that that basic technique will work for any object, not just a flat thing like this.
<JordanBrown[m]> The only thing I changed in those examples was the definition of the "thing" module.
<JordanBrown[m]> Must go now, hope that helps.
<panini> it does thanks
califax has quit [Ping timeout: 255 seconds]
TheAssassin has quit [Remote host closed the connection]
fling_ has joined #openscad
califax has joined #openscad
fling has quit [Ping timeout: 255 seconds]
TheAssassin has joined #openscad
fling_ is now known as fling
<gbruno> [github] iLikeTrioxin opened issue #4417 (Can't figure out what is a problem (can't compile, binary doesn't detect system color theme)) https://github.com/openscad/openscad/issues/4417
LordOfBikes has quit [Ping timeout: 268 seconds]
LordOfBikes has joined #openscad
rpw32 has joined #openscad
rpw32 has quit [Client Quit]
<gbruno> [github] iLikeTrioxin closed issue #4417 (Can't figure out what is a problem (can't compile, binary doesn't detect system color theme)) https://github.com/openscad/openscad/issues/4417
snaked has joined #openscad
<peepsalot> just put this on the mailing list, but felt like sharing here too. its pretty fun to play around with. https://gist.github.com/thehans/aced1138436a33150ba5c572bc04e2e7
<peepsalot> could be used as another advent ornament generator?
<JordanBrown[m]> Seems like it would be cool animated across appropriate parameter values.
ur5us has quit [Ping timeout: 240 seconds]
J1A849676 has joined #openscad
TheAssassin has quit [Remote host closed the connection]
J1A8496 has quit [Ping timeout: 260 seconds]
TheAssassin has joined #openscad
J1A849676 has quit [Quit: Client closed]
ur5us has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
TheAssassin has quit [Ping timeout: 255 seconds]
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #openscad
TheAssassin has joined #openscad
RichardP_ has joined #openscad
RichardPotthoff has quit [Read error: Connection reset by peer]
J1A84 has joined #openscad
ur5us has quit [Ping timeout: 256 seconds]
ur5us has joined #openscad
ur5us has quit [Ping timeout: 240 seconds]
fling has quit [Remote host closed the connection]
fling has joined #openscad
ur5us has joined #openscad
ur5us has quit [Ping timeout: 260 seconds]
ur5us has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
ur5us has quit [Ping timeout: 260 seconds]
teepee has quit [Ping timeout: 255 seconds]
use-value has quit [Remote host closed the connection]
teepee has joined #openscad
use-value has joined #openscad
othx has quit [Ping timeout: 252 seconds]
othx has joined #openscad
fling has quit [Ping timeout: 255 seconds]
teepee has quit [Quit: bye...]
teepee has joined #openscad
fling has joined #openscad
fling has quit [Ping timeout: 255 seconds]
fling has joined #openscad
TheAssassin has quit [Quit: No Ping reply in 180 seconds.]
TheAssassin has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
epony has quit [Quit: QUIT]
epony has joined #openscad
snaked has quit [Quit: Leaving]
aiyion1 has quit [Remote host closed the connection]
aiyion1 has joined #openscad
tcurdt has quit [Ping timeout: 252 seconds]
epony has quit [Ping timeout: 268 seconds]
castaway has joined #openscad
tcurdt has joined #openscad
anton has joined #openscad
anton has quit [Quit: Client closed]
califax has quit [Quit: ZNC 1.8.2 - https://znc.in]
califax has joined #openscad
epony has joined #openscad
califax has quit [Ping timeout: 255 seconds]
califax_ has joined #openscad
califax_ is now known as califax
teepee has quit [Ping timeout: 255 seconds]
teepee has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
<Friithian> https://i.imgur.com/cLUJdVK.png someone wanted to see what this looked like, for som ereaosn
<gbruno> [github] thehans synchronize pull request #4067 (Use cmake for install and packaging across more platforms) https://github.com/openscad/openscad/pull/4067
<InPhase> Friithian: Did U show them?
<Friithian> lol
<InPhase> Also I suppose that could be a neat effect with some looping, textmetrics, and some use of offset on the results.
<Friithian> the hard part would be the spacing of letters, if I used a monospace font I could do multiple letters but with non-monospace each letter would require individual care
<InPhase> That's what the textmetrics is for.
<Friithian> never used em
<InPhase> It tells you things like the widths of a string.
<InPhase> Given the font settings.
<Friithian> oh cool
<Friithian> more work than Im willing to put in for an offhand comment someone made :P
<InPhase> Yep! Same. Just saying it would maybe look neat. :)
<Friithian> it would
<Friithian> maybe I'll add it to the backlog of project I will never have time to work on
<Friithian> fuck I haven't evne looked at that list in months
<InPhase> Just the one list, eh? Someday I should assemble a list of my lists.
<Friithian> well, one typed list, the rest is bouncing around in my head
<InPhase> Someboy can print it all out and bury it with me, marked as "Things he never got around to doing."
<Friithian> I gave up writing them down because I know Ill never be able to get to them
<Friithian> lol yeah
<JordanBrown[m]> I wouldn't rely on bold versus non-bold; that's too specific to the font. But doing offsets on text will get you good results.
<Friithian> the whole point of this was the difference of bold and non bold U
<JordanBrown[m]> Was it just to find out what the difference is, or for the outline effect?
califax has quit [Remote host closed the connection]
califax has joined #openscad
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
KimK has quit [Ping timeout: 255 seconds]
<Friithian> JordanBrown[m]: https://i.imgur.com/SQyykLs.png
KimK has joined #openscad
<gbruno> [github] keikoro opened issue #4418 (Add CONTRIBUTING file) https://github.com/openscad/openscad/issues/4418
<Friithian> I am going to save that as U.scad and in a few months when I rediscover the file I shall be very confused
<gbruno> [github] thehans closed issue #4418 (Add CONTRIBUTING file) https://github.com/openscad/openscad/issues/4418
ur5us has joined #openscad
<Friithian> how many digits of PI does openscad have?
<peepsalot> Friithian: max precision of IEEE754 double precision
<Friithian> cool cool
<peepsalot> its just that the *printing* of values is a bit deficient
<peepsalot> teepee: what url should I use to browse the OBS build configs? Do you think there is any benefit having cmake/cpack handle more of the DEB/RPM builds?
<peepsalot> teepee: or is the OBS setup strict in some way that cpack isn't really supported?
<teepee> peepsalot: OBS uses the debian package tools so basically all of those debian.<name> files represent the debian/name stuff in a debian native setup
<teepee> vs. official debian packaging https://sources.debian.org/src/openscad/2021.01-5/debian/
<teepee> I suppose the make install part should be easily usable, full debian packaging, I'm not sure, that might be tricky
<peepsalot> teepee: is one of the official debian packaging / your OBS builds based on the other?
<linext> what's $children do?
<linext> length of the array?
<peepsalot> it is the number of child nodes (AST)
<peepsalot> so you can know the limits of builtin children()
<peepsalot> step module usage in that script has 4 children: sphere , cube , cylinder , union
ur5us has quit [Ping timeout: 256 seconds]
<peepsalot> teepee: i think cpack is not recognized as an official deb packaging method, since i guess it doesn't handle src packages
<peepsalot> teepee: i guess its sounding like there would be no benefit to try packing debs with cpack
<peepsalot> teepee: but I think I will do some testing of cmake install at least, and compare that with openscad-nightly's full file listing
<linext> i've gotten almost all the examples working on web assembly: https://www.3dcustomizer.net/explore
<linext> i merged in the code that automatically converts binary STLs into ascii STLs
<linext> also merged in the fix where the "\n" after EOF get's removed on DXF files
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
<teepee> peepsalot: yeah, I guess it could be useful to people doing their own builds, but I have no idea how much actual debian packaging happens in that case
<teepee> I tend to use good old stow command for maintaining self-built stuff
<peepsalot> hmm, haven't heard of it before. does it interact with debian "alternatives" system?
<teepee> no, not at all. it just combines separate installations to /opt/stow/app-2.3 into a /opt via symlinks
<teepee> so each app gets it's own install tree but there's still an easy to use place like /opt/include and so on
<peepsalot> ok
<peepsalot> teepee: so what do you think about using cpack for any of the other builds?
<peepsalot> it seems like a nice fit for NSIS, and (windows) archive. I am curious if it would somehow help on MacOS, the issues of repeatedly asking directory permissions.
<peepsalot> would RPMs be a similar situation to DEB?
<Scopeuk> I think the permissions thing is down to the exe not being signed by a blessed apple certificate. I Could be mistaken I'm not an osx user
<teepee> on OBS, RPM is the same story, uses the rpm spec file for fedora and opensuse
<teepee> I don't think it would change anything for macOS as the target would likely still be *.dmg
<teepee> that said, if the cmake output works, nothing wrong with using that over macdeployqt or what that thing is called
abff has quit [Ping timeout: 248 seconds]
abff has joined #openscad
<InPhase> JordanBrown[m]: You'd have to choose your fonts carefully, but I liked the bold vs non-bold result for that "U" better than what an offset would give. It was stylish.
<InPhase> If all the letters for a particular font are stylish with that difference, you could get a really interesting effect that looks more varied than a simple offset.
Lagopus has joined #openscad
<peepsalot> the thing I don't understand is that there's multiple macos generators: "bundle", DragNDrop(==dmg ?), and "productbuild"
<linext> how do i use textmetrics() to scale text so it fits onto a cube?
<peepsalot> teepee: i did installed to a local dir "cmake --install . --prefix ./usr" then compared the file listing with openscad-nightly's and only thing missing is "doc" path
<peepsalot> /usr/share/doc/openscad-nightly /usr/share/doc/openscad-nightly/changelog.Debian.gz /usr/share/doc/openscad-nightly/copyright /usr/share/doc/openscad-nightly/examples
<peepsalot> that, and: usr/share/man/man1/openscad-nightly.1 is not gzipped
<peepsalot> ohhh and doc/openscad-nightly/examples is a symlink
<teepee> oh, symlink is strange
<peepsalot> teepee: should it not be there?
<peepsalot> lrwxrwxrwx 1 root root 31 Sep 21 2014 examples -> ../../openscad-nightly/examples
<linext> why doesn't the cube enclose the text in this example? https://i.ibb.co/D1FmgGh/image.png
<peepsalot> from: /usr/share/doc/openscad-nightly$ ls -l examples
<teepee> oh, in the doc folder. hmm, that could be some automatic stuff, not sure if that's needed
<teepee> linext: old example I suspect
<linext> yea, i copied from a forum post from https://forum.openscad.org/Text-and-font-metrics-td31319.html
<linext> so how would i create text so it can fit within a certain area?
<linext> adjust the font size gradually until the metrics() are within the area?
<teepee> t = "Hallo"; s = 20; font = "Liberation Sans:style=Regular"; tm = textmetrics(t, s, font); echo(tm); color("gold") linear_extrude(1) translate(tm.position) square(tm.size); color("black") linear_extrude(2) text(t, s, font);
<linext> hmmm...
<linext> can i provide a length and width of a rectangle and have the text do a best fit?
<teepee> almost
<linext> do you mind if i import the tips and tricks code into 3dcustomizer.net?
<teepee> the note on top hopefully has made clear that everyone adding actual code makes the code CC0
<teepee> if that's 100% safe, I don't know
<teepee> if you want to be on the safe side, you could attribute wikipedia
<linext> i need to come up with a way to attribute who wrote the code and who uploaded it
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
<linext> the comments in the examples with the author details is helpful
<JordanBrown[m]> linext textmetrics won't fit text into a rectangle for you, but since it will tell you how big the text will be, you can scale as desired.
<linext> the resize() function seems to do it
<JordanBrown[m]> It will do something related.
<linext> i notice if i put a really short string into the field, it no longer fits
<linext> i think using a for loop and textmetrics() it's possible to calculate font size such that it fits within a rectangle
<linext> if there's a single Letter, then the height no longer fits
<JordanBrown[m]> Doesn't require a loop.
<JordanBrown[m]> Just arithmetic.
<JordanBrown[m]> https://bpa.st/DKFQ
<JordanBrown[m]> A little simpler: https://bpa.st/C6UQ
<JordanBrown[m]> (First one had leftovers from a first try.)
<JordanBrown[m]> Something like this works too https://bpa.st/PX6A changing the text size rather than scaling the text. But it's a little more complicated because there's a little space before the first ink, and that scales up too, so I had to re-measure it to get that offset to put it into the square.
<JordanBrown[m]> tm.position*ratio would probably have been right too.
<JordanBrown[m]> textmetrics will tell you how big the text is and the offset from [0,0] to the leftmost and bottommost ink, arithmetic will tell you how much bigger or smaller you need it to hit your desired size, and scale will do it.
<JordanBrown[m]> But don't forget to translate away tm.position.
<linext> is it just me, or is tm not an object
<linext> i see you're using the . operator
<JordanBrown[m]> tm is an object.
<JordanBrown[m]> is_object(tm) will tell you that it is :-)
<JordanBrown[m]> Whether it will still be called an object when the rest of object support lands, versus being called a dictionary, is still up in the air.
<linext> ah, i was using the array style syntax
<JordanBrown[m]> Very early versions of textmetrics - never integrated - returned the information as a list in a particular form. But that was kind of ugly, and so people encouraged me to pursue the object thing.
<JordanBrown[m]> You can, if you really like, talk about tm["size"] and tm["position"], and it will work, but it's more verbose.
<JordanBrown[m]> Though the ".x" and ".y" are just the "standard" vector shortcuts, not objects.
<linext> what does the argument "import-function" do?
<JordanBrown[m]> Do you mean that feature, in the experimental features list?
<linext> yes
<JordanBrown[m]> I believe it enables a function import(filename), where filename points to a JSON file, and returns the contents as an object. (Or array or whatnot.)
<linext> hmmm...
<linext> it almost seems like it's needed to do import("...")
<JordanBrown[m]> yes, the argument is a string that names a file.
<linext> like for STL, SVG, DXF etc
<linext> import("...") for those file types works without the arg
<JordanBrown[m]> er, which arg?
<linext> --enable=import-function
<JordanBrown[m]> Ah. That's just because it's still considered experimental.
<JordanBrown[m]> It might change.
<JordanBrown[m]> You have to explicitly say "I want to use this experimental feature".
<JordanBrown[m]> One hopes that having had to explicitly enable the experimental feature, you will not whine when it changes later.
<JordanBrown[m]> ... or even gets dropped from the program.
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee