discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Rotating 3d object

W
woodslanding
Fri, Nov 22, 2019 7:49 PM

I am trying to create a shape that represents the space swept by moving a 3d
object around a hinge point.
http://forum.openscad.org/file/t2632/rotate3Dobject.png

I cannot figure out how to create this with 2D rotate_extrude operations....

Thanks in advance!
-eric

--
Sent from: http://forum.openscad.org/

I am trying to create a shape that represents the space swept by moving a 3d object around a hinge point. <http://forum.openscad.org/file/t2632/rotate3Dobject.png> I cannot figure out how to create this with 2D rotate_extrude operations.... Thanks in advance! -eric -- Sent from: http://forum.openscad.org/
HL
Hans L
Fri, Nov 22, 2019 7:52 PM

Looks to me like sweeping that 3D object around in that way would just
result in a cylinder, maybe with a small lip?  Not clear why exactly you'd
want that.

On Fri, Nov 22, 2019 at 1:36 PM woodslanding temiqui@gmail.com wrote:

I am trying to create a shape that represents the space swept by moving a
3d
object around a hinge point.
http://forum.openscad.org/file/t2632/rotate3Dobject.png

I cannot figure out how to create this with 2D rotate_extrude
operations....

Thanks in advance!
-eric

--
Sent from: http://forum.openscad.org/


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Looks to me like sweeping that 3D object around in that way would just result in a cylinder, maybe with a small lip? Not clear why exactly you'd want that. On Fri, Nov 22, 2019 at 1:36 PM woodslanding <temiqui@gmail.com> wrote: > I am trying to create a shape that represents the space swept by moving a > 3d > object around a hinge point. > <http://forum.openscad.org/file/t2632/rotate3Dobject.png> > > I cannot figure out how to create this with 2D rotate_extrude > operations.... > > Thanks in advance! > -eric > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
W
woodslanding
Sat, Nov 23, 2019 7:50 AM

the part has to be cut out such that the movement doesn't interfere with it.

I didn't give enough detail, sorry, but I approximated it, and it works.

--
Sent from: http://forum.openscad.org/

the part has to be cut out such that the movement doesn't interfere with it. I didn't give enough detail, sorry, but I approximated it, and it works. -- Sent from: http://forum.openscad.org/
KT
Kevin Toppenberg
Sat, Nov 23, 2019 12:04 PM

I would try something like this.

widget();

module widget() {
//pivot_offset = 2;

for (angle=[0:1:90]) {
rotate([0,angle,0])
//translate([-pivot_offset,0,0])
angle_bracket();
}
}

module angle_bracket(len = 50, thick = 3, arm_len = 15) {
cube([len, arm_len, thick]);
cube([len, thick, arm_len]);
}

However, If you want a cylindrical shape, then I would recommend starting
out by using cylinders.  If you zoom in, the rim of the above object has
jagged edges.  I guess you could change the angle to 0.1 to make the jagged
parts smaller.

Kevin T

On Sat, Nov 23, 2019 at 2:37 AM woodslanding temiqui@gmail.com wrote:

the part has to be cut out such that the movement doesn't interfere with
it.

I didn't give enough detail, sorry, but I approximated it, and it works.

--
Sent from: http://forum.openscad.org/


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

