Joel has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
Joel has joined #openscad
Andy-pants has quit [Remote host closed the connection]
Andy-pants has joined #openscad
Andy-pants has quit [Ping timeout: 276 seconds]
Andy-pants has joined #openscad
<Andy-pants>
Is there a generally accepted practice as where to place models in the XYZ system? I generally tend to place the model so the bounds of the model are coincident with the X,Y, and Z planes. This is primarily so that all geometry is in the positive direction for each axis
GNUmoon has quit [Remote host closed the connection]
<InPhase>
Andy-Pants: It depends on the model. Most often I bottom out the model at z=0 for anything to be printed, so that I can keep mental track of the build plate location across the whole design. Then I center at the xy origin for designs with significant radial symmetry, but I tend to stick a corner at the xy origin for more rectangular type objects.
GNUmoon has joined #openscad
<InPhase>
Andy-Pants: Overall I'm always building up components at the origin anyway, so the whole-part positioning is just about the high level layout and general symmetry of the item.
<Andy-pants>
InPhase: That makes total sense. I always "bottom" them out on Z regardless. And, I also prefer to construct subcomponents at the origin then translate/rotate them where they belong
<InPhase>
Andy-Pants: This scad file of mine is a good example of another edge case. https://www.thingiverse.com/thing:4041401/files With the demo turned off, the straight tracks appear centered at x=0, base aligned with y=0, but with the connector tab protruding into -y, because the connector tab is not the alignment piece. The curved tracks are out at the x position corresponding to their radius.
<InPhase>
Andy-Pants: I had the demo layout in mine from the moment I started designing the pieces, so they are naturally aligned where they need to be for the demo to be simple to write.
<InPhase>
s/in mine/in mind/
<Andy-pants>
Ahh, that makes sense
<InPhase>
So in summary, keep it flexible and adapt to the abstraction of a positional anchor that's most useful in each case. :)
<Andy-pants>
It'd be silly to have to throw a `-tab_length` into every translate when trying to align
Ckat has quit [Ping timeout: 255 seconds]
<Andy-pants>
and, that further compounds as the number of track pieces increases
Ckat has joined #openscad
fling has quit [Remote host closed the connection]
<JordanBrown[m]>
Andy-Pants: like InPhase says, one of the first things that I think about in a model is where the natural zero point and natural orientation are for this model. If it's symmetric in some axis, then usually I put the center in that axis on zero. If Y isn't symmetric, where on the object do I think of as "the front"? That goes at Y=0... even if some parts protrude into -Y.
<JordanBrown[m]>
A car, for instance, might be kind of awkward: the car is mostly left-right symmetric. I would probably want to measure positions along the length of the car from the front, and I would probably want the (American) driver's side on the left. These suggest that the left-right center of the car is at X=0, the driver's side is in -X, the passenger's side is in +X, and the body of the car is in -Y. Would I really do that, working
<JordanBrown[m]>
primarily in -Y? Maybe. Or I might turn it around so that the car is facing me and is in +Y, but then the left-right is backwards.
LordOfBikes has joined #openscad
<InPhase>
I would always do a car facing positive y, because then translating it in x gives me a standard right-handed rotational coordinate system with increasing angles moving the car forward in a circle.
<InPhase>
Well. Sometimes I might design facing positive x, if some other thing has me thinking in that direction. But then I'd wrap and reorient to positive y before doing any animation dynamics. :)
<JordanBrown[m]>
Yeah, I'd probably either work in -Y, or measure from the back and work in +Y. Either way, I'd cringe a bit.
J23a7798 has joined #openscad
banachtarski has quit [Remote host closed the connection]
banachtarski has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
J23a77 has quit [Ping timeout: 260 seconds]
TheAssassin has quit [Remote host closed the connection]
<Guest19>
when we register the dell new model laptop but show this cannot find disk on system
TED[m] has quit [Quit: You have been kicked for being idle]
ur5us_ has quit [Ping timeout: 248 seconds]
ToAruShiroiNeko has quit [Ping timeout: 248 seconds]
ToAruShiroiNeko has joined #openscad
noonien has joined #openscad
fling has quit [Ping timeout: 255 seconds]
fling has joined #openscad
guso78 has joined #openscad
<guso78>
teepee in openscad MainWindow.cc instanciates the OpenCSGRenderer and the ThrownTogetherRenderer. Both of them use Renderer and each of then compile and link a GLSL program even though there is only one OpenGL resource available.
<guso78>
right now it appears to work because the program and the variable handles are identical, but its definitely not nice. just noticed because i still look for a bug with my textures.
castaway has joined #openscad
banachtarski has quit [Remote host closed the connection]
banachtarski has joined #openscad
LordOfBikes has quit [Ping timeout: 250 seconds]
TheAssassin has quit [Ping timeout: 255 seconds]
LordOfBikes has joined #openscad
TheAssassin has joined #openscad
fling has quit [Remote host closed the connection]
fling has joined #openscad
L29Ah has quit [Read error: Connection reset by peer]
snaked has quit [Quit: Leaving]
Andy-pants has joined #openscad
Mcgiwer_sleeping is now known as Mcgiwer
<Mcgiwer>
Hey all
<Mcgiwer>
guso78 I tryed to use the for loop as you had suggested, but for any reason it seem to don't be working. I had even checked the documentation for the usage (even had copied the code from it for testing) and don't know why, the for loop wasn't working
<Scopeuk>
Mcgiwer it might be worth sharing the code you are using for people to take a look at
<Mcgiwer>
ok, moment. I need to do a pastebin of it
<Mcgiwer>
sorry of typo's in form of missing semicllon's
<Andy-pants>
Mcgiwer: What are you trying to do? And what's the issue you're running into?
<Andy-pants>
Syntax errors?
<Mcgiwer>
I'm trying to add hollow spaces on the narrow side of the cylinder one next to another, with given distance from each other
<Mcgiwer>
I had tryed to use a for loop like guso78 had suggested, but it doesn't seem to work somehow
<Mcgiwer>
note: the distance in between each hollow should be counted as: given degree from the middle hole of the wide cylinder
<Andy-pants>
Ok, first and foremost is fixing the syntax errors with what you sent. Here's the fixed code. https://pastebin.com/uuaPtzwi There was a missing semi-colon on line 5, and rotate and translate should take a single argument of a 3 component array [x, y, x]. (line 16 & 17)
<Mcgiwer>
yea, I had noticed the missing semicollons after sending the pastebin
<Andy-pants>
So, if I understand correctly, you're looking to add more holes that run between the flat faces of the shape, between the large hole and edge of the piece?
ToAruShiroiNeko has quit [Ping timeout: 264 seconds]
<Andy-pants>
Awesome. So, a tip for the future. If you weren't away, you can add a `#` before a module (e.g. `#cylinder(d=1,h=w+1);`) to highlight that specific module in the model.
<Mcgiwer>
thanks for the tip. I will do that ;-)
<Andy-pants>
And, when debugging something like this, I suggest building the problem up. So, start with getting a single hole in the model where you'd like (without a loop). Then, since the angle is the independent variable. Put different values in for the angle of rotation to see if it's positioning correctly. Then wrap it in a loop where the angle is generated based upon the index of the loop.
ToAruShiroiNeko has quit [Ping timeout: 250 seconds]
<Mcgiwer>
it's what I had done... the above the loop is the visible hole
<Andy-pants>
Awesome. Great work! :) So, the hole being created at line 11 is correct?
<Mcgiwer>
Andy-Pants I think it's created in the lines 11 to 13
<guso78>
mcgiver you usesd "angle" parameter in translate. is it your intenntion ?
<guso78>
if your cylinders dont cut with the body, they are probably placed in the wrong position
<Mcgiwer>
guso78 I attempted to make the hole distance become shifted thru given angle
<Andy-pants>
Mcgiwer. Got it. But, that hole is correct? You just want to make more like it around the outside of the cylinder?
ToAruShiroiNeko has joined #openscad
Guest19 has quit [Ping timeout: 260 seconds]
<Mcgiwer>
the hole before the loop is correct and it's a hollow and not hole ;-)
<Andy-pants>
Good point :)
Guest39 has joined #openscad
<Mcgiwer>
and yes, they need to be in the place like the one visible, but shifted from each other thru the given angle from the middle of the wide side of the cylinder
<teepee>
range = function(start, end) [start:end];
<Mcgiwer>
Andy-Pants yes
<guso78>
ahh , nice 'alias' :)
<teepee>
and you can sort parameters as you like
<Mcgiwer>
Andy-Pants but as I had mentioned before, the holes need to be place in exact distance from each other, with would be set thru the angle parameter, with would be counted from the middle of the wide cylinder
<Mcgiwer>
(like on the drawing I had send before)
<guso78>
teepee, with this "function" you probaly cant use the ':' anymore ...
<Andy-pants>
okie. Here's the code which generated that. https://pastebin.com/xw3rP1iP. I took the previous iteration, dropped the double rotated in the loop, and used the angle as the increment to eliminate the need to calculate the angle within the loop
<Mcgiwer>
Andy-Pants it's almost perfect, but it did holes instead of hollows ;-p
<Andy-pants>
But, the comment on line 5 clearly says they should be holes! XD "// angle in bewween side holes"
<buZz>
whats the difference between a hole and a 'hollow' ?
<Andy-pants>
One goes through a shape, one doesn't?
<Mcgiwer>
because I had forgotten to replace it to "hollows" ^^
<Andy-pants>
So, at this point, It would be a matter of correctly sizing and positioning the cylinder that's used as the template for the for loop.
<buZz>
oh you mean like a hole vs a throughhole?
<Mcgiwer>
buZz hole is done thru to the middle and hollow is a few centimeter / inch, etc. deep
<guso78>
i am too stupid. whats the difference between hole and hollow. neither wikipedia nor dict.leo.org helped me ....
<buZz>
if i dig a hole in the ground outside, its not a 'hollow' if i dont dig it to australia :D its just a hole
<buZz>
guso78: i guess something non-english :P
<Andy-pants>
Let's just call it a cavity and call it a day ;)
<guso78>
haha, got it now:) haha
<buZz>
:)
<buZz>
its already a day, Andy-Pants
<guso78>
in german its "sackloch" ?
<Mcgiwer>
anyway, any ideas how to make the holes less deep ?
<buZz>
translate em out?
<Andy-pants>
Of course the Germans would have a word specifically for a blind hole! <3
<guso78>
haha, move the origin of the hole start
<Andy-pants>
McGiwer: One thing I'm really having a hard time grasping is what determines the angle of the hollow relative to the tangent of the curved surface
<Mcgiwer>
yes, that's a problem as well to solve
<Andy-pants>
Also, what depth? And where is it measured from?
<Mcgiwer>
the deep of each hollw is only few centimeters (can be set as different variable if needed)
<Mcgiwer>
by the way, I had experimented a bit and had added a additional rotate, with did an unexpected result by converting the expected draeing into a yoyo :D
<Mcgiwer>
^drawing
<Andy-pants>
Here's what I suggest: 1) Create a cylinder that's 2x the depth of the hollow (assuming depth would be measured from the tangent point on the curved surface), centered at the origin 2) rotate the cylinder so it's "flat" on the x axis 3) rotate the cylinder on z the number of degrees that it should deviate from the tangent of the face of the curved surface 4) translate it so the center of the cylinder is at the curved
<Andy-pants>
surface 5) rotate it to the proper angle
<Mcgiwer>
sounds reasonable, but I'm just started to learn to code in OpenScad (and there is still long way before me in it ;-) )
<Mcgiwer>
Thanks. I will check it after returning from dinner :-)
<Andy-pants>
Be mindful that you'll need to remove the modifier characters
<Andy-pants>
(% and #)
<Mcgiwer>
ok
<Andy-pants>
Also, I now realized that I midlabeled the `tangent_angle` variable. That is the angle relative to a line segment running from the center to the surface (observing the right hand rule)
<Andy-pants>
If you'd like me to break down what's going on in that source file. PM me later, so that I won't miss the message.
<Scopeuk>
it's impressive, the docker update also appears to ahve got the windows build up and running on circle ci, I might have to have a play at some point
oldlaptop has quit [Ping timeout: 256 seconds]
oldlaptop has joined #openscad
oldlaptop has quit [Ping timeout: 246 seconds]
oldlaptop has joined #openscad
little_blossom has quit [Ping timeout: 260 seconds]
banachtarski has quit [Remote host closed the connection]
banachtarski has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Mcgiwer has quit [Quit: Ping timeout (120 seconds)]
Mcgiwer has joined #openscad
Mcgiwer has quit [Quit: Client closed]
Mcgiwer has joined #openscad
<teepee>
Scopeuk: but the windows build would be without TBB so not much parallel processing I suppose
splud is now known as chatgpt
chatgpt is now known as splid
splid is now known as splud
Mcgiwer has quit [Quit: Client closed]
Mcgiwer has joined #openscad
Mcgiwer has quit [Quit: Client closed]
Mcgiwer has joined #openscad
J23 has quit [Quit: Client closed]
J23 has joined #openscad
Andy-pants has joined #openscad
JakeSays has joined #openscad
Andy-pants has quit [Ping timeout: 250 seconds]
ur5us_ has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
Guest60 has joined #openscad
Guest60 has quit [Client Quit]
<Mcgiwer>
Hello. Andy and I tryed to solve the mentioned by me earlier design problem and we got until now to following result (with still isn't what it should be). I pastebin the code: https://pastebin.com/FnUhyx8X
<Scopeuk>
teepee I thought that got added to the docker image, the compilation on circle ci was fixed
<teepee>
I merged the PR but the images need to be rebuilt still
<teepee>
I think ochafik disabled tbb for now
<Mcgiwer>
Things that need to become fixed:
<Mcgiwer>
* on the side should be hollow's instead of holes and it depth shuld be dependant from the "hollow_depth" variable
<Mcgiwer>
* the "hollow_depth" variable should change the hollow deep and not (as now) to change it width
<Mcgiwer>
* the hollow angle should be editable thru a variable
<Mcgiwer>
it's all what it was able to be done with it till now
Andy-pants has joined #openscad
L29Ah has joined #openscad
J23 has quit [Quit: Client closed]
J23 has joined #openscad
<Scopeuk>
teepee I convinced myself I saw it say it was pulling a new image. I get a bit lost in the ci
<teepee>
well, it's actually confusing :)
<teepee>
I believe we had to disable the auto-builds as they take like 6h and circle-ci introduced a 1h cap
<teepee>
if I'm seeing that right, manifold is currently completely disabled for windows builds
<teepee>
if the build goes through over night maybe that can be solved tomorrow already :)
<teepee>
surprisingly the AppImage update to 20.04 seems to go without much fuzz
Andy-pants has quit [Ping timeout: 268 seconds]
banachtarski has quit [Remote host closed the connection]
banachtarski has joined #openscad
snaked has joined #openscad
splud is now known as chatgpt
chatgpt is now known as splud
<Scopeuk>
Yeh it looks like the circle ci config has manifold disabled looking into it. It would be nice to have a controlled supplemental runner for circle ci that could be dropped into the pool as and when, not sure how difficult that is to pull off
<teepee>
how do you mean. like private / self-hosted runner?
<teepee>
whops, updating the mxe images to bullseye did fail in a quite spectacular way
<Scopeuk>
teepee yeh something self hosted that could handle the big infrequent stuff
<teepee>
so far it's not hugely critical as we don't change the build env very often
<teepee>
like I rebuild the images once a year or so :)