<chennes>
The following code generates a valid polygon in OpenSCAD, and I don't understand why. What happens to the vertex at [0,0], that it apparently just disappears? polygon(points = [[0,0], [-1.005, 0], [-1.005, 1.28383], [-0.5025, 0.781331], [0, 0.781331], [0.5025, 0.781331], [1.005, 1.28383], [1.005, 0], [1.005, -1.28383], [0.5025, -0.781331], [0,
<InPhase>
chennes: Take out the last point to see.
<InPhase>
chennes: You have a zero width slit in your polygon.
<InPhase>
chennes: To see it better, change the last point to [-1.005, -0.1]
<InPhase>
And move -0.1 gradually closer to 0.
<chennes>
Ah, I see. But to OpenSCAD this isn't really a problem, that interior detail is just "ignored" and everything looks fine.
<InPhase>
If this were 3D it would get super upset.
<InPhase>
But there are some bad 2D scenarios like this that just get processed out.
<chennes>
Linear extrude seems happy enough with it, which I guess I find surprising.
<InPhase>
There are some other 2D scenarios which will fail after linear_extrude and further CGAL combinations with other 3D geometries.
<InPhase>
This one seems okay.
<chennes>
Thanks for helping me understand, I appreciate it.
<InPhase>
I will say in general try not to do it. Because this is one that "works" rather than being specified as a supported behavior.
<InPhase>
So someone could "fix up" how polygon works in the future, and break designs that rely on such things. And if someone came complaining I would reply "Don't do that." ;)
<chennes>
Yeah, I'm working on a bug report in the FreeCAD CSG importer, and the problem boiled down to this polygon. FreeCAD just says "oh heck no".
<InPhase>
lol, yeah.
<InPhase>
That's a valid response to it. :)
califax has quit [Remote host closed the connection]
califax has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
chennes has left #openscad [#openscad]
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
J22477153 has joined #openscad
J224771 has quit [Ping timeout: 260 seconds]
J22477153 has quit [Quit: Client closed]
J22477153 has joined #openscad
fling has quit [Ping timeout: 255 seconds]
fling has joined #openscad
fling has quit [Ping timeout: 255 seconds]
fling has joined #openscad
fling has quit [Ping timeout: 255 seconds]
Guest65 has joined #openscad
fling has joined #openscad
fling has quit [Ping timeout: 255 seconds]
fling has joined #openscad
othx has quit [Ping timeout: 260 seconds]
othx has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
Guest65 has quit [Quit: Client closed]
TheAssass1n has joined #openscad
TheAssassin has quit [Ping timeout: 255 seconds]
aiyion has quit [Ping timeout: 255 seconds]
aiyion has joined #openscad
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
fling has quit [Ping timeout: 255 seconds]
fling has joined #openscad
Guest53 has joined #openscad
fling has quit [Remote host closed the connection]
aiyion has quit [Remote host closed the connection]
teepee has quit [Remote host closed the connection]
aiyion has joined #openscad
fling has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
teepee has joined #openscad
<J22477153>
teepee .. just wondering in index.js some links are with folders some without .. what is the right way?
<teepee>
correct way is like the first 2 days, those work :)
<J22477153>
should i remove the folders from the others (not only mine)
<teepee>
yes, basically the new dir:"folder" is there only once and that needs to be on the same time as the setDay
<teepee>
that's used in the cron job to find which folder to enable
<teepee>
all other entries for the files should not have the folder again, maybe I just missed those when changing the file
<J22477153>
on the test both versions seem to work fine
<teepee>
test is probably older and ignores the "dir"
<teepee>
good point, I should update that page
<J22477153>
ok so i will now remove the folders from the files
<teepee>
I'll probably do a shuffle for days >=3 most is still just the old alphabetical
<J22477153>
inPhase did some re ordering afaik
teepee has quit [Remote host closed the connection]
<J22477153>
so still 8 short ..
WenxuanZhao[m] has quit [Quit: You have been kicked for being idle]
teepee has joined #openscad
Guest53 has quit [Quit: Client closed]
fling has quit [Remote host closed the connection]
fling has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
TheAssass1n has quit [Remote host closed the connection]
TheAssassin has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
snakedGT has joined #openscad
fling has quit [Ping timeout: 255 seconds]
snaked has quit [Remote host closed the connection]
fling has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
teepee has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
J22477153 has quit [Quit: Client closed]
J22477153 has joined #openscad
teepee has joined #openscad
califax has quit [Ping timeout: 255 seconds]
Guest53 has joined #openscad
Guest53 has quit [Quit: Client closed]
teepee has quit [Ping timeout: 255 seconds]
califax has joined #openscad
teepee has joined #openscad
TheCoffeMaker has quit [Ping timeout: 268 seconds]
teepee has quit [Ping timeout: 255 seconds]
fling has quit [Ping timeout: 255 seconds]
fling has joined #openscad
fling has quit [Ping timeout: 255 seconds]
teepee has joined #openscad
fling has joined #openscad
clemens3 has quit [Quit: WeeChat 2.7]
clemens3 has joined #openscad
J22477153 has quit [Quit: Client closed]
J22477153 has joined #openscad
snakedGT has quit [Quit: Leaving]
<InPhase>
J22477153: Ah, good thing you asked about the links with folders. I took the strategy of "teepee's entries have folders, so I'll use those." ;)
<InPhase>
But then I forgot to ask.
Junxter has quit [Read error: Connection reset by peer]
fling has quit [Remote host closed the connection]
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
fling has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee has joined #openscad
<teepee>
InPhase: I need to find a better way than the current shell script grepping that file too
J22477153 has quit [Quit: Client closed]
J22477153 has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
foul_owl has quit [Ping timeout: 256 seconds]
teepee has joined #openscad
foul_owl has joined #openscad
GNUmoon has quit [Ping timeout: 255 seconds]
fling has quit [Ping timeout: 255 seconds]
GNUmoon has joined #openscad
fling has joined #openscad
<JordanBrown[m]>
I haven't looked at the infrastructure at all, but it seems to me that security is not critical; you could have the JS decide on its own which doors to open.
<teepee>
hm? from the current calender page?
<teepee>
door opening is just local JS based on local time, easy to hack :)
<teepee>
not going to help though :D
<JordanBrown[m]>
Is being easy to hack a problem?
<teepee>
not at all, you can hack the door to open
<teepee>
you can't hack the read-only folder on the file server side that prevents the web server from delivering that file until a cron job makes it readable
<JordanBrown[m]>
Right. Is that server-side protection really necessary?
<JordanBrown[m]>
I mean, if it's causing you the least bit of trouble then maybe it's not worth it.
<teepee>
¯\_(ツ)_/¯
<JordanBrown[m]>
If people want to spoil their surprise by bypassing the JS restrictions, well, too bad for them.
* teepee
likes it
<teepee>
true
<InPhase>
teepee: You mean you want to improve the sync.sh?
<teepee>
but I also like to spoil the fun of too clever people that think they can just hack the client side ;-)
<JordanBrown[m]>
I certainly wouldn't argue *against* server-side protections... but if they're causing you any grief, I wouldn't argue for spending significant time to implement them.
<teepee>
InPhase: the other one, sync.sh is just the helper to push the files to the file server as I did not want to clone the repo on the file server
<teepee>
that said with the new beta-fine-grained-tokens it should be an option in the future
<InPhase>
So then the advent_calendar.sh? Both have grep, so I wasn't sure which you meant. :)
<teepee>
it's now possible to create read-only access tokens
<teepee>
yes, that one is run every full hour via cron
<Scopeuk>
teepee couldn't you do read only anyway using the .git rather than just the repo name
Guest59 has joined #openscad
<teepee>
Scopeuk: no, private repo, so that needs authentication
<Scopeuk>
ahh fair enough
<teepee>
and the old tokes gave full repo access which I'm not ok to put as token on the file server
<InPhase>
teepee: Is index.js loaded by the site itself?
<teepee>
yes, that is public
<InPhase>
teepee: It would be a simpler task if it were json. :)
<teepee>
so everyone watching web browser console can peek all the file names
<teepee>
InPhase: unfortunately impossible at this point, this would need some CORS policy and I don't think I have the access rights to do that
Guest59 has quit [Client Quit]
<teepee>
only way I found is that jsonp
<teepee>
a slightly better option would be a single json structure that maybe could be parsed via jq
<teepee>
but then jq is not installed, so it would need python :)
<InPhase>
Wait, security restrictions let you execute javascript but not load json?
<InPhase>
lol
<InPhase>
Naturally, Python is the preferred way to work.
<teepee>
yes, it's a bit strange, but those files are not www.openscad.org but files.openscad.org so by default different with respect to CORS
<teepee>
sending the correct header should allow loading .js files directly too
fling has quit [Remote host closed the connection]
<teepee>
InPhase: did you give the designs a good shuffle or just squeeze in the new ones you created?
<JordanBrown[m]>
InPhase to be clear, the restrictions here are not exactly JavaScript restrictions. Rather, they are browser restrictions on which files a given program can access. There would be similar issues if the language was Python, because you don't want to let a program downloaded from site A use your credentials to access a file on site B.
fling has joined #openscad
<InPhase>
teepee: I gave them a weak shuffle.
<teepee>
:)
<InPhase>
teepee: I glanced at the visual diversity, spliced one of mine in the middle, and spaced out animations slightly.
<teepee>
the last times I did a rough sorting with more complex designs moving towards the end
<InPhase>
I did put my more complex design closer to the end.
<teepee>
but visual diversity sounds good too
<InPhase>
Of the two I put up.
TheAssassin has quit [Ping timeout: 255 seconds]
<teepee>
sounds good, and we still can change everything that's not open anyway, so still in good shape
TheAssassin has joined #openscad
<InPhase>
Oh noes. The calendar is not on the main site yet.
<teepee>
there's probably an easy one from me, changing mandelbrot to julia and changing the visuals a bit
<InPhase>
News bulletin?
<teepee>
it's in the banner
<teepee>
with snow
<JordanBrown[m]>
I tried a couple of times to contact that craft site for explicit permission for that line drawing, and they didn't reply. I just tried contacting via a different mechanism, but I'm not optimistic. Your call; their ToS is at https://iheartcraftythings.com/terms and the relevant section is the one starting "Intellectual Property Rights".
<teepee>
in big letters
<InPhase>
Oh, the part that looks like an advertisement.
<InPhase>
My brain is well trained to ignore website elements with moving backgrounds like that.
<InPhase>
It is used to draw my attention so often that I compensate the other way, and they're invisible. :)
<teepee>
that TOS is a clear no in my reading
<JordanBrown[m]>
Yeah, unfortunately mine too. I think that it *is* within the spirit, but explicit permission would be required.
<teepee>
InPhase: would it help if I find 2 small images too? probably not, it might make it even more ad like
<InPhase>
JordanBrown[m]: Perhaps try a quick search for another, or failing that, try your hand at being a Santa artist.
<JordanBrown[m]>
!(jordan instanceof Artist)
<InPhase>
teepee: I was looking for it in the Recent News section.
<teepee>
anything on opencliparts?
<InPhase>
Maybe we didn't do it there last year though. I don't see it.
<teepee>
584 clipart for "santa"
<InPhase>
teepee: Although something that is there every time you look at it would be better. The calendar link is missing from that bar most of the sample times.
<peepsalot>
what is the story with the clang-tidy configuration? did we ever run that on CI?
<JordanBrown[m]>
InPhase I think that's just a foreground-background issue. Looking more.
<teepee>
peepsalot: I don't remember this being active on CI
<peepsalot>
would it be useful to regularly report a list of failed checks? or even to mark a build as failed for any particular ones?
<linext>
are you planning to turn these clip arts into 3d models?
<JordanBrown[m]>
Yes, it is a foreground-background issue, though it's still not convenient - the pants are enclosed in the overall outline rather than being a separate path.
<JordanBrown[m]>
linext yes - for the original one we were discussing, I took the PNG line art, traced it into an SVG, separated the components by ID, imported each component into OpenSCAD, and gave it a color and height.
<peepsalot>
that's if we were writing code to go into llvm libc and fuschia and everything else
<peepsalot>
i actually hadn't even heard of fuschia before. i guess its a google made *NIX OS with their own kernel
TheCoffeMaker has joined #openscad
<peepsalot>
anyways... I would need some help choosing which ones we would want to regularly check (if any)
<peepsalot>
i could try again applying fixes for a few of the checks which offer them. I think I would do one at a time though, since too many at once seems to break the build
<peepsalot>
...not to mention being an unwieldy checkin even if I could get it to work
TheCoffeMaker has quit [Ping timeout: 256 seconds]
TheCoffeMaker has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
<teepee>
yeah, they did, and if I remember correctly they already tossed it and are working on a new one?
<teepee>
hmm, no, must have been something else, wikipedia says they are deploying that too the Nest stuff
othx has quit [Ping timeout: 268 seconds]
othx has joined #openscad
aiyion has quit [Remote host closed the connection]
<peepsalot>
the time consuming part is that I can't perform the fixes with parallel jobs, since commonly included headers get a fix applied to the same line of code by 20 processes at the same time
aiyion has joined #openscad
<peepsalot>
i wonder if PCH would help with that (and build times in general)
epony has quit [Quit: QUIT]
<teepee>
I never used PCH, i guess modules are still a long way out unless there's a way to keep things compatible with older stuff
<pa>
hei folks, sorry for repeating it again, but i think rendering or preview should trigger saving files :-) without, a crash would cause losing all the work
<pa>
or simply preview getting stuck, or eating up all the memory, etc.
<pa>
not the first time happening.. openscad frozeon on 0.998% on a minkowski.. :/
<teepee>
it save a backup. to save directly, I would want it to have a history to rollback
<pa>
where do i find the backup?
<pa>
another question: is there any way to "peel" a model? like to intersect/remove only the top x mm from top/bottom/left or right?
<pa>
i would want to select the top 1-2mm only and save to another model so to print it in another material
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
peepsalot2 has joined #openscad
peeps[zen] has joined #openscad
peeps[win] has quit [Ping timeout: 260 seconds]
peepsalot has quit [Ping timeout: 265 seconds]
peeps has joined #openscad
peepsalot has joined #openscad
peepsalot2 has quit [Ping timeout: 260 seconds]
peeps[zen] has quit [Ping timeout: 268 seconds]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
<pa>
nvm, i might way a workaround
<pa>
'have
<teepee>
Help -> Library Info shows also the Backup Path
aiyion has quit [Ping timeout: 255 seconds]
<germ>
Hello!
<pa>
hi
<pa>
ha cool, rendering "fillet3d" with cgal leads to assert violation lol
aiyion has joined #openscad
<pa>
actually the problem seems to be the "offset3d" with negative radius.. must be some mistake that either i made or i copied over
TheCoffeMaker has quit [Ping timeout: 264 seconds]
<InPhase>
pa: And yes, there's shady hackery going on in there. But odds are good it's good enough for most purposes. :)
<pa>
InPhase: thanks! checking!
teepee has joined #openscad
<pa>
whats the difference between resize and scale?
<pa>
ah nvm, resize operates on exact sizes
<InPhase>
Absolute vs relative, are the key words.
<pa>
InPhase: ok, i think i might have mis-explained what i had in mind
<pa>
so if i turn Thing into a Sphere, i get a sphere slice
<pa>
what i wanted is a sphere peel
<pa>
like a n mm thick surface of the thing
TheCoffeMaker has joined #openscad
<InPhase>
Oh. Well yes, but you probably don't want to do it.
<pa>
like whose footprint is the same as the footprint of the thing, as seen from one of the axes
<InPhase>
You take a difference between a large cube and your object. You minkowski that. Then you take the intersection of that with your original object.
<InPhase>
The "minkowski that" is with a sphere with radius of the shell sickness.
<pa>
ah right
<pa>
thanks
<InPhase>
Naturally this will be pretty slow on a complicated object. So designing to make the shell can be much better when possible.
<InPhase>
e.g., rotate_extrude a shell outline instead of use sphere, for a sphere case. Or equivalent for other things.
<InPhase>
If you need the shell of an imported teddy bear stl, then you use what I described, and let the computer work until it finishes or runs out of RAM. :)
<InPhase>
One thing we need but don't yet have, is offset for 3d objects, where surfaces move inward and outward in the direction of their normals.
<InPhase>
There are some cases which are non-obvious how to handle, so it is not implemented.
epony has joined #openscad
teepee has quit [Quit: bye...]
teepee has joined #openscad
<pa>
sorry, was attempting my first dual extrusion.. it was a semi-mess, but it also semi-worked
<JordanBrown[m]>
InPhase did you get my msg yesterday challenging you to play Christmas music? Matrix is weirdly showing it at the bottom, but under a “yesterday” header.
<JordanBrown[m]>
pa: InPhase you can get a footprint with projection, but it’s 2D.
Guest59 has quit [Quit: Client closed]
<InPhase>
I did. And, I thought about it a bit. :)