califax has quit [Remote host closed the connection]
califax has joined #openscad
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
LordOfBikes has quit [Ping timeout: 272 seconds]
kiba has joined #openscad
<kiba>
Oh.
<kiba>
I read the log.
<kiba>
I tried the import svg
<kiba>
it's giving me error about the geometry
LordOfBikes has joined #openscad
<kiba>
ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron.
J1A8472 has joined #openscad
J1A84 has quit [Ping timeout: 252 seconds]
<InPhase>
kiba: Oh good, you did get that information. :)
<InPhase>
Well, your svg might not be appropriately structured to import.
<InPhase>
SVG files can have unclosed lines. Polygons cannot.
<InPhase>
You could try either making a different svg file somehow, or go with the surface/png approach like I demonstrated in the log contents.
<kiba>
yeah, that is what I am thinking of doing
<kiba>
except, I got distracted by trying to design a wallet and 3d printing iterations after iterations
<InPhase>
TPU?
<kiba>
no
<kiba>
petg
<InPhase>
A little rigid yet for a good wallet. TPU will work a bit nicer for you.
<kiba>
I work with what I have
<InPhase>
Sure. Just saying that's a particular filament that you'd have no regrets investing in as another option for the pile. It has a lot of interesting uses. :)
<kiba>
right now, I am thinking about getting my ender up and running because I need another printer for prototyping purposes
<kiba>
given that my Prusa is constantly busy printing prototypes
<InPhase>
TPU is not quite as bouncy as rubber, but it's a filament where you can fold a 1mm thick sheet of it in half and it will snap back to position.
<kiba>
but I can't print anything else in the meantime
<kiba>
because of my inability to parallel operations, I wasn't able to have a design I am proud enough to submit to the Printable flash contest
<kiba>
Well, if I want to use TPU, I would probably invest in upgrading my Prusa with multimaterial support
<kiba>
this way, I am able to use specialized materials without needing to switch filament rolls
<kiba>
I should also fix my prusa's autoload functionality...amongst other things
<InPhase>
I usually just switch. But I would like a multimaterial printer.
kiba has quit [Ping timeout: 252 seconds]
califax has quit [Ping timeout: 268 seconds]
califax has joined #openscad
la1yv has quit [*.net *.split]
joseph_ has quit [*.net *.split]
RoyK has quit [*.net *.split]
crazy_imp has quit [*.net *.split]
mlaga97 has quit [*.net *.split]
crazy_imp has joined #openscad
mlaga97 has joined #openscad
crazy_imp has joined #openscad
crazy_imp has quit [Changing host]
RoyK has joined #openscad
la1yv has joined #openscad
joseph_ has joined #openscad
<J1A8472>
InPhase .. thats really fast .. need to keep that approach in mind
extor has quit [*.net *.split]
cbmuser_ has quit [*.net *.split]
Friithian has quit [*.net *.split]
dalias has quit [*.net *.split]
Flecks has quit [*.net *.split]
splud has quit [*.net *.split]
siege has quit [*.net *.split]
knielsen has quit [*.net *.split]
dalias has joined #openscad
siege has joined #openscad
extor has joined #openscad
knielsen has joined #openscad
Friithian has joined #openscad
splud has joined #openscad
splud has joined #openscad
splud has quit [Changing host]
Fleck has joined #openscad
cbmuser_ has joined #openscad
<InPhase>
joseph_: I've evaluated the code and the usage. Several of the example shaders fail out with no result displayed, but I assume you already know that. (Or if not, then there's something unstable about them system to system.) Big picture-wise, it seems to only be operating under render at present. Do you have a plan that you anticipate working for shader support under preview? Or has that been ruled
<InPhase>
out for some reason I missed?
<InPhase>
joseph_: The bulk of the lines-of-code changes appear to be in the example shaders themselves, which I did not focus on. But looking at the C++ code, the changes appear pretty straightforward and with no major issues, except that there are numerous locations with superfluous raw pointer usage that don't make sense to me. Renderer.cc 18, 46, and 142 introduce a std::string*, VBORendered.cc 39 has a
<InPhase>
std::string*, and CGALRenderer.cc 44 has a std::string*. There are virtually no cases for using a std::string* in modern C++, as it simply introduces opportunities for bugs and crashing without any real benefit. For things like filenames, you should generally just use std::string or const std::string&. If something is very large like the shader content itself, you could use std::string and use move
<InPhase>
semantics to push it along without copy, or std::unique_ptr wrap it, or std::shared_ptr wrap it, depending on the required ownership semantics. If you have questions about this part, please ask and I can explain.
<InPhase>
Note also that if you need to express "optional" content, you can use std::optional which provides you with fully defined behavior (which raw pointers don't). But with std::string you already have the default empty string which can signal that a thing is not set, so std::optional itself might not be needed here.
califax has quit [Remote host closed the connection]
califax has joined #openscad
<InPhase>
teepee: Oh, we're still on C++14? I thought we bumped to 17 already.
<InPhase>
joseph_: Okay, you can't use std::optional just yet here. But as I said, that really shouldn't be necessary either for a string parameter.
ur5us has joined #openscad
GNUmoon2 has quit [Remote host closed the connection]
GNUmoon2 has joined #openscad
ur5us has quit [Ping timeout: 240 seconds]
ur5us has joined #openscad
lastrodamo has joined #openscad
use-value has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 268 seconds]
teepee_ is now known as teepee
fling has quit [Remote host closed the connection]
fling has joined #openscad
lastrodamo has quit [Quit: Leaving]
TheAssassin has quit [Remote host closed the connection]
teepee has quit [Remote host closed the connection]
fling has quit [Remote host closed the connection]
GNUmoon2 has quit [Remote host closed the connection]
aiyion has quit [Remote host closed the connection]
fling has joined #openscad
TheAssassin has joined #openscad
GNUmoon2 has joined #openscad
aiyion has joined #openscad
teepee has joined #openscad
<teepee>
InPhase: some subset should be fine now I think, we can try
kiba has joined #openscad
kiba has quit [Ping timeout: 252 seconds]
Fyr has joined #openscad
<Fyr>
guys, are there converters to convert AMF, 3MF into STL?
<Friithian>
most anything that can open them can export as
<Fyr>
I have an AMF, FreeCAD, meshlab can't import them.
<Friithian>
what generated it?
<Fyr>
openSCAD
<Fyr>
even Blender can't import an AMF file.
<Fyr>
perhaps, there are plugins, but I don't have them installed.
<Friithian>
why can you not just export them as stl?
<Friithian>
from openscad
<Fyr>
yeah, it's what I'm doing right now.
<Fyr>
exporting as an STL file.
<Fyr>
the STL format does not preserve color.
<Friithian>
well, yes, STLs just describe the mesh
<Fyr>
our local 3D printing companies can print colored objects.
<Fyr>
turns out, I can't check the colors since I don't have apps that support the formats.
<Friithian>
it may be a good idea to ask them for help
<InPhase>
The first question would be what formats they can process color out of.
<Fyr>
all of them
<Fyr>
AMF, 3MF.
<InPhase>
I think 3mf is emerging as more of a standard than amf. Are we properly exporting color in 3mf?
<InPhase>
Or wait... I guess we don't render color at all.
<InPhase>
So we cannot do that.
kiba has joined #openscad
<InPhase>
Sorry, my tea has not fully kicked in yet. :)
<Fyr>
InPhase, does it mean, openSCAD does not export color?
<Friithian>
oooh what kind of tea?
<InPhase>
Friithian: Tea, earl grey, hot.
<Friithian>
meh
<InPhase>
Fyr: There is currently no color to export. Do you ever see color after hitting "render"?
<Fyr>
InPhase, I see color during working with it.
<Fyr>
I thought rendering works with color too.
<InPhase>
Fyr: Well, take your design, hit render, and tell me what colors you see. :)
<Fyr>
InPhase, rendering requires 30 minutes on our server.
<Fyr>
I've waited on my workstation, gave up, started it on the server.
<InPhase>
Well I guess that explains the confusion. You're apparently not looking at what you're doing with that workflow.
<InPhase>
Maybe try again with a really simple design.
<Fyr>
ok, I understood.
<Fyr>
InPhase, how can I make the object colored?
<Fyr>
I can produce and STL, then what?
<Fyr>
I've just imported the STL file in Blender.
<Fyr>
the object looks like Almalexia - divine and odious.
<Fyr>
though, it's just a brick pattern.
<InPhase>
I don't know. I don't have and never touched a multi-color or multi-material printer.
<kiba>
why haven't you?
<InPhase>
Well, because they are not within arms reach, making it hard to touch them.
<Friithian>
I've used dual extruder printers, they're fun
<InPhase>
Someday I intend to buy one, but there haven't been a lot of appealing options yet in this area. I was giving it a little time.
kiba has quit [Ping timeout: 252 seconds]
<InPhase>
I am also cognizant that it will take a time investment because the software infrastructure for this is not good, so buying one would probably also come with a commitment to make more things work with them if I rush in too early. :)
<InPhase>
And honestly there are some open questions about how to handle multimaterial printing properly. Surface polygons are not a rational approach to this. SDFs might be smarter.
<InPhase>
It's not obvious how to slice an object with surface pieces that change color or material, because it's not clear what to print in the enclosed volumes.
engblom has joined #openscad
<engblom>
How can I best round both inner and outer corners? I tried to chain offset like "offset(r=-3) offset(r=3)", but it is not having the desired effect.
<engblom>
(I know I could do it by cutting a circle away from a square and use it to fill inner corners, but it would mean a lot of extra work)
Fyr has quit [Quit: Client closed]
ali1234 has quit [Remote host closed the connection]
ali1234 has joined #openscad
<J1A8472>
there is a difference in surface color and multi material printing - the later needs objects to assign the material .. the surface can be mapping or face color like with windows 3Dpaint
<J1A8472>
engblom you need 4× offset 2× for inner and 2× for outer corners .. or using a script and points for that
<engblom>
J1A8472: Yes, that is exactly what I want!
<J1A8472>
pre answer before the question Ü .. but its the easiest example
<J1A8472>
it's
J1A8472 is now known as J1A84
lastrodamo has joined #openscad
kiba has joined #openscad
la1yv has quit [Ping timeout: 268 seconds]
la1yv has joined #openscad
peeps[zen] has joined #openscad
peepsalot has quit [Ping timeout: 240 seconds]
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
qeed_ has quit [Quit: qeed_]
qeed has joined #openscad
teepee has quit [Ping timeout: 268 seconds]
teepee has joined #openscad
kiba has quit [Quit: Client closed]
ur5us has quit [Ping timeout: 272 seconds]
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
fling has quit [Remote host closed the connection]
ran has joined #openscad
fling has joined #openscad
<joseph_>
InPhase: Thank you for the feedback. If you turn on showedges the shader will get used in the F5 preview also (this behavior is preexisting). I've been focused only on the F6 render for now because that's what my proposal specified. I can remove the showedges requirement for F5 shaders later. Also, I agree with your assessment about the pointers. Defaulting to a blank string will do what I want without needing std::string*
<joseph_>
InPhase: I pushed a new commit which passes the path by reference
<joseph_>
I also discovered a new bug with my branch. To reproduce it, 1) choose metallic shader 2) run F6 render, make sure it is a new model actually generated 3) switch back to the "original" shader. For me this causes missing/incorrect triangles
califax has quit [Remote host closed the connection]
califax has joined #openscad
<joseph_>
teepee: How are issues for bugs with experimental/in-progress features typically tracked? Should I create GitHub issues in my fork or in the main openscad repository? Also, is there anything else you request that I do ahead of submitting the midterm evaluation? I'm working on entering the rest of my dev log retroactively (and of course for the second half I'll work harder to make daily entries in real time)
TheAssassin has quit [Ping timeout: 268 seconds]
TheAssassin has joined #openscad
fling_ has joined #openscad
fling has quit [Ping timeout: 268 seconds]
aiyion has quit [Ping timeout: 268 seconds]
teepee has quit [Ping timeout: 268 seconds]
TheAssass1n has joined #openscad
aiyion has joined #openscad
teepee has joined #openscad
TheAssassin has quit [Ping timeout: 268 seconds]
fling_ is now known as fling
<teepee>
joseph_: usually on either the issue with the feature request, or the pull request with the actual changes
<teepee>
I played a bit with the different shaders and that worked nicely so far, so I think that's a very good state for the mid-terms
<teepee>
I'll try your example, if that happens for me too
<teepee>
are those shader all from one of those earlier pull requests?
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
lastrodamo has quit [Quit: Leaving]
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 268 seconds]
teepee_ is now known as teepee
califax has quit [Remote host closed the connection]
califax has joined #openscad
la1yv has quit [Read error: Connection reset by peer]
la1yv has joined #openscad
<joseph_>
teepee: Yes, all the shaders in my PR are from that earlier contribution https://github.com/openscad/openscad/pull/3860. Adding them in the same branch that contains my actual code changes is a bit confusing, but I can't think of a better way to do it because those shaders are needed for testing
califax has quit [Remote host closed the connection]
califax has joined #openscad
Guest26 has joined #openscad
<teepee>
joseph_: that's fine, just making sure we can check licenses later, as they were pushed as PR it's pretty safe to assume we don't have to worry
Guest26 has quit [Client Quit]
fling has quit [Remote host closed the connection]
fling has joined #openscad
<InPhase>
joseph_: I just noticed on re-testing that the selected shader is not preserved upon closing and opening the program.
<InPhase>
joseph_: There should probably be an option for "default" somewhere, plus retention of the previous selection, for normal expected behavior.
<InPhase>
joseph_: The Show Edges behavior is very unusual. It will allow setting the shader after preview, but each preview also unsets the shader.
<InPhase>
This might tie into the retention logic. What I see with an unretained shader render does not actually look like the default render result either, but some other sort of shader result.
<InPhase>
The shader in fact looks really wacky with render now in the build of your PR after a fresh reload, and I see no way to turn it back to normal. It looks like show edges is on for the render maybe, even when it's set off?
aiyion has quit [Remote host closed the connection]
aiyion has joined #openscad
<InPhase>
joseph_: Also, on the shaders, you should add to your PR a note that the shaders included in yours came from that pull request with a #3860 link for proper attribution and a good chain between the pull requests. It will show up as a back-link at the end of #3860 for anyone checking what became of that work, and the original author will know it went to good use.
fling_ has joined #openscad
fling has quit [Ping timeout: 268 seconds]
fling_ is now known as fling
teepee has quit [Remote host closed the connection]
juri_ has quit [Ping timeout: 268 seconds]
juri_ has joined #openscad
teepee has joined #openscad
little_blossom has quit [Ping timeout: 268 seconds]
GNUmoon2 has quit [Remote host closed the connection]