Name | ocp-freecad-cam JSON |
Version |
0.9.4
JSON |
| download |
home_page | |
Summary | OCP FreeCAD CAM |
upload_time | 2023-07-03 19:07:03 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.10 |
license | Apache License 2.0 |
keywords |
cadquery
viewer
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
![image](https://github.com/voneiden/ocp-freecad-cam/assets/437576/79a0247a-c28c-43b0-b324-b71881ba3d96)
# Overview
oc-freecad-cam exposes FreeCAD's Path workbench in a fluent python API that takes
OCP TopoDS_Shape objects and their wrappers from CadQuery and Build123d to enable generating
parametric tool paths from the comfort of your keyboard.
![image](https://github.com/voneiden/ocp-freecad-cam/assets/437576/48264cf9-6155-4f24-8094-0bb9aab00777)
⚠ NOTE ⚠
--------
This project is fairly experimental at this stage. Expect bugs and always
double-check the generated gcode for naughty surprises.
# Usage
See documentation at
https://ocp-freecad-cam.readthedocs.io/en/latest/
# Installation
ocp-freecad-cam does not attempt to install runtime dependencies. Your environment must have available
CadQuery and/or Build123d, or just OCP if you're feeling raw.
ocp-freecad-cam is available on pypi: https://pypi.org/project/ocp-freecad-cam/
ocp-freecad-cam requires currently a relatively fresh build of FreeCAD, ie. weekly build from
https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds
The Path module of FreeCAD has seen major refactorings in 2023 so older versions are not compatible.
## Runtime dependencies summary
* FreeCAD weekly 2023-06-04 or newer
* [OCP](https://github.com/CadQuery/OCP)
* [CadQuery](https://github.com/CadQuery/cadquery)
* [Build123d](https://github.com/gumyr/build123d)
## Dev dependecies
Dev dependencies are listed in requirements-dev.txt, generated from requirements-dev.in with `pip-compile`
## Using FreeCAD AppImage
Weekly AppImage is an easy way to get started. Download the AppImage, place it in a suitable empty folder
and extract it.
```bash
mkdir ~/freecad
cp ~/Downloads/FreeCAD_weekly-builds-33345-2023-06-04-conda-Linux-x86_64-py310.AppImage ~/freecad
cd ~/freecad
chmod +x ./FreeCAD_weekly-builds-33345-2023-06-04-conda-Linux-x86_64-py310.AppImage
./FreeCAD_weekly-builds-33345-2023-06-04-conda-Linux-x86_64-py310.AppImage --appimage-extract
```
## Configuring FreeCAD paths
For this module to work, it needs to be able to find
1) FreeCAD C libraries
2) FreeCAD Path python libraries
3) (AppImage only?) Some other Python modules located in FreeCAD's site-packages
This can be done by updating your virtual environment PYTHONPATH or by creating a pth file in site-packages.
The three paths (also contents of the .pth file) for the above AppImage example are
```bash
/home/user/freecad/squashfs-root/usr/lib
/home/user/freecad/squashfs-root/usr/Mod/Path
/home/user/freecad/squashfs-root/usr/lib/python3.10/site-packages/
```
in a file like
`/home/user/miniconda3/envs/cq/lib/python3.10/site-packages/freecad.pth`
# Limitations
Pocket3D does not work, possibly related to https://github.com/FreeCAD/FreeCAD/issues/6815 - shouldn't be a big loss
though, Surface3D can get the same things done IMO.
VCarve can produce unstable toolpaths, but that is probably a bug in the underlying openvoronoi library. Tweaking the
job params may help.
# Contributing
Contributions are welcome.
* Missing params, fixes
* Tests
* Documentation
## PR's
Apply black and isort and ensure that tests pass. Preferably also include test coverage for new code.
Raw data
{
"_id": null,
"home_page": "",
"name": "ocp-freecad-cam",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "cadquery,viewer",
"author": "",
"author_email": "Matti Eiden <snaipperi@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/86/c7/3825a3a1bc639bf428fa6f6bcaa009ddcf147db928ca34bc943491735500/ocp-freecad-cam-0.9.4.tar.gz",
"platform": null,
"description": "![image](https://github.com/voneiden/ocp-freecad-cam/assets/437576/79a0247a-c28c-43b0-b324-b71881ba3d96)\n\n\n# Overview\n\noc-freecad-cam exposes FreeCAD's Path workbench in a fluent python API that takes\nOCP TopoDS_Shape objects and their wrappers from CadQuery and Build123d to enable generating\nparametric tool paths from the comfort of your keyboard.\n\n![image](https://github.com/voneiden/ocp-freecad-cam/assets/437576/48264cf9-6155-4f24-8094-0bb9aab00777)\n\n\n\u26a0 NOTE \u26a0\n--------\n\nThis project is fairly experimental at this stage. Expect bugs and always\ndouble-check the generated gcode for naughty surprises.\n# Usage\n\nSee documentation at \nhttps://ocp-freecad-cam.readthedocs.io/en/latest/\n\n# Installation\nocp-freecad-cam does not attempt to install runtime dependencies. Your environment must have available\nCadQuery and/or Build123d, or just OCP if you're feeling raw.\n\nocp-freecad-cam is available on pypi: https://pypi.org/project/ocp-freecad-cam/\n\nocp-freecad-cam requires currently a relatively fresh build of FreeCAD, ie. weekly build from\nhttps://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds\n\nThe Path module of FreeCAD has seen major refactorings in 2023 so older versions are not compatible.\n\n## Runtime dependencies summary\n* FreeCAD weekly 2023-06-04 or newer\n* [OCP](https://github.com/CadQuery/OCP)\n * [CadQuery](https://github.com/CadQuery/cadquery)\n * [Build123d](https://github.com/gumyr/build123d)\n\n## Dev dependecies\n\nDev dependencies are listed in requirements-dev.txt, generated from requirements-dev.in with `pip-compile`\n\n## Using FreeCAD AppImage\n\nWeekly AppImage is an easy way to get started. Download the AppImage, place it in a suitable empty folder\nand extract it.\n\n```bash\nmkdir ~/freecad\ncp ~/Downloads/FreeCAD_weekly-builds-33345-2023-06-04-conda-Linux-x86_64-py310.AppImage ~/freecad\ncd ~/freecad\nchmod +x ./FreeCAD_weekly-builds-33345-2023-06-04-conda-Linux-x86_64-py310.AppImage\n./FreeCAD_weekly-builds-33345-2023-06-04-conda-Linux-x86_64-py310.AppImage --appimage-extract\n```\n\n## Configuring FreeCAD paths\nFor this module to work, it needs to be able to find \n\n1) FreeCAD C libraries\n2) FreeCAD Path python libraries\n3) (AppImage only?) Some other Python modules located in FreeCAD's site-packages\n\nThis can be done by updating your virtual environment PYTHONPATH or by creating a pth file in site-packages.\n\nThe three paths (also contents of the .pth file) for the above AppImage example are\n\n```bash\n/home/user/freecad/squashfs-root/usr/lib\n/home/user/freecad/squashfs-root/usr/Mod/Path\n/home/user/freecad/squashfs-root/usr/lib/python3.10/site-packages/\n```\n\nin a file like \n\n`/home/user/miniconda3/envs/cq/lib/python3.10/site-packages/freecad.pth`\n\n\n# Limitations\n\nPocket3D does not work, possibly related to https://github.com/FreeCAD/FreeCAD/issues/6815 - shouldn't be a big loss\nthough, Surface3D can get the same things done IMO.\n\nVCarve can produce unstable toolpaths, but that is probably a bug in the underlying openvoronoi library. Tweaking the \njob params may help.\n\n# Contributing\n\nContributions are welcome.\n\n* Missing params, fixes\n* Tests\n* Documentation\n\n## PR's\n\nApply black and isort and ensure that tests pass. Preferably also include test coverage for new code.\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "OCP FreeCAD CAM",
"version": "0.9.4",
"project_urls": {
"Bug Tracker": "https://github.com/voneiden/ocp-freecad-cam/issues/",
"Documentation": "https://github.com/voneiden/ocp-freecad-cam/",
"Source Code": "https://github.com/voneiden/ocp-freecad-cam/"
},
"split_keywords": [
"cadquery",
"viewer"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0f6587ab75c2c310f97f0f3cdc5df51877b9f9e3f9b7e0707f8326c3737da765",
"md5": "ae838a902e72f814a0f5f9db78047d0c",
"sha256": "65ecfb60e44ea25d295b764ee9c375031d8a2b305c50051731a1b6e77240e4df"
},
"downloads": -1,
"filename": "ocp_freecad_cam-0.9.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ae838a902e72f814a0f5f9db78047d0c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 31200,
"upload_time": "2023-07-03T19:07:01",
"upload_time_iso_8601": "2023-07-03T19:07:01.707995Z",
"url": "https://files.pythonhosted.org/packages/0f/65/87ab75c2c310f97f0f3cdc5df51877b9f9e3f9b7e0707f8326c3737da765/ocp_freecad_cam-0.9.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "86c73825a3a1bc639bf428fa6f6bcaa009ddcf147db928ca34bc943491735500",
"md5": "94bbc0cb0e87e09851b643edddf4f023",
"sha256": "e29582f5542244ab605b51612e32445f3fa2dd5b7aa6b8a12e2428b804e20de5"
},
"downloads": -1,
"filename": "ocp-freecad-cam-0.9.4.tar.gz",
"has_sig": false,
"md5_digest": "94bbc0cb0e87e09851b643edddf4f023",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 124612,
"upload_time": "2023-07-03T19:07:03",
"upload_time_iso_8601": "2023-07-03T19:07:03.136839Z",
"url": "https://files.pythonhosted.org/packages/86/c7/3825a3a1bc639bf428fa6f6bcaa009ddcf147db928ca34bc943491735500/ocp-freecad-cam-0.9.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-03 19:07:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "voneiden",
"github_project": "ocp-freecad-cam",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "ocp-freecad-cam"
}