<teepee>
no, not for preview, it's drawing things multiple times
<ccox_>
LeviHarris-Brown: when you render via F6, it will give a facet (triangle) count. Also, I know about how many polys will generate ahead of time because I'm using a testfile for the surface(file.png) feature.
<teepee>
right, for special models it might match the F6 count
<teepee>
but using CSG operations it will start being differently quite quickly I think
<teepee>
the code obviously knows the number at some point, but I don't think it's shown anywhere
jdccdevel has quit [Quit: Leaving]
snaked has quit [Quit: Leaving]
<lf94>
do you guys see me joining constantly?
<teepee>
nope
<ccox_>
LeviHarris-Brown: looks like some work has been done to write GL surfaces and meshes instead of single triangles, but it is turned off by default. With that experimenal work enabled, 8 million tris == 60 fps (max for my display).
<ccox_>
ok, and it's turned off for good reason - the code is buggy and crashes in some cases.
Jack21 has joined #openscad
<teepee>
that's actually the first time someone reports issues
<teepee>
all experimental features are disabled by default, that's sort-of the point :)
<ccox_>
yeah, but I wanted to check some of them out. And you can only enable them by first enabling all experimental features at build time.
<teepee>
and that's because the default build is targeting a release which does not support experiemental features (at least as far as they can be disabled)
<teepee>
but then, maybe enabling for snapshot builds might be useful too :)
<teepee>
I mean enable by default for new experimental features
<Jack21>
if lazy unions enabled - people may wonder why the result is changed and open issues without knowing the reason
<lf94>
must be this android client acting funny
<teepee>
right, good point, lazy union would be a candidate where it's not a good thing to have it automatically enabled
<InPhase>
Sounds like a lazy feature. Doesn't even turn itself on.
<Jack21>
inPhase it is worse - when activated it makes all other unions lazy so they only work if explicitly called
<Jack21>
like all unions join a union and going on strike
* InPhase
chuckles.
<ccox_>
The VBO code is fast when it works, but it has a bunch of off-by-one errors.
LordOfBikes has quit [Ping timeout: 256 seconds]
<LeviHarris-Brown>
<ccox_> "Levi Harris-Browning: looks like..." <- thanks, will test that. Also at teepee If I render it properly using F6, then yeah aftewards it runs at like 20fps. I think I just found a bug as well, if I render something and then click save, it transitions back to the preview render instead
<lf94>
InPhase: I'm really sure SDFs are the way to a better CAD future. nTopology clearly thinks so too, they moved to an SDF based rendering engine
<lf94>
Like you said, we are all building on top of each other, it's actually quite nice.
<JakeSays>
what's sdf?
<lf94>
signed distance function
<ccox_>
(a variant of implicit surface solvers)
<lf94>
OpenSCAD could move to this also, but I think some of its API would take a hit. Most notably, no more hull or minkowski.
<InPhase>
I think the magic is mixing.
<InPhase>
I just don't know how yet.
<lf94>
Well you can mix SDF with mesh
<lf94>
In the same scene at least
<lf94>
I don't know how you'd put a SDF sphere into a mesh box though...
<InPhase>
It's obvious how to give computational geometry the last pass. It's likely to go very poorly if we want to make it go both ways.
<lf94>
I'm sure someone knows like instantly.
<lf94>
The issue is the SDF sphere is actually a 2D thing
<lf94>
because it's being drawn on 2 triangles
<lf94>
You would have to mesh it at the same time
<lf94>
Or you go the other way, you turn meshes into SDFs, but I think this is muuuch harder.
<lf94>
if not super inefficient
<InPhase>
lf94: I will give you an idea I had for SDF approaches though, and maybe you can run with that. I think one of the killer apps of sdf approaches is to cut out the meshing entirely. Never mesh (or leave that as a side-feature if needed), and just slice directly from the sdf. It would be much faster to do 2D ray marching in layers.
<InPhase>
Or marching squares, whatever it would be called at that point.
<lf94>
Yes, I've already been up to this. :)
<lf94>
I've gotten curv to output SVX, which is a voxel format. I'm then trying to get this into Cura.
<JakeSays>
if you never created a mesh then how would you get an .stl file?
<InPhase>
JakeSays: You don't need one.
<InPhase>
SDF to gcode.
<lf94>
But now I'm working on my cad tool, epifaneia. This will do the same.
<JakeSays>
InPhase: so then openscad would need to become a slicer as well
<lf94>
...no
<InPhase>
JakeSays: Well OpenSCAD is not sdf based.
<lf94>
openscad could output to SVX too.
<JakeSays>
InPhase: i thought the discussion was about moving oscad to sdf.
<InPhase>
JakeSays: We're intrinsically built on a mesh operation engine, so there's no way around meshing in OpenSCAD without abandoning the whole pipeline.
<lf94>
JakeSays: not really no
<JakeSays>
ah k
<lf94>
we are just typing out loud
<lf94>
like at a bar
<JakeSays>
lol no prob
<lf94>
blhablahablah
<JakeSays>
so then just like at a bar i'll jump in and ask stupid questions
<lf94>
InPhase: I'll let you know when I've got SVX support in Cura
<lf94>
That's super high on my list
<InPhase>
JakeSays: I think there's merit to adding a little SDF features into OpenSCAD, perhaps as a method of generating some polyhedral meshes for further processing. But I don't think you can upgrade OpenSCAD to an all sdf approach. That ship has sailed, and it would be a completely different thing.
<JakeSays>
lf94: you're creating your own cad tool?
<lf94>
And Epifaneia will not take long to implement. It's just a WGSL viewer.
<lf94>
Yes, it's not difficult with SDF.
<JakeSays>
stupid ? #1: is sdf in any compatible with brep?
<lf94>
somewhat
<InPhase>
JakeSays: What we can do in OpenSCAD is add a mesh_sdf built-in that takes a function literal with x,y,z inputs. From there we could optionally put as much or as little into the sdf side as we want.
<lf94>
you can store brep information alongside sdf more or less.
<lf94>
sdf is frep
<lf94>
so you can store both side-by-side for certain operations.
<JakeSays>
InPhase: ah ok
<lf94>
InPhase: yes that's be good.
<lf94>
InPhase: the issue is meshing an SDF is resource intensive.
<JakeSays>
lf94: my reason for asking is OCCT
<JakeSays>
it sure has a nice renderer
<lf94>
Yes I was a big CADQuery user (which uses OCCT) before
<lf94>
And before that a big OpenSCAD user
<lf94>
All the Code-CADs are connected
<InPhase>
lf94: Sure, but we could add some bounding boxes to it maybe to keep it sensible. And we already have the resolution special variables.
<lf94>
Yeah there are things you can do.
<JakeSays>
lf94: i was looking at curv recently. it looks very interesting.
<lf94>
You should join our Matrix channel
<lf94>
I wish we all combined into one channel
<lf94>
#codecad
<JakeSays>
i just changed a contact and i'm not sure if i was successful
<lf94>
alternatively i would not mind if openscad could turn into an organization name and adopt more Code-CAD tools.
<lf94>
InPhase would that sound too crazy?
<lf94>
"Open Solid Computer Aided Designers"
<InPhase>
Didn't we already have an umbrella organization setup somewhere?
<lf94>
I think GitHub
<lf94>
But right now OpenSCAD is synonymous with its tool.
<lf94>
Maybe have OpenSCAD: Mesh, and OpenSCAD: Surface ?
<lf94>
(Implicit surface)
<lf94>
I'd be totally down for that.
<InPhase>
Well it makes sense only if the tools interoperate extremely well.
<lf94>
I would even recreate the OpenSCAD API as much as I can
<lf94>
This way some OpenSCAD code can trivially be translate to work in an implicit surface context!
<JakeSays>
InPhase: well, as an organization dedicated to scad, the tools wouldn't necessarily have to interoperate.
<lf94>
yeah they don't but "it'd be nice"
<JakeSays>
the common ground is cad by code
<lf94>
OpenSCAD as an overarching code cad organization would be sick
<lf94>
Right now the closest thing to that is cadhub.xyz
<JakeSays>
lf94: what kind of tool are you creating?
<lf94>
cad tool
<JakeSays>
well yes that much i figured out
<InPhase>
JakeSays: Certainly from a community perspective that's the shared goal. I was just thinking from a brand marketing perspective toward users, it makes sense when a set of things is cohesive in some way.
<JakeSays>
InPhase: yeah it'd probably make more sense to create an org with a different name and put openscad under it
Jack2123 has joined #openscad
Jack21 has quit [Ping timeout: 256 seconds]
ur5us has quit [Ping timeout: 240 seconds]
othx has quit [Ping timeout: 256 seconds]
othx has joined #openscad
<lf94>
The issue is OpenSCAD already has a large discovery footprint
<lf94>
I wouldn't mind making CADHub that "community"
<lf94>
But I prefer it were not on Discord
<lf94>
But also I know it's Irevdev's child. I want a group thing we are all invested in.
ccox has joined #openscad
ccox_ has quit [Ping timeout: 260 seconds]
king has joined #openscad
king has quit [Quit: Client closed]
<JakeSays>
lf94: the discovery footprint could be solved in other ways
<InPhase>
lf94: I would never endorse putting the centerpiece of any open source community on a non-open-source platform.
<InPhase>
That's just silliness when there are so many other choices. :)
<lf94>
I agree.
<JakeSays>
InPhase: you referring to discord?
<InPhase>
JakeSays: Yeah.
<JakeSays>
there aren't many opensource alternatives that offer the features
<JakeSays>
actually i'm not aware of any
<InPhase>
I suppose that all depends on what you think the important features are.
<JakeSays>
Jack2123: it's just the diamond'ish shape that i need. i'm making something that that mount will sit in
<teepee>
Jack2123: cool print, looks a bit like a sad golf ball :)
<teepee>
also I think I have fixed my extruder skipping issues at smaller layer heights. increasing the extruder motor current seems to have solved the issue
<JakeSays>
teepee: i'm curious - why would small layer heights cause extruder issues?
<JakeSays>
InPhase: for me the most important features are rich markup, especially syntax highlighting for code, etc.
<JakeSays>
*one of the most
<teepee>
Not sure, I would assume it needs a bit more pressure to squeeze out the filament if there's a smaller gap between nozzle and already printed layers
<teepee>
at 0.2mm there's already quite a gap so a weak extruder can still push the plastics out
<JakeSays>
ah. makes sense.
<JakeSays>
what is your most common layer height?
<teepee>
0.2mm but as the stuff I'm printing currently has threads, I'm a bit down to 0.15mm
<Jack2123>
teepee sad golf ball Ü
<dalias>
what relation of layer height to thread pitch do you find you need?
<Jack2123>
JakeSays so you need the teeth but not that shallow diamond pattern on the toroidal surface
<teepee>
dalias: I did not calculate or anything, just 0.2 even looks quite coarse already, where the 0.15 visually makes quite a difference even if the numbers don't show that too much
<teepee>
so basically, just trying what works and looks good
<teepee>
part of it is that I'm usually too lazy to perfectly tweak the printer
<Jack2123>
JakeSays maybe it is best to make a tight fit and let the plastic take shape of that bolt
<teepee>
e.g. no z-probe, just eyeballing the first layer and tweaking the thumb screws a bit
<JakeSays>
Jack2123: no i just need the diamond pattern. thats the part that i dont know how to model
<Jack2123>
JakeSays that is .05mm at best - you will never print that proper - and it will never be any use
lagash has joined #openscad
<Jack2123>
but you can get this with twisting and coutertwisting two objects
<JakeSays>
Jack2123: huh? i just want to have a recess for the mount to sit in
<Jack2123>
jakesays yes just use a torus to make that (but without diamond pattern - which you could get with 2 twisted torus)
<JakeSays>
hmm. Jack2123 i need to understand your lib. it's more than just a collection of utilities, isn't it?
<dalias>
teepee, for 1.25 pitch, i found 0.2 works but 0.16 is a little cleaner. for 1.0 pitch you probably need 0.16 or lower
<Jack2123>
you can hull two scaled([1,.2]) circles() and cut the 3 holes .. round edges with ± offset()
<InPhase>
JakeSays: Generally speaking something like this: https://bpa.st/WYQQ
<InPhase>
JakeSays: Although you'll want to be calculating those values from external parameters most likely. But just as the structure.
<Jack2123>
JakeSays yes but the utilities work with childs so you chain several modules
<teepee>
dalias: it's a 80mm diameter signal lamp, so some of the thread are very big :) I think the smallest is 8mm, so I've set it to 3mm pitch, very relaxed
<teepee>
it very likely would print fine with 0.2mm too
<JakeSays>
InPhase: ah. i always forget about intersection
<JakeSays>
Jack2123: iirc your lib has features that are tuned for 3d printing?
<JakeSays>
teepee: signal lamp?
<InPhase>
JakeSays: I don't know your exact dimensions, but this looks to me pretty close to the shape, and parameterized by the external values: https://bpa.st/2EIA
<JakeSays>
teepee: LOL i have been thinking of building two of those for my garage
<InPhase>
JakeSays: Pay a special mental attention to that offset(x) offset(-x) pattern for rounding external features. It makes certain things a whole lot easier. You can flip it around to offset(-x) offset(x) to round concave features.
<Jack2123>
JakeSays yes but to be honest only two functions have nozzle and layer - but i always have 3D printing in the back of my mind and so the tools try to make printable geometry like containing equal width of a shell on a layer basis
<JakeSays>
InPhase: yeah i really need to study offset better.
<dalias>
teepee, interestingly, the way thread profile works, the overhang angle is always the same regardless of pitch, so the layer height isn't pitch dependent for overhang reasons
<JakeSays>
teepee: LOL dude. me too!
<dalias>
so it just matters for "resolution" reasons -- having sufficient resolution that the tooth doesn't "alias"
<InPhase>
JakeSays: If you subtract roundby from topround then topround will be the exact radius of curvature of the tops and bottoms. In theory you could measure it exactly that way if you didn't want to eyeball it.
<teepee>
dalias: true for spec conform threads :) , but I messed with the parameters, so the angle is 55° even easier to print
<JakeSays>
teepee: although i'm making my own led fixtures
<Jack2123>
layerheight is more relevant for the thread angle so teepee with 65 is easier than a BST with 55°
<JakeSays>
teepee: i'm even using an esp32
<JakeSays>
teepee: but by fixture i meant the thing that holds the ws2812b's (pcb in your case)
<teepee>
JakeSays: I'll probably use the 2 round esp8266 boards i still have from an earlier project, but I want to switch to esp32-c3, still need to make a PCB for that though
<JakeSays>
teepee: i do like the screw idea though. i hadn't thought of that
<teepee>
so with the board, I have now brightness control, homeassistant connection and 2 extra touch buttons in a tiny 3d printed insert at the top of the lamp-foot
<Jack2123>
teepee do you control the brightness with "your" balls ?
<teepee>
no, just switching on and off with the balls :P
<teepee>
so you could say, they are power balls
<JakeSays>
teepee: oh cool! how do you make the board? do you do it yourself or have a service make them?
<Jack2123>
distance wouldn't be usefull for that but the switch could work for dimming too
<teepee>
JakeSays: the link I gave is a PCB fab in EU, a bit similar to oshpark in US, very friendly to small personal projects
<JakeSays>
ah ok.
<JakeSays>
i've been considering making my own pcb printer
<teepee>
e.g. they produce in batches of 3 boards and you can easily upload the KiCAD file and fill out the BOM with parts they ship along with the PCB order with free shipping (at least here in germany)
<Jack2123>
i think you can use a resin LCD printer for making PCBs very nicely
<JakeSays>
i found a ender 3 mod that replaces the hot end with a laser capable of fusing the photoresist
<InPhase>
teepee: What do you pay for a batch of 3?
<teepee>
that order for 3x the 46mm round PCB + parts was 10€ PCB, and 12€ parts (21 mosfets + free handful of resistors and caps), so total of 22€ for 3 boards with partial parts seems totally fine to me
<InPhase>
Not bad.
<teepee>
I don't see me doing PCBs at home again.
<JakeSays>
teepee: why?
<Jack2123>
cuz you will not get the quality
<teepee>
for a larger number of boards, or bigger boards, JLCPCB is also cool, they support DDP incoterms which is awesome as I hate messing with customs :)
<Jack2123>
with multilayer through hole dias and solderstop mask and the solder mask
<InPhase>
JakeSays: I bet you can't even do one of them fast enough to make it less than 10€ of time. Getting a batch of three you get your one plus some spares.
<InPhase>
The only downside is a delay.
<JakeSays>
InPhase: yeah it's the delay that gets me
<teepee>
don't forget the combined part ordering, this is an awesome timesaver too
<teepee>
unless you really have *everything* in boxes already :)
<InPhase>
teepee: Speaking of which, what's the time delay from order to receipt on a batch of three like that?
<teepee>
for the cheaper option, it's 6-8 days IIRC
<teepee>
at some point it was even free ENIG, but now it's only HASL, but so far that's fine
<InPhase>
Could be a little better, could be a lot worse, but that's not bad.
<Jack2123>
waiting for the 3Dprinter that integrates circuits and components
<lf94>
Jack2123 yea I stopped the calendar, too many of them are just balls or cube unions XD
<JakeSays>
teepee: for example, i have this project: https://pasteboard.co/GgjRjyXu2k2P.jpg - i just need a pcb to mount those four microcontrollers. there's no other components. it'd be nice to be able to make it at home.
<Jack2123>
lf94 nah if you look closely they are all just triangles
<JakeSays>
teepee: i have some of those, but they're so messy
<JakeSays>
lol well, maybe they're supposed to be.
<teepee>
InPhase: for slightly higher price, you get 2 days production I think
<teepee>
JakeSays: why? with a reasonable positioning, it just needs a couple of bridges which is easy to do
<JakeSays>
teepee: i can never get the damn solder to stick between the holes
<teepee>
I guess it looks messy to some people, but it really just takes a little bit extra solder
<teepee>
generous application of 1mm solder works fine :)
<Jack2123>
so i like my new 3mf button .. do we get a .png button - maybe as 2D option? (ctrl shift C is also cool)
<JakeSays>
well, this is certainly a simple board - just power, I2C, and two interrupt lines
<JakeSays>
the breadboard has been working fine for months but it's not a long term solution
<Jack2123>
JakeSays there are 0Ω smd "resistor" to bridge nicely
<JakeSays>
Jack2123: or just solid core copper wire. lol
<Jack2123>
jakesays which cant be used to go over a circut
<JakeSays>
Jack2123: what?
<Jack2123>
(sure with insulation)
<JakeSays>
it'd be no different than using solder
<Jack2123>
yes but the smd 0Ω can be used to cross an circuit
<JakeSays>
right
<JakeSays>
i get that
<JakeSays>
but with pegboard you usually don't cross traces
<Jack2123>
but with kynar you can do this aswell
<JakeSays>
what's kynar
<Jack2123>
a plastic that doesn't melt when soldering
<JakeSays>
that'd be convenient
<Jack2123>
bit like kapton (polyimid)
<JakeSays>
also it'd be convenient if i could just print the damn thing out of plastic
<JakeSays>
but that conductive filament is so expensive
<InPhase>
Wasn't the resistance pretty high on that stuff too?
<InPhase>
Or did they sort that out?
<JakeSays>
the expensive stuff is like .06 ohm/cm or something
<Jack2123>
and for sure you will not be happy with the results ..
<Jack2123>
it is better than other but still 100× less compared to copper
<JakeSays>
i read about some 'ex ms engineer that developed graphene based filament with excellent conductive properties, but it appears he went out of business a few years back
<Jack2123>
so a 10 cm trace will be 6-20Ω
<InPhase>
JakeSays: Well that's not copper, but it's a lot better than 15.
<Jack2123>
but the connection is the biggest issue here
<JakeSays>
InPhase: right
<JakeSays>
Jack2123: well, a 10cm trace would be .6 ohm
<InPhase>
15 ohm cm like I initially saw is basically unusable except in very low voltage circuits. You can't have that kind of resistance in a thermoplastic wire. :)
<Jack2123>
jakeSays no you misread the conductivity .. or yes if your printed circuit has 1cm² profile
<JakeSays>
Jack2123: ah yeah i did misread. it's actually .006 ohm/cm
<InPhase>
It seems there are some surface effects they are experiencing which are quite significant. This is the reason they are using the silver paste. I bet the conductive parts of the filament migrate inward from the surfaces as it cools, which causes the layers to not conduct as well, and causes the contact issues they mention.
<InPhase>
They might not have understood the issue they are experiencing fully, but they do a respectable job there of documenting its nature.
<JakeSays>
i'd love to use it for mounting ws2812b's, just like in their pics
<Jack2123>
normaly Ωm is used - but they using cm so it is not directly visible how much worse it is to copper
<Jack2123>
so for a mm² trace you get 0.6Ω per cm
<InPhase>
cm is a fine unit for this. But the whole notion of an area cross section falls apart a bit when it's directionally asymmetric.
<JakeSays>
my thinking is that i'd use bare copper wire for power rails and then use the filament to connect the leds to the power and signal lines
<InPhase>
I bet an extra hot print temperature or a high heat enclosure improves the conductivity with this filament.
<InPhase>
If you can remelt layers as you spew the next one on top, it might resolve that layer-layer issue a bit.
<JakeSays>
but it's $196/100g
<InPhase>
At that point I would consider investing in a solder-printer.
<InPhase>
This has to be possible.
<InPhase>
It already comes in filament shape.
<Jack2123>
inphase every material in science is expressed with Ωm
<InPhase>
All we need is a 450C extruder nozzle temperature going on, and I guess some sort of... ceramic nozzle? Will it stick to hot ceramic?
<InPhase>
Jack2123: Sure, SI units and that is also important for long distance conduction.
<InPhase>
s/SI units/SI base units/
<JakeSays>
InPhase: a solder printer.. that really shouldn't be too difficult
<JakeSays>
InPhase: you could use a metal nozzle
<Jack2123>
solder printing i very difficult due to the conductivity .. but there are systems with laser
<InPhase>
JakeSays: Well solder loves to stick to every hot metal surface.
<Alicia>
some solders melt around the same temperatures as PLA. I think the problems people who tried it faced was getting it to stick and stay put (not just clinging onto the nozzle and pooling)
<InPhase>
JakeSays: You don't want it flowing up the nozzle. :)
<JakeSays>
InPhase: true
<InPhase>
JakeSays: Or maybe you just accept that, let it cover it, and then keep printing?
<othx>
Jack2123 linked to YouTube video "Make plastic printed circuits with a standard laser cutter" => 1 IRC mentions
<Jack2123>
jakesays just look how many have dual extruder .. and you still need to connect components .. easier to embed wires or leave channels to put a wire in later
<JakeSays>
Jack2123: i don't understand the dual extruder bit.
<JakeSays>
and being able to print the wires allows for some very creative shapes
<JakeSays>
yeah i read that
<Jack2123>
if you wanna print something with traces you need a second head for the soldering part or filament
<JakeSays>
yes
<JakeSays>
which isn't an issue
<Jack2123>
it is, you sure can get a solution for yourself but no community adapting to it - it is like the industrial printer that need special material to be worse at higher price (but reliable)
<JakeSays>
well, i'm not trying to build a community. i'm trying to create solutions for myself
<JakeSays>
i never approach these kinds of things from a community standpoint. i solve the problem, and then if it has wider applicability then great
<Jack2123>
without community you will not have slicer support or a design software for it.
<JakeSays>
oh that's not true.
<Jack2123>
JakeSays you are mid twenty or younger?
<JakeSays>
Jack2123: i'm 54
<Jack2123>
haha ok sorry
<JakeSays>
lol
<Jack2123>
i had those ideas when i was twenty and then realized i can't build everything on my own
<Jack2123>
i had a cnc solution that was so special - even i couldn't use it without re learning after some years not using it
<JakeSays>
Jack2123: but these days there's soooo much pre-existing work to start from. there are slicers that can be modified, etc.
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
<JakeSays>
hell if i had what's available today when in was in my early 20's i'd be a much different man.
<Jack2123>
yeah todays possibilities -- the sadder seeing youth today hooked up on tiktok/insta/yt
<JakeSays>
ugh. sooo true
<juri_>
what, someone else wants to write a slicer?
<teepee>
:)
<juri_>
I hope you like being up to your eyeballs in "what the fuck is this type of math called again?".
<JakeSays>
juri_: i didn't say write - i said change :p
<JakeSays>
although i think writing one would be a lot of fun
<juri_>
JakeSays: oh. nevermind then. :)
* juri_
whistles quietly, and walks slowly away.
<teepee>
JakeSays: just to clarify context, juri_ *is* working on a slicer
<Alicia>
I started working on one for fun. no particular goal in mind. but then I got stuck and it stopped being fun
<JakeSays>
ah. haskell. my brain just exploded.
<juri_>
projective geometric algebra, and haskell. my brain has exploded in at least four dimensions.
<JakeSays>
LOL
<juri_>
I think i'm getting the hang of it, tho. :)
<InPhase>
JakeSays: Because lasers are typically a very electrically inefficient way to heat things, and it actually takes a lot of extra steps to make lasers safe. When you have lasers that can melt things, they can blind people literally in the blink of an eye.
<InPhase>
JakeSays: These are fine for industrial use but it's not something you can sell in kit form to an average consumer and expect no consequences.
<JakeSays>
InPhase: yeah but they're so cool. lol
<InPhase>
JakeSays: Until they hit the plastic.
<InPhase>
Or retina. :)
<InPhase>
Then it gets hot real quick.
<JakeSays>
yes. i am aware.
<InPhase>
I melted some holes in glass in the lab as well.
<JakeSays>
juri_: how well does your slicer work?
<InPhase>
Attempting to use it has no side-effects.
<juri_>
:D
<juri_>
JakeSays: poorly! :)
<JakeSays>
lol well that's a start
<juri_>
I chose a path that led through some unsolved math.
<juri_>
because writing a slicer wasn't hard enough.
<JakeSays>
is there something that will give your slicer an advantage over others?
<juri_>
higher precision, and the ability to slice off-axis alignment.
<InPhase>
juri_: Do you mean you're embedding support for non-planar slicing?
<juri_>
so it can easily handle 3 axis printing.. and 3 linear axis + three rotational axis.
<juri_>
yep.
<InPhase>
juri_: Well then if you get it working I will be thoroughly impressed.
<JakeSays>
what's the advantage with non-planar slicing?
<juri_>
so will I. :)
<InPhase>
I would have already been impressed, but we can add thoroughly.
<InPhase>
JakeSays: Curved top surfaces can be made perfectly smooth.
<juri_>
JakeSays: think: not printing overhangs, and instead, printing on the side of an object.
<InPhase>
And that.
<juri_>
all kinds of cool stuff.
<InPhase>
You have to specify the angular clearance each extruder nozzle tip has before it slices to do this.
<JakeSays>
so i could have a 5 or 6 axis printer?
<InPhase>
JakeSays: You just move in the 3 axes at once.
<juri_>
that's the plan.
<JakeSays>
juri_: that would be VERY cool
<InPhase>
It has been done with some hacked up approaches.
<JakeSays>
juri_: so.. when will you be done :D
<InPhase>
But this will be a pretty different approach to it.
<juri_>
it's been two years to get this far.. but i can see the light at the end of the tunnel.
<juri_>
maybe next christmas.
<juri_>
I'm on the downhill part.
<JakeSays>
if you get it working i'll build a printer for it
<InPhase>
It should work on standard printers if you just make sure there's clearance around the nozzle.
<InPhase>
Sometimes a longer nozzle tip is all you need.
<juri_>
it should be a solid step in improving everyone's printing setup..
<InPhase>
You can do a double-whammy and install metal hot ends which are extra long, and get non-planar slicing and better filament choices all in one, at the expense of a few centimeters in print height.
<JakeSays>
honestly i'd rather build an N-axis printer
<juri_>
but the math takes a LOT of time.
<JakeSays>
juri_: brain time or cpu time?
<juri_>
I haven't optimized it yet (just making it work), but i have parallelized it.
<juri_>
CPU time.
<JakeSays>
ah
<JakeSays>
perhaps some of it could be offloaded to a gpu, etc
<JakeSays>
but parallelizing is a excellent start
<juri_>
i can do some simple shapes already.. and a 1cmx1cm cube takes me 3.5 seconds to slice... with 56 cores. :)
<JakeSays>
LOL
<JakeSays>
is haskell part of the performance problem?
<InPhase>
Yep, let's hear it. I gather Haskell can be made pretty efficient, but I bet that comes with some structural choices that might not be clean.
<juri_>
I think it's part of the solution, but.. i had to write a projective geometric algebra library, and i haven't really tuned it.
<juri_>
when i'm working on this, it's very much make something work, and move on. there are a LOT of parts to complete.
<JakeSays>
i'm not a functional person, but it's always been my understanding that functional languages can have performance issues
<JakeSays>
juri_: oh sure
<juri_>
I built a machine with 56 cores, and 256 gigs of ram. i'll just attach a REST interface to it at first.
<juri_>
that's what my current modeler runs on.
<JakeSays>
dang. that's a beast!
<juri_>
it sits mostly idle. code to write...
<JakeSays>
bah. i upgraded msedge the other day and it changed itself to the default browser.
<JakeSays>
if ms wants to be an ass on windows, fine, but i'm on linux.. doing stuff w/o my consent is just WRONG
paddymahoney has quit [Ping timeout: 256 seconds]
<Jack2123>
juri_ did you calculate the filament by path or actual area of the line?
<juri_>
to start with, i place ideal lines on a 2D surface. thickness is added in a post-processing step.
<Jack2123>
i am asking as i wonder if someone will make a slicer that can not just do adaptive layer but also adaptive line width
<juri_>
hmm. what for?
<Jack2123>
one is it would save time and you still have detail .. like a .4 nozzle can easy print .6 or .8 lines
<teepee>
.6 yes, I doubt the .8 except maybe once on a bigger flat surface :)
<teepee>
did you do that?
<juri_>
hmm. that's a fair point.
<teepee>
I tried long time ago with my g-code generator and .8 did not work well
<Jack2123>
then you could have overlapping by creating some wavy width or just alternating smaller and wider each layer to get some interlock
<juri_>
i'm not going in that direction, tho. i'm doing adaptive layer heights first.
<Jack2123>
i print .6 with a .2 nozzle
<teepee>
it might depend on the nozzle though, the Ultimaker nozzle was pretty sharp
<juri_>
there "should" be adaptability there. there's a lot of work still to be done.
<juri_>
patches welcome. :)
<Jack2123>
if you are not using airbrush nozzles .. even then it squeezes out
<juri_>
or, at the least, issues. i'd like some deep thought in issues for me to close.
* juri_
files a placeholder.
M6piz7wk[m] has joined #openscad
ur5us has joined #openscad
lastrodamo has quit [Quit: Leaving]
ur5us has quit [Ping timeout: 240 seconds]
ur5us has joined #openscad
<teepee>
hmm, the 0.2mm thread looks surprisingly messy, but still works fine
<teepee>
I probably have the temperature a bit high
<InPhase>
juri_: Intuitively I'd expect slicing (even adaptive slicing) to take 10-50 times less computational power. There are probably some big beastly chunks of overhead that you can hack out of there later.
<InPhase>
Apparently it does. That's a defect in the built-in editor's highlighting. Some vestigial code is treating those like comments, which they are not.
<M6piz7wk[m]>
it's in the OpenSCAD software
<M6piz7wk[m]>
2021.01.. i guess outdated?
<InPhase>
I hadn't noticed since I usually edit with an external editor, where the highlighting stays.
<ccox>
yep, it's a bug. InPhase is just agreeing.
<M6piz7wk[m]>
Ah i see
<InPhase>
No, the highlighting bug you found is still there in the latest codebase version.
<teepee>
more a missing feature
<InPhase>
It's a proper bug.
<teepee>
as there's no openscad highlighting, only C++
<M6piz7wk[m]>
what editor btw? I was hoping i could use emacs or develop those in FreeCAD that has emacs in terminal
<teepee>
which obviously does not match 100%
<teepee>
you can use any editor and let the OpenSCAD app just do the preview
<M6piz7wk[m]>
Ehh how does that special mode works? I was hoping for something more integrated where emacs has the preview, but lacks the ruller and stuff
<InPhase>
Jack2123: It's old, but still works fine.
<ali1234>
there is a plugin for jetbrains IDEs that i have used before
<InPhase>
M6piz7wk[m]: It doesn't embed the preview in the editor. You run them side by side.
<ali1234>
it isn't great but the highlighting mostly works
<M6piz7wk[m]>
oke O.o
<InPhase>
M6piz7wk[m]: The OpenSCAD window with its built-in editor hidden is basically just a preview window and a status window at the bottom, so you make it half-screened and the editor of your choice half-screened.
<M6piz7wk[m]>
i see
<Jack2123>
i want TODO highlighting
<Jack2123>
is there a way to influence the highlighting on the built in editor?
<Jack2123>
haven't seen any config file
<M6piz7wk[m]>
ehh does adding the debug add any transformation the the object? It seems to have an unexpected padding around the object
ur5us has quit [Remote host closed the connection]
ur5us has joined #openscad
<ccox>
ok, that option didn't work.
ur5us_ has joined #openscad
ur5us has quit [Ping timeout: 240 seconds]
<Jack2123>
teepee besides that i can not just create a new keyword-set4 .. my change is working with visual studio but not the other color schemes (but there are no keywords defined) what am i doing wrong?
<teepee>
if not defined, it just uses the default from code
<teepee>
the keyword sets are defined by the lexer in QScintilla, so not possible to just change those
<Jack2123>
ah so i just add keywords in the color scheme i use..
<teepee>
yes, or copy the file to the local config folder and select in preferences
<teepee>
then it survives even full re-install :)
<ccox>
OpenSCAD defines it's own keywords, but some of the CPP lexer still leaks through.
<ccox>
working on it now.
<teepee>
I'm not sure it can be hidden completely, there's an old PR from GSoC that tried using a fully separate lexer which probaly would provide a better solution
<teepee>
but it's also a much bigger change
<ccox>
yes, it is (also reading up on that part)
<teepee>
I suppose the even better thing would be re-using the normal parser, but I don't know how that would fit into the current logic
* Jack2123
is getting his own color scheme with lib module highlighting - Ü hypf
<M6piz7wk[m]>
Is there anything i can do about these rendering overlaps? It's messing up my accuracy
<Jack2123>
M6piz7wk[m] it is called Z-fighting .. just make the objects .01 bigger
<M6piz7wk[m]>
that's making the code ugly :/
<Jack2123>
M6piz7wk[m] you an put render() in front
<M6piz7wk[m]>
in front of what? the translates?
<Jack2123>
M6piz7wk[m] : there is not much choice if two faces are on the same distance in preview
<Jack2123>
render() will not use the preview render to display - but the real geometry so z-fighting is eliminated
<Jack2123>
but you also loos colors for objects beyond the render()
<M6piz7wk[m]>
i see, but i don't want to force render there
<Jack2123>
you can't wash without getting wet
<M6piz7wk[m]>
or like is this even recognized as an issue? Usually CAD software adds the offset by itself for the render to show correctly in my experience
<Jack2123>
you can do that +($preview?.1:0)
<M6piz7wk[m]>
+($preview?.1:0) how?
<Jack2123>
cube(10 +($preview?.1:0));
<M6piz7wk[m]>
like in settings or somewhere in the file?
<M6piz7wk[m]>
oh that will add bloat to the code though -> ugly
<Jack2123>
write a function for it and put it into a library
ur5us_ has quit [Ping timeout: 240 seconds]
<Jack2123>
so you can define your own module cube() that is moving the cube a little in preview
<M6piz7wk[m]>
meh that would basically require making a wrapper for difference which would be a bad practice.. i could possibly contribute it upstream though
<M6piz7wk[m]>
or like does this have any function in the design ?
<ali1234>
the problem is you cant automatically know whether the user wants things a little bit bigger or a little bit smaller without rendering
niyawe has quit [Quit: niyawe]
<M6piz7wk[m]>
oh it's not visible in render i see
<M6piz7wk[m]>
also i can? that's what the logic for variable is for or?
<Jack2123>
M6 the question is why is your design ugly and you have two faces on the same plane