blendercam/starting.html

714 wiersze
40 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="en" data-content_root="./" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Getting Started &#8212; Fabex 1.0.65 documentation</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!-- Loaded before other Sphinx assets -->
<link href="_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=8f2a1f02" />
<link rel="stylesheet" type="text/css" href="_static/styles/sphinx-book-theme.css?v=eba8b062" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=4ae1632d" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="_static/documentation_options.js?v=38568b08"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'starting';</script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="User Interface" href="interface.html" />
<link rel="prev" title="Installation" href="install.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<input type="checkbox"
class="sidebar-toggle"
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>
<input type="checkbox"
class="sidebar-toggle"
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
</div>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<div class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<a class="navbar-brand logo" href="index.html">
<img src="_static/Fabex_logo_square.png" class="logo__image only-light" alt="Fabex 1.0.65 documentation - Home"/>
<script>document.write(`<img src="_static/Fabex_logo_square.png" class="logo__image only-dark" alt="Fabex 1.0.65 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item"><ul class="navbar-icon-links"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/pppalain/blendercam" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://riot.im/app/#/room/#blendercam:matrix.org" title="Matrix" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-solid fa-comments fa-lg" aria-hidden="true"></i>
<span class="sr-only">Matrix</span></a>
</li>
</ul></div>
<div class="sidebar-primary-item">
<script>
document.write(`
<button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<ul class="current nav bd-sidenav">
<li class="toctree-l1 current active has-children"><a class="reference internal" href="users.html">User Guide</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="install.html">Installation</a></li>
<li class="toctree-l2 current active"><a class="current reference internal" href="#">Getting Started</a></li>
<li class="toctree-l2"><a class="reference internal" href="interface.html">User Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="strategies.html">Strategies</a></li>
<li class="toctree-l2"><a class="reference internal" href="examplechain.html">Example Chain Workflow</a></li>
<li class="toctree-l2"><a class="reference internal" href="faq.html">FAQ</a></li>
<li class="toctree-l2"><a class="reference internal" href="glossary.html">Glossary</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="developers.html">Developer Guide</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="overview.html">Code Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="style.html">Style Guide</a></li>
<li class="toctree-l2"><a class="reference internal" href="testing.html">Test Suite</a></li>
<li class="toctree-l2"><a class="reference internal" href="workflows.html">Workflows &amp; Actions</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="autoapi/index.html">API Reference</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="autoapi/fabex/index.html">fabex</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/bas_relief/index.html">fabex.bas_relief</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/bridges/index.html">fabex.bridges</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/cam_chunk/index.html">fabex.cam_chunk</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/collision/index.html">fabex.collision</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/constants/index.html">fabex.constants</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/engine/index.html">fabex.engine</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/exception/index.html">fabex.exception</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/gcode_import_parser/index.html">fabex.gcode_import_parser</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/gcode_path/index.html">fabex.gcode_path</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/involute_gear/index.html">fabex.involute_gear</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/joinery/index.html">fabex.joinery</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="autoapi/fabex/operators/index.html">fabex.operators</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/async_op/index.html">fabex.operators.async_op</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/bas_relief_ops/index.html">fabex.operators.bas_relief_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/bridges_op/index.html">fabex.operators.bridges_op</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/chain_ops/index.html">fabex.operators.chain_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/curve_create_ops/index.html">fabex.operators.curve_create_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/curve_equation_ops/index.html">fabex.operators.curve_equation_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/curve_tools_ops/index.html">fabex.operators.curve_tools_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/gcode_import_op/index.html">fabex.operators.gcode_import_op</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/operation_ops/index.html">fabex.operators.operation_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/orient_op/index.html">fabex.operators.orient_op</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/pack_op/index.html">fabex.operators.pack_op</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/path_ops/index.html">fabex.operators.path_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/position_op/index.html">fabex.operators.position_op</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/preset_ops/index.html">fabex.operators.preset_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/simulation_ops/index.html">fabex.operators.simulation_ops</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/operators/slice_op/index.html">fabex.operators.slice_op</a></li>
</ul>
</details></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/pack/index.html">fabex.pack</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/parametric/index.html">fabex.parametric</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/pattern/index.html">fabex.pattern</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/preferences/index.html">fabex.preferences</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="autoapi/fabex/properties/index.html">fabex.properties</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/chain_props/index.html">fabex.properties.chain_props</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/info_props/index.html">fabex.properties.info_props</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/interface_props/index.html">fabex.properties.interface_props</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/machine_props/index.html">fabex.properties.machine_props</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/material_props/index.html">fabex.properties.material_props</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/movement_props/index.html">fabex.properties.movement_props</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/operation_props/index.html">fabex.properties.operation_props</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/properties/optimisation_props/index.html">fabex.properties.optimisation_props</a></li>
</ul>
</details></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/puzzle_joinery/index.html">fabex.puzzle_joinery</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/simulation/index.html">fabex.simulation</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/slice/index.html">fabex.slice</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/strategy/index.html">fabex.strategy</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/testing/index.html">fabex.testing</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="autoapi/fabex/utilities/index.html">fabex.utilities</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/addon_utils/index.html">fabex.utilities.addon_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/async_utils/index.html">fabex.utilities.async_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/bounds_utils/index.html">fabex.utilities.bounds_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/chunk_utils/index.html">fabex.utilities.chunk_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/compare_utils/index.html">fabex.utilities.compare_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/dict_utils/index.html">fabex.utilities.dict_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/geom_utils/index.html">fabex.utilities.geom_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/image_utils/index.html">fabex.utilities.image_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/index_utils/index.html">fabex.utilities.index_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/loop_utils/index.html">fabex.utilities.loop_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/machine_utils/index.html">fabex.utilities.machine_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/material_utils/index.html">fabex.utilities.material_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/numba_utils/index.html">fabex.utilities.numba_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/ocl_utils/index.html">fabex.utilities.ocl_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/operation_utils/index.html">fabex.utilities.operation_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/orient_utils/index.html">fabex.utilities.orient_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/shapely_utils/index.html">fabex.utilities.shapely_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/simple_utils/index.html">fabex.utilities.simple_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/strategy_utils/index.html">fabex.utilities.strategy_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/thread_utils/index.html">fabex.utilities.thread_utils</a></li>
<li class="toctree-l4"><a class="reference internal" href="autoapi/fabex/utilities/version_utils/index.html">fabex.utilities.version_utils</a></li>
</ul>
</details></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/version/index.html">fabex.version</a></li>
<li class="toctree-l3"><a class="reference internal" href="autoapi/fabex/voronoi/index.html">fabex.voronoi</a></li>
</ul>
</details></li>
</ul>
</details></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
</div>
<div id="rtd-footer-container"></div>
</div>
<main id="main-content" class="bd-main" role="main">
<div class="sbt-scroll-pixel-helper"></div>
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article d-print-none">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item"><button class="sidebar-toggle primary-toggle btn btn-sm" title="Toggle primary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-bars"></span>
</button></div>
</div>
<div class="header-article-items__end">
<div class="header-article-item">
<div class="article-header-buttons">
<div class="dropdown dropdown-download-buttons">
<button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Download this page">
<i class="fas fa-download"></i>
</button>
<ul class="dropdown-menu">
<li><a href="_sources/starting.md" target="_blank"
class="btn btn-sm btn-download-source-button dropdown-item"
title="Download source file"
data-bs-placement="left" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-file"></i>
</span>
<span class="btn__text-container">.md</span>
</a>
</li>
<li>
<button onclick="window.print()"
class="btn btn-sm btn-download-pdf-button dropdown-item"
title="Print to PDF"
data-bs-placement="left" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-file-pdf"></i>
</span>
<span class="btn__text-container">.pdf</span>
</button>
</li>
</ul>
</div>
<button onclick="toggleFullScreen()"
class="btn btn-sm btn-fullscreen-button"
title="Fullscreen mode"
data-bs-placement="bottom" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-expand"></i>
</span>
</button>
<script>
document.write(`
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>
<script>
document.write(`
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
`);
</script>
<button class="sidebar-toggle secondary-toggle btn btn-sm" title="Toggle secondary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-list"></span>
</button>
</div></div>
</div>
</div>
</div>
<div id="jb-print-docs-body" class="onlyprint">
<h1>Getting Started</h1>
<!-- Table of contents -->
<div id="print-main-content">
<div id="jb-print-toc">
<div>
<h2> Contents </h2>
</div>
<nav aria-label="Page">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#setup-your-scene">Setup your Scene</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#change-the-render-engine">Change the Render Engine</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#setup-your-machine-parameters">Setup your Machine Parameters</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#add-an-operation">Add an Operation</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#choose-a-milling-strategy">Choose a Milling Strategy</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#setup-stock-material-and-position-your-object">Setup Stock Material and Position your Object</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#configure-the-operation-settings">Configure the Operation Settings</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#operation-setup">[ Operation Setup ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#optimisation">[ Optimisation ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#operation-area">[ Operation Area ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#feedrate">[ Feedrate ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#cutter">[ Cutter ]</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#calculate-path-and-generate-gcode">Calculate Path and Generate Gcode</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#operation-simulation">Operation Simulation</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#combine-multiple-operations-in-a-chain">Combine Multiple Operations in a Chain</a></li>
</ul>
</nav>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="getting-started">
<h1>Getting Started<a class="headerlink" href="#getting-started" title="Link to this heading">#</a></h1>
<p>This is a step-by-step tutorial on generating your first toolpath with <strong>Fabex</strong>.</p>
<p>For detailed descriptions of User Interface options go <a class="reference internal" href="interface.html"><span class="std std-doc">here</span></a>.</p>
<section id="setup-your-scene">
<h2>Setup your Scene<a class="headerlink" href="#setup-your-scene" title="Link to this heading">#</a></h2>
<p>You can use any object to generate toolpaths, but for the purpose of this guide we will use Suzanne, the monkey.</p>
<p>To reproduce the results shown below you will need to:</p>
<ul class="simple">
<li><p>select and delete the default cube</p></li>
<li><p>click <strong>Add</strong> &gt; <strong>Mesh</strong> &gt; <strong>Monkey</strong> <em>(or press Shift+A to get the Add Menu and do the same)</em></p></li>
</ul>
<p>Now we are going to scale and rotate the monkey head so that it gives us the best results and doesnt trigger any warnings about being too big for our machine:</p>
<ul class="simple">
<li><p>press <strong>S</strong>, then <strong>.05</strong> on your keyboard to scale it down</p></li>
<li><p>press <strong>R</strong>, then <strong>X</strong>, then <strong>-90</strong> to rotate it on the X axis by -90 degrees</p></li>
<li><p>press <strong>S</strong>, then <strong>Z</strong>, then <strong>.5</strong> to scale it down on the Z axis</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><em>If you dont want to reproduce the guide results exactly, you can skip all of the above and perform the operations on the default cube, but you will get a warning about the object being too big for your machine if you dont scale it down to fit inside the <strong>CAM_machine</strong> area.</em></p>
</div>
</section>
<section id="change-the-render-engine">
<h2>Change the Render Engine<a class="headerlink" href="#change-the-render-engine" title="Link to this heading">#</a></h2>
<p>In the <strong>Properties</strong> area, in the <strong>Render</strong> tab, set the <strong>Render Engine</strong> to <strong>Fabex CNC/CAM</strong></p>
<p><img alt="Renderer selection" src="_images/RenderEngine.png" /></p>
</section>
<section id="setup-your-machine-parameters">
<h2>Setup your Machine Parameters<a class="headerlink" href="#setup-your-machine-parameters" title="Link to this heading">#</a></h2>
<p>In the <strong>[ Machine ]</strong> panel, enter the specs of your CNC Machine, including:</p>
<ul class="simple">
<li><p><strong>Post-Processor</strong></p></li>
<li><p><strong>Unit System</strong> <em>(Metric or Imperial)</em> &amp; <strong>Length Unit</strong> <em>(ft, in, m, mm)</em></p></li>
<li><p><strong>Work Area</strong></p></li>
<li><p><strong>Feedrate</strong> &amp; <strong>Spindle Speed</strong> Min/Max</p></li>
<li><p><strong>Machine G-code</strong> output options</p></li>
<li><p>Custom <strong>Position Definitions</strong> for Start, End and Tool Change</p></li>
<li><p>Multi-Axis Options and more</p></li>
</ul>
<p><img alt="Machine setup" src="_images/MachineParameters.png" /></p>
</section>
<section id="add-an-operation">
<h2>Add an Operation<a class="headerlink" href="#add-an-operation" title="Link to this heading">#</a></h2>
<p>In the <strong>[ Operations ]</strong> panel, click the <strong>+</strong> button to add a new Operation.</p>
<p><img alt="New operation" src="_images/NewOperation.png" /></p>
<p><em>Once an Operation has been added, the rest of the Interface will populate with Operation settings panels.</em></p>
</section>
<section id="choose-a-milling-strategy">
<h2>Choose a Milling Strategy<a class="headerlink" href="#choose-a-milling-strategy" title="Link to this heading">#</a></h2>
<p>In the <strong>[ Operation Setup ]</strong> panel, choose <strong>Parallel</strong> from the <strong>Strategy</strong> dropdown.</p>
<p><img alt="Select operation" src="_images/ChooseStrategy.png" /></p>
<p><strong>Outline Fill</strong>, <strong>Circles</strong>, <strong>Spiral</strong>, <strong>Block</strong>, or <strong>Cross</strong> will also work for this example.</p>
<p><strong>Waterline</strong> and other operations require curve data source. See how to generate curves from mesh model <a class="reference internal" href="#Profile%20and%20Pocket%20operations.md"><span class="xref myst">here</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><em>If you are not sure what each milling strategy does, check the <a class="reference internal" href="strategies.html"><span class="std std-doc">Strategies</span></a> page for pictures and explanations of how each works.</em></p>
</div>
</section>
<section id="setup-stock-material-and-position-your-object">
<h2>Setup Stock Material and Position your Object<a class="headerlink" href="#setup-stock-material-and-position-your-object" title="Link to this heading">#</a></h2>
<p>In the <strong>[ Material ]</strong> panel, click <strong>Size from Model</strong> to allow <strong>Fabex</strong> to auto-calculate the size of the required Stock Material, you can then set <strong>Additional Radius</strong> to mill additional stock around object.</p>
<p>If you know the dimensions of your stock, e.g. a plywood sheet, you can uncheck <strong>Size from Model</strong> and enter the dimensions manually.</p>
<p>You can manually position object inside the Machines Work Area, or use <strong>Position Object</strong> to position it automatically using the listed alignment options.</p>
<p><img alt="Material Panel" src="_images/MaterialPanel.png" /></p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><em>If the box representing material doesnt update, uncheck <strong>Size from Model</strong> and then check it again.</em></p>
</div>
</section>
<section id="configure-the-operation-settings">
<h2>Configure the Operation Settings<a class="headerlink" href="#configure-the-operation-settings" title="Link to this heading">#</a></h2>
<section id="operation-setup">
<h3>[ Operation Setup ]<a class="headerlink" href="#operation-setup" title="Link to this heading">#</a></h3>
<p>In the <strong>[ Operation Setup ]</strong> panel, under the <strong>Parallel</strong> settings, find <strong>Toolpath Distance</strong>.</p>
<p><strong>Between</strong> is the distance between toolpaths, and allows you to set Stepover values to determine how close each path should be to the next.</p>
<p><strong>Along</strong> determines path accuracy. Paths are made up of points, and the lower the distance between them, the more points you will have.</p>
<p>Lower values result in more accurate toolpath, but make computation slower and increase amount of resulting G-code.</p>
<p><img alt="Toolpath Distance" src="_images/ToolpathDistance.png" /></p>
</section>
<section id="optimisation">
<h3>[ Optimisation ]<a class="headerlink" href="#optimisation" title="Link to this heading">#</a></h3>
<p>Click to enable <strong>Exact Mode</strong> - it improves accuracy.</p>
<p>You can also select <strong>Use OpenCAMLib</strong> - it improves accuracy and speeds up the computing time.</p>
<p><img alt="" src="_images/OptimisationPanel.png" /></p>
<p><em>OpenCAMLib also enables a high quality algorithm to calculate waterline toolpaths.</em></p>
</section>
<section id="operation-area">
<h3>[ Operation Area ]<a class="headerlink" href="#operation-area" title="Link to this heading">#</a></h3>
<p>In the <strong>[ Operation Area ]</strong> panel, click the arrow next to <strong>Layers</strong> to enter a <strong>Layer Height</strong>.</p>
<p>Under <strong>Operation Depth</strong> you can set the <strong>Start</strong> and <strong>Max</strong> depth.</p>
<p><img alt="" src="_images/OperationArea.png" /></p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><em><strong>Operation Depth Max</strong> is set to auto-calculate from the selected <strong>Object</strong> by default.</em></p>
</div>
</section>
<section id="feedrate">
<h3>[ Feedrate ]<a class="headerlink" href="#feedrate" title="Link to this heading">#</a></h3>
<p>Set the <strong>Feedrate</strong> <em>(in units per minute)</em> and <strong>Spindle</strong> speed <em>(in revolutions per minute)</em> for the Operation.</p>
<p><img alt="" src="_images/FeedratePanel.png" /></p>
<p><em><strong>Plunge</strong> <strong>Speed</strong> and <strong>Angle</strong> slow the operation feedrate when the cutter is moving down on steep areas.</em></p>
</section>
<section id="cutter">
<h3>[ Cutter ]<a class="headerlink" href="#cutter" title="Link to this heading">#</a></h3>
<p>Specify your Cutter <strong>Type</strong>, number of <strong>Flutes</strong> and <strong>Diameter.</strong></p>
<p><img alt="" src="_images/CutterPanel.png" /></p>
<p><em>Set the <strong>Tool Number</strong> and <strong>Description</strong> if applicable.</em></p>
</section>
</section>
<section id="calculate-path-and-generate-gcode">
<h2>Calculate Path and Generate Gcode<a class="headerlink" href="#calculate-path-and-generate-gcode" title="Link to this heading">#</a></h2>
<p>Back in the <strong>[ Operations ]</strong> panel, click <strong>Calculate Path &amp; Export Gcode</strong>.</p>
<p><img alt="Calculate path" src="_images/OperationsPanelSuzanne.png" /></p>
<p>This will calculate the toolpath, add it to the <strong>Blender</strong> scene and export a Gcode file to the same directory as your .blend file.</p>
<p><img alt="Calculate path view" src="_images/SuzannePath.png" /></p>
</section>
<section id="operation-simulation">
<h2>Operation Simulation<a class="headerlink" href="#operation-simulation" title="Link to this heading">#</a></h2>
<p>Click <strong>Simulate This Operation</strong> to create model representing your machined material.</p>
<p>You can use this to determine your best milling strategy, how much finishing work a job will need, etc.</p>
<p><img alt="Simulate Operation" src="_images/SuzanneSimulation.png" /></p>
<p>Or, combine it with Blender shaders and HDRIs to get a better idea of what your piece will look like in your chosen material, with light and shadow.</p>
<p><img alt="Simulate Operation" src="_images/SuzanneWoodSim.png" /></p>
</section>
<section id="combine-multiple-operations-in-a-chain">
<h2>Combine Multiple Operations in a Chain<a class="headerlink" href="#combine-multiple-operations-in-a-chain" title="Link to this heading">#</a></h2>
<p>You may need to combine multiple strategies and Opertations to achieve your desired result, and Chains make that possible.</p>
<p>Chains allow you to combine multiple Operations for Gcode export or Simulation.</p>
<p>In the <strong>[ Chains ]</strong> panel, click the <strong>+</strong> button to add a new Chain.</p>
<p>This will add a second box below the first to hold the Operations for this Chain.</p>
<p>Click the lower <strong>+</strong> button to add the active Operation to your Chain.</p>
<p><img alt="New chain" src="_images/ChainsPanel.png" /></p>
</section>
</section>
</article>
<footer class="prev-next-footer d-print-none">
<div class="prev-next-area">
<a class="left-prev"
href="install.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">Installation</p>
</div>
</a>
<a class="right-next"
href="interface.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">User Interface</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> Contents
</div>
<nav class="bd-toc-nav page-toc">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#setup-your-scene">Setup your Scene</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#change-the-render-engine">Change the Render Engine</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#setup-your-machine-parameters">Setup your Machine Parameters</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#add-an-operation">Add an Operation</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#choose-a-milling-strategy">Choose a Milling Strategy</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#setup-stock-material-and-position-your-object">Setup Stock Material and Position your Object</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#configure-the-operation-settings">Configure the Operation Settings</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#operation-setup">[ Operation Setup ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#optimisation">[ Optimisation ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#operation-area">[ Operation Area ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#feedrate">[ Feedrate ]</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#cutter">[ Cutter ]</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#calculate-path-and-generate-gcode">Calculate Path and Generate Gcode</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#operation-simulation">Operation Simulation</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#combine-multiple-operations-in-a-chain">Combine Multiple Operations in a Chain</a></li>
</ul>
</nav></div>
</div></div>
</div>
<footer class="bd-footer-content">
<div class="bd-footer-content__inner container">
<div class="footer-item">
<p class="component-author">
By Vilem Novak, Alain Pelletier & Contributors
</p>
</div>
<div class="footer-item">
<p class="copyright">
© Copyright 2025.
<br/>
</p>
</div>
<div class="footer-item">
</div>
<div class="footer-item">
</div>
</div>
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script src="_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>
<footer class="bd-footer">
</footer>
</body>
</html>