ur5us has quit [Read error: Connection reset by peer]
PovilasCNC has quit [Changing host]
PovilasCNC has joined #openscad
JHoglund has quit [Ping timeout: 240 seconds]
mhroncok has joined #openscad
JHoglund has joined #openscad
BluShine has joined #openscad
<BluShine>
Is there a suggested way to share a .scad file that includes a library? Some kind of project file that would automatically pull the correct library version from github so the user doesn't have to see an error and manually hunt it down and install?
<teepee>
I think they have a new design now, but it's still a bad idea in general
<Jack2248>
and a software update .. the idea to get internet everywhere is not so bad - but the pricing makes it unavailable for the regions which could profit - and then there is the problem that no astronomer is able to get pictures from stars without stripes anymore -- sounds like a USA flag operation
<teepee>
the idea is good, the logistics are a mess and probably not even viable
<belba>
BTW: if there a plan that I can change a variable inside a "running code"?
<teepee>
plan?
<belba>
I need time to understand waht it means to use a variable in SCAD and to youse it in a programming language and still today for me it is often a trap if I using OPENSCAD
<belba>
youse.... :-D
<belba>
"use" I mean instead of youse
<teepee>
yes, with the current version of openscad, there's no reassignment of variables
<belba>
or if I remember right, the last assignmet will be used for all the code
<Jack2248>
you can "reassign" them within a recursion - Ü
<teepee>
yes, but that's so because of backward compatibility. in an ideal world it would be an error to reassign
<belba>
this is a big trap for all new users with programming skills
<teepee>
yes, Alan Cox called that imperative programmers disease ;-)
<teepee>
but yeah, the are rough ideas that it could be possible to have local variables that could be reassigned
<belba>
I hate recursions! This ist for me always a warrante for long nights! :D
<teepee>
which would help with translating some algorithms
gunnbr__ has quit [Ping timeout: 240 seconds]
<teepee>
there's the c-style for loop which looks like variable reassignment but is actually recursion internally
<Jack2248>
there is this python wrapper for oscad maybe that helps
<belba>
Oh really?! I didn't know that!
<belba>
you mean the for() loop? yes one of my individual trap :D
<teepee>
my advise would be looking at libraries instead
<teepee>
I'm not sure those are available via the python wrappers
<teepee>
unless you are really doing something very special compute heavy
<InPhase>
belba: There are some pretty straightforward ways to rethink most problems in a way that fits well into the OpenSCAD syntax structure.
<teepee>
also I think often people try to reinvent all the low level stuff making it much more complicated than needed, hence all the required calculation
<teepee>
there's awesome libraries proving that, my multi part printed signal tower is like 200 very spacious lines of openscad code
<teepee>
with most of the heavy stuff in libraries
<InPhase>
Yes, I'm certainly guilty of reinventing some low level stuff, usually for making libraries. But first, I tend to do that in every language when I want things done a certain way. And second, I think of it as a testbed for what could be part of the language. I'd be perfectly happy if a good fraction of my libraries ended up obsolete from transition to built-in support for different things.
<InPhase>
I think that as long as this reinvention goes into libraries though it's fairly acceptable, and part of how things should work to poke at new functionality.
<teepee>
yeah, that's fine, it gives some extra learning opportunities
<teepee>
especially when diving a bit deeper into things
<teepee>
but for just starting out and trying to create a design for printing, it a good approach to just use existing stuff as black boxes
<teepee>
we really need to find a way making that more obvious
<InPhase>
Well I think your recent updates to the libraries page have really helped as a start. A lot more people are making use of libraries since you did that it seems.
<teepee>
while that vcpkg-ce thingy seems nice, the integration part is a bit worrying, e.g. communication via magic environment variable works fine for command line use but not for GUI
<Scopeuk>
teepee the other option on that side is to add a setting to point at wehre vcpkg-ce is setup and if you try and use it before setting that up asking the user to go find it
<InPhase>
Well you can set magic environment variables when executing things inside of OpenSCAD.
<InPhase>
They could just go into settings at that point.
<teepee>
no, the point is that it downloads into some folder and manipulates OPENSCADPATH
<teepee>
which is fine for command line use
<InPhase>
teepee: Hahah. "The global shape is a kind of donut with some sinusoidal
<InPhase>
modulations"
gunnbr has joined #openscad
<InPhase>
You mean like the example of a wavy donut in the ClosePoints library? ;)
<teepee>
yum, math donut
<teepee>
oh, is it even in the examples? haha, I missed that
<InPhase>
demo_wavy_donut.scad
<pa>
is there another way, other than fixing the .scad, to address "Object may not be a valid 2-manifold and may need repair!" ? idk, like meshlab?
<InPhase>
I omitted that one from the images, but it's there.
<InPhase>
Kind of looks like a child's teething ring.
<teepee>
pa depending on how you want to use it, it may not actually need fixing
<pa>
teepee: so the only issue i have is that when i load the stl in cura, it has a couple of weird turns
<pa>
in the renderer it looks perfect
<teepee>
right, so it does impact the slicing, but you can check the "mesh fixing" options, it might be the easiest way to just get it to slice as wanted
<InPhase>
pa: Does it source from importing an externally created stl?
Guest37 has joined #openscad
Guest37 has quit [Client Quit]
<pa>
InPhase: not exactly, but it does source externally created geometry (like an array variable) that i close with closepoints
<pa>
teepee: you mean in cura?
<pa>
i didn't know there was that option :-) thanks!
<InPhase>
pa: closepoints will always generate a closed manifold unless you violate one of the given assumptions. First, is it ClosePoints or CloseLoop? For ClosePoints the starting and ending point must have the center of the surface loop be within the surface, such that it's not like a highly concave crescent shape.
<InPhase>
pa: Second, the layers must not backtrack as you go around curves in a way that would cause self-intersections.
<pa>
InPhase: so i have some sort of rings aligned orthogonally along a curve, so that they are only touching the curve, and lie otherwise entirely on the convex side of it
<teepee>
looks like they sell that as templates, I got one of those too (not for OpenSCAD or other open source though, ... yet?)
<pa>
InPhase: so the part is https://i.imgur.com/yjIrtLZ.png, but this alone does not trigger the problem, which pops up after a bunch of csg operations
<InPhase>
teepee: It seems log4j is this "big scary" threat structured in such a way that no one can figure out what is actually vulnerable. It sure sounds like a bad bug, but what I seem to have missed seeing is any description of things actually compromised by this bug.
<InPhase>
teepee: I don't recall seeing people respond this way to a bug since y2k.
<teepee>
there's been reports, I did not check too closely, but it's been exploited
<pa>
teepee: not sure.. is it mesh tools -> fix simple holes?
<pa>
if yes, i get an error "the mesh require more extensive fixing to become watertight"
<InPhase>
pa: Ah, that shape again. So does it pop up if you take that shape, put a cube(1); at the origin, and render?
<pa>
could be, let me try
<InPhase>
pa: If the answer is no, then your shape is fine, and the problem is in the CSG operations you are using. Probably some sort of overlap issue or something like that.
<teepee>
I don't have that simple hole option
<pa>
teepee: where's your option? i found it under extensions -> mesh tools
<InPhase>
pa: Yep. Then investigate your CSG operations for the problem instead of the ClosePoints call.
<InPhase>
pa: Check for proper overlaps on differences and unions.
<pa>
teepee: somehow i have no option under "mesh fixes" O.O
<pa>
InPhase: thanks, i might do that, but i'm doing quite a mess, that's why i was looking for a different solution :-)
<InPhase>
lol. Protip: Don't do a mess. ;)
<pa>
ah found the option teepee mentioned
<teepee>
may need the "advanced" or "all" options
<teepee>
via that hamburger menu besides the search field
<pa>
so it doesn't seem like those options help
<pa>
well, nvm, thanks anyway!
<InPhase>
Post-fixing meshes never helps.
<InPhase>
It does sometimes, but never is a better approximation of reality.
<teepee>
so, time to pick up the new filament :)
<veverak>
hmm
<veverak>
have you ever thought about "versioning" ?
<veverak>
that is, making a "marks" on the part itself to know what version it is
<pa>
veverak: well, with marker :)
<veverak>
yeah, that requires effort :)
<veverak>
I have an idea for versioning
BluShine has quit [Ping timeout: 256 seconds]
<Jack2248>
i had an module to imprint version numbers into the first layer
<veverak>
I need the marking to be small
<veverak>
so I doubt that text would work
<Jack2248>
with metallic filament you can have this without any gap
<Jack2248>
veverak Ⅵ
<Jack2248>
or use dots .. or morse code - Ü
<veverak>
fu, damn it
<veverak>
why is log in base of 10?
<Jack2248>
ln ?
<veverak>
log(
<veverak>
anyway, it takes multiple arguments
<veverak>
what bothers me more now is lack of bit shifting
<InPhase>
veverak: It's not hard to make an int-to-binary function.
<InPhase>
Bit shifting is missing because the values are all doubles, so the correct operation is division.
<pa>
first layer with different material seems like a great idea.. but how to do this? can cura do it?
<InPhase>
pa: Cura has a feature for pausing at a specified z-height so you can swap filaments.
<pa>
InPhase: well i have a second extruder, but how to program cura to write some text on the first layer using the second extruder?
<InPhase>
I've never investigated which programs handle multi-extruder printers.
Guest5395 has joined #openscad
<pa>
and even with single extruder, how to program gcode to have a text pattern in between the zigzag of the first layer?
<InPhase>
It's something I think is important to have good support for, but I don't own one, so I haven't had cause to dive into it.
<InPhase>
Well one technique I've seen done is to just print a layer of text, then print a solid object on top of it and count on the extruder bouncing over it. :)
<InPhase>
But you need good ahesion for that.
<InPhase>
adhesion
<pa>
ah i see what you mean
<pa>
hm.. a bit rough.. and risky
<pa>
i guess for this to work properly, it needs support in cura
<InPhase>
You can of course try to print properly around the text for the next layer, and count on alignment accuracy.
<pa>
or some custom PP of cura gcode
<InPhase>
If you're going to create custom gcode there are all sorts of options, and you could definitely do it all on one run (i.e., not homing again).
<InPhase>
You could also do 2 layers with a minimum of two switches. Print the outline of the text for the first layer, pause in a separate location and switch filaments, move back to the print and print two layers of the letters, go pause and change the filament back, and then come back and print the rest of the second layer and all the upper layers.
<InPhase>
2 layer letters would look a lot better than one.
<InPhase>
With some copy and pasting and knowledge of how gcode works you could do that with a standard slicer and some post-editing of the gcode.
<InPhase>
You'd just need separate input designs for the first outline layer and the two layer letters, and then one for the rest, which you then reassemble taking out the initialization parts and inserting the relocate and pause code.
<InPhase>
veverak: Make that unambiguous if you rotate it by 180 degrees.
<veverak>
aaaah, good objection
<InPhase>
0.0 and 1.1 are the same mark. ;)
<InPhase>
A horizontal base line on the decimal divider could do the trick, or something like that.
<veverak>
yup, allready on it
<lf94>
teepee: my CAD is not really comparable to that of OpenSCAD or Curv. It's more comparable to using C to achieve code cad, i.e. not as concise / expressive.
<InPhase>
OpenSCAD grew to what it is over time.
<lf94>
I needed to create it because rework in Curv is going to take long, so I need a stop gap
<lf94>
InPhase: yeah but look at how I'm generating WGSL: template.wgsl.js
<lf94>
That's how you make your models.
<lf94>
Really not comparable to the well structured and way more sane OpenSCAD.
<lf94>
What _is_ cool though, is OpenSCAD could probably compile to this weird template js code
<InPhase>
lf94: That is indeed quite a mess. :)
<lf94>
(minus any minkowskis or hulls)
<InPhase>
But it's js, so what could you expect.
<lf94>
This is why it sits in a very special place
<lf94>
It's essentially a test bed for any ideas
<lf94>
Or needed performance
Guest5395 has quit [Quit: Client closed]
ur5us has joined #openscad
Guest40 has joined #openscad
Guest40 has quit [Client Quit]
<Jack2248>
pa you can print 1 layer letter and then print your normal print just on top - works normally well - if you use metallic filament you can make the letter as .05mm cuts so the slicer will move around and with metallic particles aligned you can see this later
LordOfBikes has quit [Read error: Connection reset by peer]
LordOfBikes has joined #openscad
LordOfBikes has quit [Read error: Connection reset by peer]