diff --git a/attachments.scad b/attachments.scad index 47d409c..23f54d7 100644 --- a/attachments.scad +++ b/attachments.scad @@ -2278,6 +2278,14 @@ module corner_profile(corners=CORNERS_ALL, except=[], r, d, convexity=10) { // * Rotates this part so it's anchor direction vector exactly opposes the parent's anchor direction vector. // * Rotates this part so it's anchor spin matches the parent's anchor spin. // . +// This module is also responsible for handing coloring of objects with {{recolor()}} and {{color_this()}}, and +// it is responsible for processing tags and determining whether the object should +// display or not in the current context. The determination to display the attachable object +// occurs in this module, which means that an object which does not display (e.g. a "remove" tagged object +// inside {{diff()}} cannot have internal {{tag()}} calls that change its tags and cause submodel +// portions to display: the entire child simply does not run. + + // For a step-by-step explanation of attachments, see the [Attachments Tutorial](Tutorial-Attachments). // // Arguments: diff --git a/gears.scad b/gears.scad index befc19a..eab8a1b 100644 --- a/gears.scad +++ b/gears.scad @@ -72,6 +72,7 @@ function _inherit_gear_thickness(thickness) = // this section provides the minimal information needed for gear making. If you want more information about the // details of gears, consult the references below, which are the ones that we consulted when writing the library code. // - Tec Science +// * [Involute Gears](https://www.tec-science.com/mechanical-power-transmission/involute-gear/geometry-of-involute-gears/) // * [Gear engagement](https://www.tec-science.com/mechanical-power-transmission/involute-gear/meshing-line-action-contact-pitch-circle-law/) // * [Gears meshing with racks](https://www.tec-science.com/mechanical-power-transmission/involute-gear/rack-meshing/) // * [Gear undercutting](https://www.tec-science.com/mechanical-power-transmission/involute-gear/undercut/) @@ -2567,7 +2568,7 @@ function _gear_tooth_profile( rrad = _root_radius(circ_pitch, teeth, clearance, helical=helical, profile_shift=profile_shift, internal=internal), srad = max(rrad,brad), - tthick = circ_pitch/PI / cos(helical) * (PI/2 + 2*profile_shift * tan(pressure_angle)) - backlash, + tthick = circ_pitch/PI / cos(helical) * (PI/2 + 2*profile_shift * tan(pressure_angle)) + (internal?backlash:-backlash), tang = tthick / prad / 2 * 180 / PI, // Generate a lookup table for the involute curve angles, by radius