kopia lustrzana https://github.com/vilemduha/blendercam
314 wiersze
12 KiB
ReStructuredText
314 wiersze
12 KiB
ReStructuredText
===========
|
|
Overview
|
|
===========
|
|
Fabex (formerly BlenderCAM) code can be broken down into categories:
|
|
|
|
1. Core Functions
|
|
2. Extra Functions
|
|
3. Reference Files
|
|
4. User Interface
|
|
5. Dependencies
|
|
|
|
Core Functions
|
|
==============
|
|
The core function of the Fabex addon is to take whatever object is in the viewport and generate toolpaths along that object according to a milling strategy set by the user.
|
|
|
|
These operations can be exported alone, or combined into chains to be exported and run together.
|
|
|
|
Extra Functions
|
|
===============
|
|
Beyond simply creating toolpaths for existing objects, Fabex can also create the objects (curves) and edit them through a number of operations.
|
|
|
|
There are modules dedicated to creating reliefs, joinery, puzzle joinery and gears.
|
|
|
|
There is also a simulation module to allow a preview of what the final product will look like, as well as an asynchronous module that allows progress reports on calculations.
|
|
|
|
Reference Files
|
|
===============
|
|
Presets for machines, tools, operations and post-processors.
|
|
|
|
User Interface
|
|
==============
|
|
Files related to Blender's UI - panels, menus, pie menus, popup dialogs etc.
|
|
|
|
Dependencies
|
|
============
|
|
Python wheels - executable binaries packed in for all supported systems.
|
|
|
|
Complete Addon Layout
|
|
---------------------
|
|
|
|
::
|
|
|
|
cam/
|
|
├── operators/
|
|
│ ├── __init__.py
|
|
│ ├── async_op.py
|
|
│ ├── bas_relief_op.py
|
|
│ ├── bridges_op.py
|
|
│ ├── chain_ops.py
|
|
│ ├── curve_create_ops.py
|
|
│ ├── curve_equation_ops.py
|
|
│ ├── curve_tools_ops.py
|
|
│ ├── gcode_import_op.py
|
|
│ ├── operation_ops.py
|
|
│ ├── orient_op.py
|
|
│ ├── pack_op.py
|
|
│ ├── path_ops.py
|
|
│ ├── position_op.py
|
|
│ ├── preset_ops.py
|
|
│ ├── simulation_ops.py
|
|
│ └── slice_op.py
|
|
├── post_processors/
|
|
│ ├── LICENSE
|
|
│ ├── __init__.py
|
|
│ ├── anilam_crusader_m.py
|
|
│ ├── anilam_crusader_m_read.py
|
|
│ ├── attach.py
|
|
│ ├── cad_iso_read.py
|
|
│ ├── cad_nc_read.py
|
|
│ ├── cad_read.py
|
|
│ ├── centroid1.py
|
|
│ ├── centroid1_read.py
|
|
│ ├── drag_knife.py
|
|
│ ├── emc2.py
|
|
│ ├── emc2_read.py
|
|
│ ├── emc2b.py
|
|
│ ├── emc2b_crc.py
|
|
│ ├── emc2b_crc_read.py
|
|
│ ├── emc2b_read.py
|
|
│ ├── emc2tap.py
|
|
│ ├── emc2tap_read.py
|
|
│ ├── fadal.py
|
|
│ ├── format.py
|
|
│ ├── gantry_router.py
|
|
│ ├── gantry_router_read.py
|
|
│ ├── gravos.py
|
|
│ ├── grbl.py
|
|
│ ├── heiden.py
|
|
│ ├── heiden530.py
|
|
│ ├── heiden_read.py
|
|
│ ├── hm50.py
|
|
│ ├── hm50_read.py
|
|
│ ├── hpgl2d.py
|
|
│ ├── hpgl2d_read.py
|
|
│ ├── hpgl2dv.py
|
|
│ ├── hpgl2dv_read.py
|
|
│ ├── hpgl3d.py
|
|
│ ├── hpgl3d_read.py
|
|
│ ├── hxml_writer.py
|
|
│ ├── iso.py
|
|
│ ├── iso_codes.py
|
|
│ ├── iso_crc.py
|
|
│ ├── iso_crc_read.py
|
|
│ ├── iso_modal.py
|
|
│ ├── iso_modal_read.py
|
|
│ ├── iso_read.py
|
|
│ ├── lathe1.py
|
|
│ ├── lathe1_read.py
|
|
│ ├── lynx_otter_o.py
|
|
│ ├── mach3.py
|
|
│ ├── mach3_read.py
|
|
│ ├── machines.txt
|
|
│ ├── makerbotHBP.py
|
|
│ ├── makerbotHBP_read.py
|
|
│ ├── makerbot_codes.py
|
|
│ ├── nc.py
|
|
│ ├── nc_read.py
|
|
│ ├── nclathe_read.py
|
|
│ ├── num_reader.py
|
|
│ ├── printbot3d.py
|
|
│ ├── printbot3d_read.py
|
|
│ ├── recreator.py
|
|
│ ├── rez2.py
|
|
│ ├── rez2_read.py
|
|
│ ├── series1.py
|
|
│ ├── series1_read.py
|
|
│ ├── shopbot_mtc.py
|
|
│ ├── siegkx1.py
|
|
│ ├── siegkx1_read.py
|
|
│ ├── tnc151.py
|
|
│ ├── tnc151_read.py
|
|
│ └── winpc.py
|
|
├── presets/
|
|
│ ├── cam_cutters
|
|
│ ├── BALLCONE_1.00mm.py
|
|
│ ├── ball_1.00mm.py
|
|
│ ├── ball_1.50mm.py
|
|
│ ├── ball_10.00mm.py
|
|
│ ├── ball_12.00mm.py
|
|
│ ├── ball_16.00mm.py
|
|
│ ├── ball_2.00mm.py
|
|
│ ├── ball_2.50mm.py
|
|
│ ├── ball_20.00mm.py
|
|
│ ├── ball_3.00mm.py
|
|
│ ├── ball_3.50mm.py
|
|
│ ├── ball_4.00mm.py
|
|
│ ├── ball_5.00mm.py
|
|
│ ├── ball_6.00mm.py
|
|
│ ├── ball_7.00mm.py
|
|
│ ├── ball_8.00mm.py
|
|
│ ├── end_cyl_1.00mm.py
|
|
│ ├── end_cyl_1.50mm.py
|
|
│ ├── end_cyl_10.00mm.py
|
|
│ ├── end_cyl_12.00mm.py
|
|
│ ├── end_cyl_16.00mm.py
|
|
│ ├── end_cyl_2.00mm.py
|
|
│ ├── end_cyl_2.50mm.py
|
|
│ ├── end_cyl_20.00mm.py
|
|
│ ├── end_cyl_3.00mm.py
|
|
│ ├── end_cyl_3.50mm.py
|
|
│ ├── end_cyl_4.00mm.py
|
|
│ ├── end_cyl_5.00mm.py
|
|
│ ├── end_cyl_6.00mm.py
|
|
│ ├── end_cyl_7.00mm.py
|
|
│ ├── end_cyl_8.00mm.py
|
|
│ ├── v-carve_3mm_45deg.py
|
|
│ ├── v-carve_3mm_60deg.py
|
|
│ ├── v-carve_6mm_45deg.py
|
|
│ └── v-carve_6mm_60deg.py
|
|
├── cam_machines/
|
|
│ ├── emc_test_2.py
|
|
│ └── kk1000s.py
|
|
├── cam_operations/
|
|
│ ├── Fin_Ball_3,0_Block_All.py
|
|
│ ├── Fin_Ball_3,0_Block_Around.py
|
|
│ ├── Fin_Ball_3,0_Circles_All_EXPERIMENTAL.py
|
|
│ ├── Fin_Ball_3,0_Circles_Around_EXPERIMENTAL.py
|
|
│ ├── Fin_Ball_3,0_Cross_All.py
|
|
│ ├── Fin_Ball_3,0_Cross_Around.py
|
|
│ ├── Fin_Ball_3,0_Cutout.py
|
|
│ ├── Fin_Ball_3,0_Outline_Fill_EXPERIMENTAL.py
|
|
│ ├── Fin_Ball_3,0_Parallel_All.py
|
|
│ ├── Fin_Ball_3,0_Parallel_Around.py
|
|
│ ├── Fin_Ball_3,0_Pencil_EXPERIMENTAL.py
|
|
│ ├── Fin_Ball_3,0_Pocket_EXPERIMENTAL.py
|
|
│ ├── Fin_Ball_3,0_Spiral_All.py
|
|
│ ├── Fin_Ball_3,0_Spiral_Around.py
|
|
│ ├── Finishing_3mm_ballnose.py
|
|
│ ├── Rou_Ball_3,0_Block_All.py
|
|
│ ├── Rou_Ball_3,0_Block_Around.py
|
|
│ ├── Rou_Ball_3,0_Circles_All_EXPERIMENTAL.py
|
|
│ ├── Rou_Ball_3,0_Circles_Around_EXPERIMENTAL.py
|
|
│ ├── Rou_Ball_3,0_Cross_All.py
|
|
│ ├── Rou_Ball_3,0_Cross_Around.py
|
|
│ ├── Rou_Ball_3,0_Cutout.py
|
|
│ ├── Rou_Ball_3,0_Outline_Fill_EXPERIMENTAL.py
|
|
│ ├── Rou_Ball_3,0_Parallel_All.py
|
|
│ ├── Rou_Ball_3,0_Parallel_Around.py
|
|
│ ├── Rou_Ball_3,0_Pencil_EXPERIMENTAL.py
|
|
│ ├── Rou_Ball_3,0_Pocket_EXPERIMENTAL.py
|
|
│ ├── Rou_Ball_3,0_Spiral_All.py
|
|
│ └── Rou_Ball_3,0_Spiral_Around.py
|
|
├── properties/
|
|
│ ├── __init__.py
|
|
│ ├── chain_props.py
|
|
│ ├── info_props.py
|
|
│ ├── interface_props.py
|
|
│ ├── machine_props.py
|
|
│ ├── material_props.py
|
|
│ ├── movement_props.py
|
|
│ ├── operation_props.py
|
|
│ └── optimisation_props.py
|
|
├── tests/
|
|
│ ├── test_data
|
|
│ ├── TESTING_PROCEDURE
|
|
│ ├── gcode_generator.py
|
|
│ ├── install_addon.py
|
|
│ └── test_suite.py
|
|
├── ui/
|
|
│ ├── menus/
|
|
│ │ ├── curve_creators.py
|
|
│ │ ├── curve_tools.py
|
|
│ │ ├── import_gcode.py
|
|
│ │ ├── preset_menus.py
|
|
│ │ └── viewport.py
|
|
│ ├── panels/
|
|
│ │ ├── __init__.py
|
|
│ │ ├── area_panel.py
|
|
│ │ ├── basrelief.py
|
|
│ │ ├── blank_panel.py
|
|
│ │ ├── chains_panel.py
|
|
│ │ ├── curve_create_panel.py
|
|
│ │ ├── curve_tools_panel.py
|
|
│ │ ├── cutter_panel.py
|
|
│ │ ├── feedrate_panel.py
|
|
│ │ ├── gcode_panel.py
|
|
│ │ ├── info_panel.py
|
|
│ │ ├── machine_panel.py
|
|
│ │ ├── material_panel.py
|
|
│ │ ├── movement_panel.py
|
|
│ │ ├── op_properties_panel.py
|
|
│ │ ├── operations_panel.py
|
|
│ │ ├── optimisation_panel.py
|
|
│ │ ├── pack_panel.py
|
|
│ │ ├── parent_panel.py
|
|
│ │ ├── popup_panel.py
|
|
│ │ └── slice_panel.py
|
|
│ ├── pie_menu/
|
|
│ │ ├── pie_cam.py
|
|
│ │ ├── pie_chains.py
|
|
│ │ ├── pie_operation.py
|
|
│ │ └── pie_pack_slice_relief.py
|
|
│ └── __init__.py
|
|
├── utilities/
|
|
│ ├── __init__.py
|
|
│ ├── addon_utils.py
|
|
│ ├── async_utils.py
|
|
│ ├── bounds_utils.py
|
|
│ ├── chunk_utils.py
|
|
│ ├── compare_utils.py
|
|
│ ├── dict_utils.py
|
|
│ ├── geom_utils.py
|
|
│ ├── image_utils.py
|
|
│ ├── index_utils.py
|
|
│ ├── loop_utils.py
|
|
│ ├── machine_utils.py
|
|
│ ├── material_utils.py
|
|
│ ├── numba_utils.py
|
|
│ ├── ocl_utils.py
|
|
│ ├── operation_utils.py
|
|
│ ├── orient_utils.py
|
|
│ ├── shapely_utils.py
|
|
│ ├── simple_utils.py
|
|
│ ├── strategy_utils.py
|
|
│ ├── thread_utils.py
|
|
│ └── version_utils.py
|
|
├── wheels/
|
|
│ ├── opencamlib-2023.1.11-cp311-cp311-macosx_10_9_x86_64.whl
|
|
│ ├── opencamlib-2023.1.11-cp311-cp311-macosx_11_0_arm64.whl
|
|
│ ├── opencamlib-2023.1.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
|
|
│ ├── opencamlib-2023.1.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
│ ├── opencamlib-2023.1.11-cp311-cp311-win32.whl
|
|
│ ├── opencamlib-2023.1.11-cp311-cp311-win_amd64.whl
|
|
│ ├── shapely-2.0.5-cp311-cp311-macosx_10_9_x86_64.whl
|
|
│ ├── shapely-2.0.5-cp311-cp311-macosx_11_0_arm64.whl
|
|
│ ├── shapely-2.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
|
|
│ ├── shapely-2.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
│ ├── shapely-2.0.5-cp311-cp311-win32.whl
|
|
│ └── shapely-2.0.5-cp311-cp311-win_amd64.whl
|
|
├── __init__.py
|
|
├── bas_relief.py
|
|
├── blender_manifest.toml
|
|
├── bridges.py
|
|
├── cam_chunk.py
|
|
├── collision.py
|
|
├── constants.py
|
|
├── engine.py
|
|
├── exception.py
|
|
├── gcode_import_parser.py
|
|
├── gcode_path.py
|
|
├── involute_gear.py
|
|
├── joinery.py
|
|
├── pack.py
|
|
├── parametric.py
|
|
├── pattern.py
|
|
├── preferences.py
|
|
├── puzzle_joinery.py
|
|
├── simulation.py
|
|
├── slice.py
|
|
├── strategy.py
|
|
├── testing.py
|
|
├── version.py
|
|
└── voronoi.py
|