{"id":15516410,"url":"https://github.com/looooo/freecad.frametools","last_synced_at":"2025-06-25T17:08:36.599Z","repository":{"id":38023266,"uuid":"46751558","full_name":"looooo/freecad.frametools","owner":"looooo","description":"beams and frames","archived":false,"fork":false,"pushed_at":"2024-02-09T21:51:53.000Z","size":2685,"stargazers_count":23,"open_issues_count":9,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-18T02:39:53.263Z","etag":null,"topics":["addon","beam","framegenerator","freecad","workbench"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/looooo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-23T22:20:38.000Z","updated_at":"2025-04-28T06:24:02.000Z","dependencies_parsed_at":"2024-02-09T22:47:07.368Z","dependency_job_id":null,"html_url":"https://github.com/looooo/freecad.frametools","commit_stats":{"total_commits":43,"total_committers":5,"mean_commits":8.6,"dds":0.3023255813953488,"last_synced_commit":"81e10f2ddd47c6069e67200f50bc24d1dfd357e8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/looooo/freecad.frametools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/looooo%2Ffreecad.frametools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/looooo%2Ffreecad.frametools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/looooo%2Ffreecad.frametools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/looooo%2Ffreecad.frametools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/looooo","download_url":"https://codeload.github.com/looooo/freecad.frametools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/looooo%2Ffreecad.frametools/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260678078,"owners_count":23045216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["addon","beam","framegenerator","freecad","workbench"],"created_at":"2024-10-02T10:07:12.983Z","updated_at":"2025-06-25T17:08:36.569Z","avatar_url":"https://github.com/looooo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FreeCAD Frame Workbench \nA frame-module for FreeCAD\n\n## Requirements\n* FreeCAD \u003e= v0.16\n* scipy v?? \u003c----\n\n## Installation\n### Automatic Installation\nAs of v0.17 it's possible to use the built-in FreeCAD [Addon Manager](https://github.com/FreeCAD/FreeCAD-addons#1-builtin-addon-manager) \nto install this workbench.\n\n### Manual Installation\n  * `cd ~/.freecad/Mod || mkdir ~/.freecad/Mod \u0026\u0026 cd ~/.freecad/Mod`\n  * `git clone https://github.com/looooo/freecad_frame.git`\n  * restart FreeCAD\n\n## Usage\n\n### Create a Beam\n\n* Create new document\n* Create profile. Possible sources for profile:\n  * Sketch\n    * Draw a sketch.\n    * Go to Part WB.\n    * Select profile.\n    * Create Face from profile.\n  * \"Profile\" command in Arch WB allows to insert some predefined\n    profiles like RHS. \n  \n  The profile should be in XY-plane (this is current limitation). \n* Create a path to make beam. The path can be:\n  * Straight lines from any sketch.\n  * Straight lines from Draw WB.\n  \n  Curves can't be used as path for beams.\n* Go to Frame and beams WB.\n  * Select \"Beam\" command \u003cimg src=\"/freecad/frametools/icons/beam.svg\" width=\"24\" height=\"24\"\u003e\n  * Select profile.\n  * Select path.\n  * Enter extents if beams should be longer than path.\n  * Enter rotation for profile to turn beam around its path.\n  * Press \"Create\".\n  * Select another path or profile to create more beams or press\n    \"Close\" to finish command. \n\n### Miter cut two beams\n  \n* Select \"Miter Cut\" command from Frame and beam WB \u003cimg src=\"/freecad/frametools/icons/beam_miter_cut.svg\" width=\"24\" height=\"24\"\u003e\n* Select first beam.\n* Select second beam which intesects the first beam.\n* Press \"Cut\".\n* To cut another beams select them and press \"Cut\" or press \"Close\" to\n  finish command. \n\nIf one or two beams are selected when \"Miter Cut\" command activated\nthey will be preselected as \"Beam 1\" and \"Beam 2\". To cut them press\n\"Cut\" button.\n\n### Plane Cut\n\n* Select \"Plane Cut\" command from Frame and beam WB \u003cimg src=\"/freecad/frametools/icons/beam_plane_cut.svg\" width=\"24\" height=\"24\"\u003e\n* Select first beam.\n* Select face of another beam which intersects the first beam.\n* Press \"Cut\".\n* To cut another beams select them and press \"Cut\" or press \"Close\" to\n  finish command. \n\nIf beam and beam face (in that order) are selected when \"Plane Cut\"\ncommand activated they will be preselected as \"Beam to cut\" and \"Cut\nwith\". To cut them press \"Cut\" button.\n\n### Shape Cut\n\n* Select \"Shape Cut\" command from Frame and beam WB \u003cimg src=\"/freecad/frametools/icons/beam_shape_cut.svg\" width=\"24\" height=\"24\"\u003e\n* Select first beam.\n* Select second beam which intesects the first beam.\n* Press \"Cut\".\n* To cut another beams select them and press \"Cut\" or press \"Close\" to\n  finish command. \n\nIf one or two beams are selected when \"Shape Cut\" command activated\nthey will be preselected as \"Beam 1\" and \"Beam 2\". To cut them press\n\"Cut\" button.\n\n## Example\n\nGate leaf creation.\n\n\u003cimg src=\"/example/gate/beams_cut.png\"\u003e\n\nPrerequisites:\n\n* Made from hollow profile with rounded corners with size 40x20mm and thickness 2mm.\n* Internal height between top and bottom bars is 1500mm.\n* Horizontal size 1700mm.\n* Middle bars added to have decorations inside between top and middle\n  bar and bottom and middle bar (not shown due to lack of\n  object). Height of decorations is 155mm.\n* Diagonal supports added. \n\n1. Create profile.\n\n   \u003cimg src=\"/example/gate/profile_sketch.png\"\u003e\n\n   1. Create a new sketch in XY plane.\n   2. Repeat drawing from picture above. Outer rounding radius is 3mm\n      and inner rounding radius is 2mm.\n   3. Close sketch.\n   4. Select Part Workbench and convert sketch to face (\"Make face from\n      wires\" command).\n\n2. Create sketch for beam axes. Since this is gate leaf the sketch\n   should be created, for example, in XZ plane.\n   \n   \u003cimg src=\"/example/gate/beams_sketch.png\"\u003e\n   \n   This will require a little bit more work because some measurements\n   give outer sizes, some give inner and no one give axes. The\n   diagonal supports are drawn according to other beams. To achieve\n   correct lines construction geometry should be used for everything\n   that is not beam in final design like outer edge of gate. \n\n3. Create outer beams. Since they should fully intersect the \"Extent\n   1\" and \"Extent 2\" should have value 20mm at least. Please don't\n   enter very big values because some extra parts can be left after\n   cutting.\n   \n   \u003cimg src=\"/example/gate/outer_beams.png\"\u003e\n   \n4. Create inner beams. They axes long enough to get full intersection\n   with other beams so the extents can be left as is.\n   \n   \u003cimg src=\"/example/gate/inner_beams.png\"\u003e\n   \n5. Miter cut outer beams.\n\n   \u003cimg src=\"/example/gate/outer_beams_cut.png\"\u003e\n   \n   Please note that *every* cut operation creates a new beam so if\n   beam needs to be cut twice it should be reselected after the\n   first cut. Removing cut beam can break other cut beams if it is\n   used in the other beam cut operation.\n\n6. Plane cut inner beams by outer beams inner planes. Plane cut\n   diagonals.\n\n   \u003cimg src=\"/example/gate/beams_cut.png\"\u003e\n   \n7. Select TechDraw Workbench\n\n   \u003cimg src=\"/example/gate/drawing.png\"\u003e\n   \n   1. Insert page from template and select A4 Portrait template.\n   2. Go to the 3D view and select \"Front View\" to see front side. The\n      TechDraw inserts view in current active projection.\n   3. Select Main Diagonal.\n   4. Go to the inserted page and press \"Insert view\". The page will\n      contain huge page placed as viewed.\n   5. Select view in tree and set scale to 0.1. This makes beam\n      completely inside drawing.\n   6. The TechDraw don't allow to simple rotations like \"make this\n      line vertical\" so view should be rotated by -55.582°\n      (measured as angle between vertical border and angled one). This\n      make beam straight vertical on drawing.\n   7. Add dimensions to overall length and how to cut corners.\n   \n   Repeat steps above for every unique beam. Fill fields below as\n   needed. This gives the set of drawing suitable to create all parts\n   of gate leaf. \n   \n   To have drawing with guide to assemble it full view (with all part\n   selected) should be inserted on a new page. Welding annotations\n   will describe how to join parts.\n   \n## Feedback\nOffer feedback and discuss this workbench in the [dedicated FreeCAD forum thread]()\n\n## Known Limitations\n\n## Developer\n[@looooo](https://github.com/looooo)\n\n## License\nGNU Lesser General Public License v2.1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flooooo%2Ffreecad.frametools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flooooo%2Ffreecad.frametools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flooooo%2Ffreecad.frametools/lists"}