Assembly example for CadQuery

Overview

Spindle and vacuum attachment

This is a model of the vacuum attachment for my Workbee CNC router. There is a mist spray coming from the left hand side of the spindle, blowing chips towards the vacuum port and nylon brush on the right side. It's a bit of an experiment, we'll see how it goes.

The vacuum attachment and brackets are 3D printed from this model.

I'm publishing this on GitHub because I feel there isn't enough examples of complicated CadQuery models. I also learn the most from reading others' code, so I hope someone can get some ideas from reading this. Please do keep in mind that this is just one of an endless list of jobs for me to get done out at work so at the moment the code is a bit of a mess. I hope to get some time to clean it up soon, I'm dreading coming back to this in a years time and trying to reiterate it!

  • There are lots of dimensions specified in dims.py that I wound up not using,
  • vac.py contains some unusual classes and programming because I was having a bit of a mental block on how to make a surface between the vacuum port start and end, and I think there is still some small math error in it, and
  • the assembly should really be broken down into several subassemblies rather than one flat structure as it currently is, I think some numerical errors in the solver are building up, sometimes that spindle isn't quite centered in the bracket.

screenshot

nix

If you're lucky enough to use NixOS (and can use flakes, currently in the unstable branch but soon to be merged into the main branch), don't bother installing anything, just use this to run cq-editor:

nix run github:marcus7070/cq-flake/4a19ce0386930e247383e1d2d5ff7c3b676b9986

and this to create an environment with a cadquery-aware python-language-server (which will hopefully be picked up by your IDE):

nix shell github:marcus7070/cq-flake/4a19ce0386930e247383e1d2d5ff7c3b676b9986#cadquery-env

These commands will use pinned versions of everything, from CadQuery to glibc, and should be completly reproducible no matter what happens to CadQuery, conda, pypi, NixOS, or even QT. Hooray for nix!

You might also like...
An example file showing a simple endpoints like a login/logout function and maybe some others.

Flask API Example An example project showing a simple endpoints like a login/logout function and maybe some others. How to use: Open up your IDE (or u

Script to produce `.tex` files of example GAP sessions

Introduction The main file GapToTex.py in this directory is used to produce .tex files of example GAP sessions. Instructions Run python GapToTex.py [G

An example project that shows how to check if a certain macro is active in a file.

PlatformIO Check Compiler Flags Example Description Demonstrates the usage of an extra script and a special compilter invocation to get the active mac

Python Example Project Structure

Python Example Project Structure Example of statuses that can be in readme: Visit my docs for the full documentation, examples and guides. With this p

Architecture example simulator

SCADA architecture Example of a SCADA-like console application, used to serve as a minimal example of a standard architecture of an IIoT system. Insta

An example of python package

An example of python package Why use packages? It is a good practice to not code the same function twice, and to reuse common code from one python scr

The ROS publisher/subscriber example packaged as a snap

publisher-subscriber The ROS publisher/subscriber example packaged as a snap, based on ROS Noetic and Ubuntu Core 20. Strictly confined. This example

An example of Connecting a MySQL Database with Python Code
An example of Connecting a MySQL Database with Python Code

An example of Connecting a MySQL Database with Python Code And How to install Table of contents General info Technologies Setup General info In this p

An example of Connecting a MySQL Database with Python Code
An example of Connecting a MySQL Database with Python Code

An example of Connecting And Query Data a MySQL Database with Python Code And How to install Table of contents General info Technologies Setup General

Comments
  • Questions about Example

    Questions about Example

    Hi @marcus7070

    Thank you for putting this example out there, it's really helpful. I am trying it myself to get a handle on cadquery and how to use it for more complex models.

    I've noticed that you hard reload imported modules often. Why is this necessary?

    https://github.com/marcus7070/spindle-assy-example/blob/0be10a302792a37c9648c7bf81f1da9c0bd3af0e/bracket.py#L4

    Also, I noticed you used a SimpleNamespace for storing variables across the parts. Why this option? As opposed to say a plain dictionary?

    opened by noce2 1
  • brace does not line up with chimney

    brace does not line up with chimney

    Because the mounting face on the chimney is extruded with both=True, it's actually two faces. The constraint selector only grabs one for the Plane constraint, so the mount is offset by half the face width.

    opened by marcus7070 1
  • join chimney and vac into one part

    join chimney and vac into one part

    There is no real reason to separate them now that I have the printing sorted. They are both printed in the same orientation.

    There is also opportunity to enlarge the top circular port of the vac part and use more of a taper for better air flow.

    opened by marcus7070 0
Owner
Marcus Boyd
A mechanical engineer who got lost and wound up here.
Marcus Boyd
My Analysis of the VC4 Assembly Code from the RPI4

My Analysis of the VC4 Assembly Code from the RPI4

Nicholas Starke 31 Jul 13, 2022
These are the scripts used for the project of ‘Assembly of a pan-genome for global cattle reveals missing sequence and novel structural variation, providing new insights into their diversity and evolution history’

script-SV-genotyping These are the scripts used for the project of ‘Assembly of a pan-genome for global cattle reveals missing sequence and novel stru

null 2 Aug 26, 2022
pythonOS: An operating system kernel made in python and assembly

pythonOS An operating system kernel made in python and assembly Wait what? It uses a custom compiler called snek that implements a part of python3.9 (

Abbix 69 Dec 23, 2022
Snek-test - An operating system kernel made in python and assembly

pythonOS An operating system kernel made in python and assembly Wait what? It us

TechStudent10 2 Jan 25, 2022
A simple assembly- and brainfuck-inspired stack-based language

asm-stackfuck A simple assembly- and brainfuck-inspired stack-based language. The language has a few goals: Be stack-based Look like assembly Have a s

Nils Trinity 1 Feb 6, 2022
Example python package with pybind11 cpp extension

Developing C++ extension in Python using pybind11 This is a summary of the commands used in the tutorial.

null 55 Sep 4, 2022
Packages of Example Data for The Effect

causaldata This repository will contain R, Stata, and Python packages, all called causaldata, which contain data sets that can be used to implement th

null 103 Dec 24, 2022
An example using debezium and mysql with docker-compose

debezium-mysql An example using debezium and mysql with docker-compose The docker compose starts the Zookeeper, Kafka, Mysql and Debezium Connect. Aft

Horácio Dias Baptista Neto 4 May 21, 2022
This is an example manipulation package of for a robot manipulator based on Drake with ROS2.

This is an example manipulation package of for a robot manipulator based on Drake with ROS2.

Sotaro Katayama 1 Oct 21, 2021
BOHB tune library template (included example)

BOHB-template 실행 방법 python main.py 2021-10-10 기준 tf keras 버전 (tunecallback 방식) 완료 tf gradienttape 버전 (train_iteration 방식) 완료 pytorch 버전은 구현 준비중 방법 소개

Seungwoo Han 5 Mar 24, 2022