I would try something like this. widget(); module widget() { //pivot_offset = 2; for (angle=[0:1:90]) { rotate([0,angle,0]) //translate([-pivot_offset,0,0]) angle_bracket(); } } module angle_bracket(len = 50, thick = 3, arm_len = 15) { cube([len, arm_len, thick]); cube([len, thick, arm_len]); } However, If you want a cylindrical shape, then I would recommend starting out by using cylinders. If you zoom in, the rim of the above object has jagged edges. I guess you could change the angle to 0.1 to make the jagged parts smaller. Kevin T On Sat, Nov 23, 2019 at 2:37 AM woodslanding <temiqui@gmail.com> wrote: > the part has to be cut out such that the movement doesn't interfere with > it. > > I didn't give enough detail, sorry, but I approximated it, and it works. > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
DM
Doug Moen
Sat, Nov 23, 2019 5:16 PM

You might be able to get the effect of sweeping a 3D shape around an axis of revolution by using the projection() module to convert the 3D shape to 2D, then using rotate_extrude() to perform the 2D profile. Whether you can find the right cut plane for the projection, in order to get the effect you want, will depend on the details of the 3D shape.

You might be able to get the effect of sweeping a 3D shape around an axis of revolution by using the projection() module to convert the 3D shape to 2D, then using rotate_extrude() to perform the 2D profile. Whether you can find the right cut plane for the projection, in order to get the effect you want, will depend on the details of the 3D shape.
HL
Hans L
Sat, Nov 23, 2019 7:11 PM

Yeah Doug makes a good point about using projection, I was kinda thinking
that but was being lazy to figure out how implement it.

But now I've made a generic module + example usage that should work for
pretty much any shape I think:
https://gist.github.com/thehans/56f4cc63f5f7ad941c516b93eba67c8d
And my solution to finding the right cut plane is to do all of them!
Note: It sweeps over [-90.+90] degrees, and assumes the object given to it
is oriented such that the longer dimension is pointed towards the positive
X-axis, and that it pivots about the Z axis, centered on the origin,.

Cheers,
Hans

On Sat, Nov 23, 2019 at 11:18 AM Doug Moen doug@moens.org wrote:

You might be able to get the effect of sweeping a 3D shape around an axis
of revolution by using the projection() module to convert the 3D shape to
2D, then using rotate_extrude() to perform the 2D profile. Whether you can
find the right cut plane for the projection, in order to get the effect you
want, will depend on the details of the 3D shape.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Yeah Doug makes a good point about using projection, I was kinda thinking that but was being lazy to figure out how implement it. But now I've made a generic module + example usage that should work for pretty much any shape I think: https://gist.github.com/thehans/56f4cc63f5f7ad941c516b93eba67c8d And my solution to finding the right cut plane is to do all of them! Note: It sweeps over [-90.+90] degrees, and assumes the object given to it is oriented such that the longer dimension is pointed towards the positive X-axis, and that it pivots about the Z axis, centered on the origin,. Cheers, Hans On Sat, Nov 23, 2019 at 11:18 AM Doug Moen <doug@moens.org> wrote: > You might be able to get the effect of sweeping a 3D shape around an axis > of revolution by using the projection() module to convert the 3D shape to > 2D, then using rotate_extrude() to perform the 2D profile. Whether you can > find the right cut plane for the projection, in order to get the effect you > want, will depend on the details of the 3D shape. > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
M
MichaelAtOz
Sat, Nov 23, 2019 11:13 PM

Hans, very nice, and surprisingly not too resource hungry.


Admin - email* me if you need anything,  or if I've done something stupid...

  • click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

--
Sent from: http://forum.openscad.org/

Hans, very nice, and surprisingly not too resource hungry. ----- Admin - email* me if you need anything, or if I've done something stupid... * click on my MichaelAtOz label, there is a link to email me. Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above. -- Sent from: http://forum.openscad.org/
M
MichaelAtOz
Mon, Nov 25, 2019 1:55 PM

(sorry - checking on a problem someone has replying to this, testing two two
two...)


Admin - email* me if you need anything,  or if I've done something stupid...

  • click on my MichaelAtOz label, there is a link to email me.

Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.

--
Sent from: http://forum.openscad.org/

(sorry - checking on a problem someone has replying to this, testing two two two...) ----- Admin - email* me if you need anything, or if I've done something stupid... * click on my MichaelAtOz label, there is a link to email me. Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above. -- Sent from: http://forum.openscad.org/
IN
Ian Nichols
Mon, Nov 25, 2019 1:57 PM

On Sat, 23 Nov 2019 at 07:37, woodslanding temiqui@gmail.com wrote:

the part has to be cut out such that the movement doesn't interfere with
it.

I didn't give enough detail, sorry, but I approximated it, and it works.

Ah, I see.  In that case, what I would do is get out a calculator and work
out the diagonal of one of the largest faces of your angle bracket & make a
cylinder with that radius and height equal to the thickness of the bracket
extrusion.  Then make another cylinder with a radius equal to the diagonal
of one of the smallest faces (i.e. the edge of the extrusion) with a height
equal to the overall width of the bracket.  The union of those two is the
shape you want.  You may need to modify this depending on your chosen
rotation axis ;)

Hope that makes sense.

Ian

--
Stand firm for what you believe in, until and unless logic and experience
prove you wrong.  Remember: when the emperor looks naked, the emperor is
naked, the truth and a lie are not "sort-of the same thing" and there is
no aspect, no facet, no moment of life that can't be improved with pizza.

-Daria Morgendorffer

On Sat, 23 Nov 2019 at 07:37, woodslanding <temiqui@gmail.com> wrote: > the part has to be cut out such that the movement doesn't interfere with > it. > > I didn't give enough detail, sorry, but I approximated it, and it works. > Ah, I see. In that case, what I would do is get out a calculator and work out the diagonal of one of the largest faces of your angle bracket & make a cylinder with that radius and height equal to the thickness of the bracket extrusion. Then make another cylinder with a radius equal to the diagonal of one of the smallest faces (i.e. the edge of the extrusion) with a height equal to the overall width of the bracket. The union of those two is the shape you want. You may need to modify this depending on your chosen rotation axis ;) Hope that makes sense. Ian -- Stand firm for what you believe in, until and unless logic and experience prove you wrong. Remember: when the emperor looks naked, the emperor *is* naked, the truth and a lie are not "sort-of the same thing" and there is no aspect, no facet, no moment of life that can't be improved with pizza. -Daria Morgendorffer