Create Your First Project
Start adding your projects to your portfolio. Click on "Manage Projects" to get started
Gusset Support Pair
Process
The design process began with defining key parameters for each component—such as the base plate dimensions, bolt hole placements, arm geometry, and gusset shape. These parameters were carefully chosen to reflect real-world manufacturing constraints and fastener standards, ensuring the part could be prototyped or produced using standard machining processes. The control arm was positioned at a precise angle and intersected into the mounting plate using a subtractive modeling technique, while gussets were intelligently generated using a solid-trim approach to ensure they fit flush with both the plate and arm. Design iterations focused on achieving mechanical strength, modularity, and clean geometry transitions via fillets and chamfers.
Result
Result is a compact and robust assembly that simulates a real-world mechanical joint system. The project demonstrates the use of procedural CAD modeling for rapid design changes, which is critical in early-stage product development and engineering validation. The resulting STEP file can be directly used in industry-standard CAD and CAM pipelines. This model, due to its parametric structure and clean topology, also serves well for generative design and FEA studies. Its impact lies in showcasing how open-source Python-based CAD tools like CadQuery can be used in professional-grade mechanical design workflows.
Standards
ISO 2768-m, ISO 4762, ISO 4014
This project showcases a parametric mounting bracket assembly featuring an angled control arm and gusset supports, modeled using CadQuery. The design includes a bolt-mounted base plate, a precisely inclined arm, and gussets trimmed to fit flush for structural reinforcement. It demonstrates efficient, script-based CAD modeling suitable for mechanical design iteration and clean export to STEP format for use in professional CAD workflows.
Code Snippet
# Step 1: Create oversized triangular gusset on YZ plane
raw_gusset = (
cq.Workplane("YZ")
.polyline([(0, 0), (0, plate_thickness), (20, 0)])
.close()
.extrude(4)
.translate((arm_radius, 0, 0))
)
# Step 2: Trim the gusset with the angled arm profile
gusset = raw_gusset.intersect(arm)
# Step 3: Trim the gusset from below using a bounding box aligned with the plate
trim_plate = (
cq.Workplane("XY")
.box(100, 100, 100)
.translate((0, 0, plate_thickness))
)
gusset = gusset.intersect(trim_plate)







