feat(cad)!: parametric 3d model with support for FS0307 and SG90 - #27
Merged
Conversation
… parametric model
- Added a new `parts_exporter` module to export PRINT_LAYOUT children as separate 3MF and binary STL files. - Introduced `servo_id` parameter handling in the servo configuration for better integration with the parts exporter.
- Restructure parts folder to support multiple formats and servo types - Updated TinyEngineer.f3d file to reflect recent changes. BREAKING CHANGE: The 3D model was redesigned from scratch and is not compatible with the previous version.
- Enhanced the first boot setup wizard to include a step for OLED screen orientation adjustment. - Updated API documentation to reflect the addition of the `oled_rotate_180` parameter for settings and setup routes. - Adjusted relevant code to implement OLED rotation based on user input during setup and settings updates.
- Updated servo control functions to use normalized pose values (-1 to 1) instead of degrees, enhancing consistency across animations. - Refactored related functions and constants to support the new normalized range, ensuring compatibility with existing animations. - Adjusted documentation to reflect changes in servo control methodology and updated relevant tests for validation.
- Changed references from "SSD1306 OLED" to "Waveshare 0.91inch OLED Module" throughout documentation for consistency. - Updated wiring documentation to clarify the correct labeling of the OLED clock pin as **SCL** instead of **SCK**. - Adjusted assembly checks and interface documentation to reflect the updated OLED module specifications.
- Revised paths for exported parts to reflect the new structure under `parts/{servo_id}/3mf/`.
- Clarified instructions for printing and assembly, emphasizing the use of specific directories for different servo models.
- Enhanced API documentation to include updated error handling and status indicators for hardware components.
- Improved clarity on servo speed parameters and their implications in the setup process.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Parametric Fusion model driven by servo dimensions. Compact default is Pololu / Feetech FS0307. Tower Pro SG90 (and MG90S-class clones) is a second official print set for builders who cannot source HD-1370A.
Fusion add-in TinyEngineer Tools writes
servos.jsoninto user parameters and exports eachPRINT_LAYOUTchild as 3MF + binary STL in the captured print pose.Printables moved off
3d_models/parts/*.3mfinto:3d_models/parts/fs0307/{3mf,stl}/— default compact build3d_models/parts/sg90/{3mf,stl}/— widely available 9g servoPart names changed (e.g.
Arm/Hand*→UpperArm/Forearm*;LampGlass→LampDiffuser;Pillow→SeatLeft/SeatRight). New seat mount mechanism.ServoSizingTesteris included for fit checks before a full print.Head CAD follows the Waveshare 0.91" OLED path from #6 (larger head, easier to source). Hardware docs still list the old OLED / HD-1370A; that is a follow-up, not this PR.
Issues
Closes #5
Closes #6
Closes #7
Closes #8 (print-oriented 3MF + STL for services; min wall thickness introduced as model parameter)
Closes #11
Follow-up in this workstream
servos.jsonand export3d_models/parts/hd1370a/{3mf,stl}/Breaking change
The CAD was rebuilt. HD-1370A meshes at
3d_models/parts/*.3mfare gone. Old prints will not mate with the new parts. Pickfs0307orsg90and print that folder only.BREAKING CHANGE: printable parts moved to servo-specific
3mf/andstl/folders; HD-1370A exports and several part names are removed. Parts are redesigned and not compatible with previous model.Test plan
3d_models/fusion/TinyEngineerTools/, openTinyEngineer.f3dservo_id){servo_id}/3mf/*.3mf,{servo_id}/stl/*.stl,{servo_id}/README.mdPRINT_LAYOUT(no extra rotate in the slicer)ServoSizingTesteron a real FS0307 and SG90 before a full kit