lostapathy wrote
The "trick", really, is to design all your parts around a convenient
origin and then translate them to the assembled position. It seems most
people's intuition is to model the part in the assembled position and
then try to move it back to a convenient origin for printing (or
whatever else).
This also has the added benefit of being more modular. It's easier to reuse
components if they have a sensible origin. Say, for example, that I model a
bolt. I then put it at the origin, wigh the XY plane just below the head,
oriented along the Z. This makes a lot more sense when I want to use that
bolt in some other design.
--
Sent from: http://forum.openscad.org/
Yes make the origin the most useful point but if there are other points of
interest, for example screw holes, than I make a module that moves its
children there and use it to make the holes both in the object, and what it
mounts to and place the screws. So I never need to calculate positions. It
is simply a combination of modules. E.g.
motor_position() {
motor();
motor_screw_positions()
screw(motor_screw(), 10);
}
Similarly I have functions to get the important dimensions of each object,
so I know its bounding box allowing me to place it in an assembly and
design other things round it.
The rule is never specify anything twice. Always factor it into a function,
module, or variable and define it once and re-use it.
On Fri, 12 Jul 2019 at 07:45, Troberg troberg.anders@gmail.com wrote:
lostapathy wrote
The "trick", really, is to design all your parts around a convenient
origin and then translate them to the assembled position. It seems most
people's intuition is to model the part in the assembled position and
then try to move it back to a convenient origin for printing (or
whatever else).
This also has the added benefit of being more modular. It's easier to reuse
components if they have a sensible origin. Say, for example, that I model a
bolt. I then put it at the origin, wigh the XY plane just below the head,
oriented along the Z. This makes a lot more sense when I want to use that
bolt in some other design.
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
On 2019-07-11 20:00, lar3ry wrote:
I see that many folks have asked for a way to find and use a bounding
box in
OpenSCAD, and I wonder if it will ever be implemented. It would be very
handy, and its use could be implemented as just information in the
console,
or used directly in something that might be called
"absolute_translate().
It is a handy feature, standard in AngelCAD, where any shape can return
a bounding box
https://arnholm.github.io/angelcad-docs/docs/classshape.html#a9511e310496d8d70c26cf0c4b59b0200
https://arnholm.github.io/angelcad-docs/docs/classboundingbox.html
Carsten Arnholm
Bounding box isn't implemented in OpenSCAD because geometry is not
calculated for the preview, so it isn't available until you do F6. Not only
that but all expressions are evaluated before the geometry is created. That
is why you can never query the geometry, you can only specify it.
On Fri, 12 Jul 2019 at 09:47, arnholm@arnholm.org wrote:
On 2019-07-11 20:00, lar3ry wrote:
I see that many folks have asked for a way to find and use a bounding
box in
OpenSCAD, and I wonder if it will ever be implemented. It would be very
handy, and its use could be implemented as just information in the
console,
or used directly in something that might be called
"absolute_translate().
It is a handy feature, standard in AngelCAD, where any shape can return
a bounding box
https://arnholm.github.io/angelcad-docs/docs/classshape.html#a9511e310496d8d70c26cf0c4b59b0200
https://arnholm.github.io/angelcad-docs/docs/classboundingbox.html
Carsten Arnholm
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org