QymCAD README

The project's README from github.com/QymIs-Tech/QymCAD. As one markdown file: README.md.

QymCAD

QymCAD

A parametric associative CAD on a B-rep kernel

Sketch → part → assembly. One program, one project file, no cloud and no subscription.

cad.qymis.tech

English · Русский

A CNC machine assembled in QymCAD: components, joints and their degrees of freedom

What it is

QymCAD is a desktop CAD for mechanical parts and assemblies: housings, brackets, mechanisms, printed and milled work.

A sketch becomes a solid by extruding, revolving or sweeping; the solid takes holes, fillets, a shell, patterns. Parts come together into an assembly through joints — revolute, slider, rigid. The model is parametric: change a dimension in any operation and everything below it in the timeline rebuilds, the assembly included.

The geometry is exact and solid (B-rep), computed by the OpenCASCADE kernel — the same one FreeCAD runs on. Hence precise surfaces instead of meshes, correct fillets and exchange through STEP with other CAD systems.

The interface is available in English and Russian.

Status

A development build. The program works and is fit for real parts, but it is updated daily.

Features

Sketching. Lines, arcs, circles, ellipses, splines, polygons, slots, text. Constraints and dimensions are solved together; dimensions are parametric (w/2, sin(a)). There is construction geometry and the projection of a body's edges into the sketch.

Parts. Extrude, revolve, sweep, loft, fillet (including a variable radius set at vertices), chamfer, shell, draft, holes (plain, counterbored, countersunk), thicken, patch, stitch, trim, split of faces and of a body, face copy and face push, linear and circular patterns, mirror, booleans, and the primitives: box, cylinder, sphere, cone, torus, prism. Threads are built from a real helical profile with run-outs.

Assemblies. Parts and sub-assemblies, joints (rigid, revolute, slider, cylindrical, planar, ball, pin-slot, parallel), limits and drives, degrees of freedom, an interference check. A sketch can be placed on the face of a neighbouring part as an associative reference: change the neighbour and the dependent part rebuilds.

Exchange. STEP (import and export), STL (import and export), DXF and SVG (import and export of sketches). Either the whole project or a single part or sub-assembly picked in the tree can be written out.

Installation

The builds are in Releases. No extra libraries are needed: OpenCASCADE and the dependencies are inside the package.

Windows 10/11 x64 — qymcad-win64.zip. Unpack anywhere and run qymcad.exe.

Linux — qymcad-*.AppImage, a single file. Requires glibc 2.35 or newer: Ubuntu 22.04+, Debian 12+, Fedora 36+, Arch.

chmod +x qymcad-*.AppImage
./qymcad-*.AppImage

macOS 12+ (Apple Silicon) — qymcad-*-macos-arm64.zip. Unpack it and read README.txt lying beside the application: the build carries no Apple signature, so the quarantine mark has to be cleared once, before the first launch. It takes one command and is written out step by step.

Help

The built-in help opens with F1. The articles, with illustrations, live in docs/help.

Project files

A document is saved as .qcad. The format changes directly, with no compatibility layer; documents from earlier versions are brought forward by a separate script:

python3 convert_qcad.py part.qcad    # converts in place, keeping part.qcad.bak beside it

The script brings a document forward from any earlier version in one pass and is idempotent.

Building from source

Linux — just pkg-linux, Docker required. Windows — MSVC with the kernel built from source. macOS — the kernel from source as well, then packaging/macos/bundle.sh. The details are in packaging/README.md.

Contributing

See CONTRIBUTING.md.

Licence

The code is distributed under AGPL-3.0-or-later: a fork and any derived build stay under the same licence with open sources.

The OpenCASCADE kernel comes under LGPL-2.1 with an exception and is linked dynamically; the fonts and the icons come under licences of their own. All of it is listed in THIRD-PARTY-NOTICES.md, and that file is placed beside the program in every package.


QymIs Tech — qymis.tech. Author: Denis Kazachenkov.

QymCAD (QymIs-Tech/QymCAD)

stl
Searching Database…

710 ·GitHub
What is this?QymCAD is a desktop parametric CAD application for mechanical parts and assemblies, built on a real B-rep kernel (OpenCASCADE). Sketches become solids via extrude, revolve or sweep, and parts combine into assemblies through joints.
How is this different from a mesh-based modeler?It computes exact, solid B-rep geometry with the OpenCASCADE kernel - the same engine FreeCAD uses - giving precise surfaces, correct fillets, and real STEP exchange, instead of working with meshes.
Are there any OS version requirements?Windows needs 10/11 x64. Linux needs glibc 2.35 or newer (Ubuntu 22.04+, Debian 12+, Fedora 36+, Arch). macOS requires version 12+ and Apple Silicon only, since there is no Intel build.
Is this stable enough for everyday work?It is a development build updated daily: the .qcad file format changes without backward compatibility (old files need the bundled convertqcad.py script), and the CAM/Machining module shown in settings does not actually work yet.
Does the macOS build run on Intel Macs?No. The macOS build only supports Apple Silicon and carries no Apple signature, so macOS quarantines it on first download; the quarantine mark is cleared with one terminal command documented in the archive.
What file formats can I use to exchange models with other CAD systems?STEP for full import/export with other CAD tools, STL for 3D printing, and DXF/SVG for importing and exporting sketches.
Can parts stay linked to each other inside an assembly?Yes: a sketch can be placed on the face of a neighbouring part as an associative reference, so the dependent part rebuilds automatically when that neighbour changes.
What part-modeling operations does it support?Extrude, revolve, sweep, loft, variable-radius fillet, chamfer, shell, draft, several hole types, booleans, linear/circular patterns, mirror, and real helical threads with run-outs.
Does it check whether assembled parts collide?Yes, assemblies support joints (revolute, slider, rigid, and more), degrees-of-freedom tracking, and a built-in interference check.
Creator
QymIs-Tech
Size
37.8 MB
Stars
710
Age
1mo
Commits · 90 Days