kopia lustrzana https://github.com/vilemduha/blendercam
				
				
				
			
						commit
						74e9dc29f8
					
				|  | @ -77,11 +77,11 @@ jobs: | |||
|           export PATH=$PATH:${BLENDER_BIN_PATH} | ||||
|         fi | ||||
|         export ADDON_PATH=${PWD}/scripts/addons/blendercam.zip | ||||
|         cd scripts/addons/cam/tests | ||||
|         cd scripts/addons/fabex/tests | ||||
|         python install_addon.py ${ADDON_PATH} | ||||
|         python test_suite.py -vvv | ||||
|     - uses: actions/upload-artifact@v4 | ||||
|       if: always() | ||||
|       with: | ||||
|         name: blendercam-${{matrix.os}}-${{matrix.blender_version}} | ||||
|         path: ./scripts/addons/cam | ||||
|         path: ./scripts/addons/fabex | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ jobs: | |||
|         from pathlib import Path | ||||
|         import re | ||||
|         import os | ||||
|         v_file=Path("scripts","addons","cam","version.py") | ||||
|         v_file=Path("scripts","addons","fabex","version.py") | ||||
|         version_txt=v_file.read_text() | ||||
|         major,minor,patch = re.match(r".*\(\s*(\d+),(\s*\d+),(\s*\d+)\)",version_txt).groups() | ||||
|         major=int(major) | ||||
|  | @ -48,7 +48,7 @@ jobs: | |||
|           patch=0 | ||||
|         v_file.write_text(f"__version__=({major},{minor},{patch})") | ||||
|         # update in bl_info structure (which can't be dynamic because blender...) | ||||
|         toml_file=Path("scripts","addons","cam","blender_manifest.toml") | ||||
|         toml_file=Path("scripts","addons","fabex","blender_manifest.toml") | ||||
|         toml_text=toml_file.read_text() | ||||
|         version_regex= r'version\s=\s"[0-9]+\.[0-9]+\.[0-9]+"' | ||||
|         toml_text = re.sub(version_regex,f'version = "{major}.{minor}.{patch}"',toml_text) | ||||
|  | @ -80,4 +80,4 @@ jobs: | |||
|         artifacts: "scripts/addons/fabexcnc.zip" | ||||
|         tag: ${{ env.VERSION_TAG }} | ||||
|         allowUpdates: true | ||||
|         body: "To install Fabexcnc extension for Blender, download fabexcnc.zip and *don't* extract it. In blender, go to preferences, Get Extensions, and select 'install from disk' and select the CNCCAM.zip file you downloaded" | ||||
|         body: "To install FabexCNC extension for Blender, download fabexcnc.zip and *don't* extract it. In Blender, go to Preferences, Get Extensions, and select 'Install from Disk' and select the CNCCAM.zip file you downloaded" | ||||
|  |  | |||
|  | @ -31,7 +31,7 @@ jobs: | |||
|       - name: make the sphinx docs | ||||
|         run: | | ||||
|           make -C scripts/addons/docs clean  | ||||
|           sphinx-apidoc -f -o scripts/addons/docs scripts/addons/cam | ||||
|           sphinx-apidoc -f -o scripts/addons/docs scripts/addons/fabex | ||||
|           make -C scripts/addons/docs html | ||||
| 
 | ||||
|       - name: Init new repo in dist folder and commit generated files | ||||
|  |  | |||
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							|  | @ -3,16 +3,16 @@ | |||
| import os | ||||
| import sys | ||||
| 
 | ||||
| sys.path.insert(0, os.path.abspath("../cam/")) | ||||
| sys.path.insert(0, os.path.abspath("../fabex/")) | ||||
| 
 | ||||
| 
 | ||||
| # -- Project information ----------------------------------------------------- | ||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information | ||||
| 
 | ||||
| project = "Fabex" | ||||
| copyright = "2024" | ||||
| copyright = "2025" | ||||
| author = "Vilem Novak, Alain Pelletier & Contributors" | ||||
| release = "1.0.38" | ||||
| release = "1.0.65" | ||||
| 
 | ||||
| # -- General configuration --------------------------------------------------- | ||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration | ||||
|  | @ -28,7 +28,7 @@ extensions = [ | |||
| ] | ||||
| 
 | ||||
| autoapi_type = "python" | ||||
| autoapi_dirs = ["../cam"] | ||||
| autoapi_dirs = ["../fabex"] | ||||
| autoapi_ignore = [ | ||||
|     "*post_processors*", | ||||
|     "*presets*", | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| cam package | ||||
| fabex package | ||||
| =========== | ||||
| 
 | ||||
| Subpackages | ||||
|  | @ -7,187 +7,187 @@ Subpackages | |||
| .. toctree:: | ||||
|    :maxdepth: 4 | ||||
| 
 | ||||
|    cam.operators | ||||
|    cam.post_processors | ||||
|    cam.properties | ||||
|    cam.ui | ||||
|    cam.utilities | ||||
|    fabex.operators | ||||
|    fabex.post_processors | ||||
|    fabex.properties | ||||
|    fabex.ui | ||||
|    fabex.utilities | ||||
| 
 | ||||
| Submodules | ||||
| ---------- | ||||
| 
 | ||||
| cam.bas\_relief module | ||||
| fabex.bas\_relief module | ||||
| -------------------- | ||||
| 
 | ||||
| .. automodule:: cam.bas_relief | ||||
| .. automodule:: fabex.bas_relief | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.bridges module | ||||
| fabex.bridges module | ||||
| ------------------ | ||||
| 
 | ||||
| .. automodule:: cam.bridges | ||||
| .. automodule:: fabex.bridges | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.cam\_chunk module | ||||
| fabex.fabex\_chunk module | ||||
| --------------------- | ||||
| 
 | ||||
| .. automodule:: cam.cam_chunk | ||||
| .. automodule:: fabex.fabex_chunk | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.collision module | ||||
| fabex.collision module | ||||
| -------------------- | ||||
| 
 | ||||
| .. automodule:: cam.collision | ||||
| .. automodule:: fabex.collision | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.constants module | ||||
| fabex.constants module | ||||
| -------------------- | ||||
| 
 | ||||
| .. automodule:: cam.constants | ||||
| .. automodule:: fabex.constants | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.engine module | ||||
| fabex.engine module | ||||
| ----------------- | ||||
| 
 | ||||
| .. automodule:: cam.engine | ||||
| .. automodule:: fabex.engine | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.exception module | ||||
| fabex.exception module | ||||
| -------------------- | ||||
| 
 | ||||
| .. automodule:: cam.exception | ||||
| .. automodule:: fabex.exception | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.gcode\_import\_parser module | ||||
| fabex.gcode\_import\_parser module | ||||
| ---------------------------- | ||||
| 
 | ||||
| .. automodule:: cam.gcode_import_parser | ||||
| .. automodule:: fabex.gcode_import_parser | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.gcode\_path module | ||||
| fabex.gcode\_path module | ||||
| -------------------- | ||||
| 
 | ||||
| .. automodule:: cam.gcode_path | ||||
| .. automodule:: fabex.gcode_path | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.involute\_gear module | ||||
| fabex.involute\_gear module | ||||
| ------------------------- | ||||
| 
 | ||||
| .. automodule:: cam.involute_gear | ||||
| .. automodule:: fabex.involute_gear | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.joinery module | ||||
| fabex.joinery module | ||||
| ------------------ | ||||
| 
 | ||||
| .. automodule:: cam.joinery | ||||
| .. automodule:: fabex.joinery | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.pack module | ||||
| fabex.pack module | ||||
| --------------- | ||||
| 
 | ||||
| .. automodule:: cam.pack | ||||
| .. automodule:: fabex.pack | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.parametric module | ||||
| fabex.parametric module | ||||
| --------------------- | ||||
| 
 | ||||
| .. automodule:: cam.parametric | ||||
| .. automodule:: fabex.parametric | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.pattern module | ||||
| fabex.pattern module | ||||
| ------------------ | ||||
| 
 | ||||
| .. automodule:: cam.pattern | ||||
| .. automodule:: fabex.pattern | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.preferences module | ||||
| fabex.preferences module | ||||
| ---------------------- | ||||
| 
 | ||||
| .. automodule:: cam.preferences | ||||
| .. automodule:: fabex.preferences | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.puzzle\_joinery module | ||||
| fabex.puzzle\_joinery module | ||||
| -------------------------- | ||||
| 
 | ||||
| .. automodule:: cam.puzzle_joinery | ||||
| .. automodule:: fabex.puzzle_joinery | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.simulation module | ||||
| fabex.simulation module | ||||
| --------------------- | ||||
| 
 | ||||
| .. automodule:: cam.simulation | ||||
| .. automodule:: fabex.simulation | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.slice module | ||||
| fabex.slice module | ||||
| ---------------- | ||||
| 
 | ||||
| .. automodule:: cam.slice | ||||
| .. automodule:: fabex.slice | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.strategy module | ||||
| fabex.strategy module | ||||
| ------------------- | ||||
| 
 | ||||
| .. automodule:: cam.strategy | ||||
| .. automodule:: fabex.strategy | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.testing module | ||||
| fabex.testing module | ||||
| ------------------ | ||||
| 
 | ||||
| .. automodule:: cam.testing | ||||
| .. automodule:: fabex.testing | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.version module | ||||
| fabex.version module | ||||
| ------------------ | ||||
| 
 | ||||
| .. automodule:: cam.version | ||||
| .. automodule:: fabex.version | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
| 
 | ||||
| cam.voronoi module | ||||
| fabex.voronoi module | ||||
| ------------------ | ||||
| 
 | ||||
| .. automodule:: cam.voronoi | ||||
| .. automodule:: fabex.voronoi | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
|  | @ -195,7 +195,7 @@ cam.voronoi module | |||
| Module contents | ||||
| --------------- | ||||
| 
 | ||||
| .. automodule:: cam | ||||
| .. automodule:: fabex | ||||
|    :members: | ||||
|    :undoc-members: | ||||
|    :show-inheritance: | ||||
|  | @ -31,6 +31,9 @@ class FABEX_ENGINE(RenderEngine): | |||
|     bl_label = "Fabex CNC/CAM" | ||||
|     bl_use_eevee_viewport = True | ||||
| 
 | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         super().__init__(*args, **kwargs) | ||||
| 
 | ||||
| 
 | ||||
| def get_panels(): | ||||
|     """Retrieve a list of panels for the Blender UI. | ||||
|  | @ -16,7 +16,7 @@ class AsyncCancelledException(Exception): | |||
| 
 | ||||
| 
 | ||||
| class AsyncOperatorMixin: | ||||
|     def __init__(self): | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         self.timer = None | ||||
|         self.coroutine = None | ||||
|         self._is_cancelled = False | ||||
|  | @ -246,6 +246,11 @@ class CalculatePath(Operator, AsyncOperatorMixin): | |||
|     bl_label = "Calculate CAM Paths" | ||||
|     bl_options = {"REGISTER", "UNDO", "BLOCKING"} | ||||
| 
 | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         Operator.__init__(self, *args, **kwargs) | ||||
|         AsyncOperatorMixin.__init__(self, *args, **kwargs) | ||||
|         super().__init__(*args, **kwargs) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def poll(cls, context): | ||||
|         """Check if the current CAM operation is valid. | ||||
|  | @ -346,6 +351,11 @@ class PathsChain(Operator, AsyncOperatorMixin): | |||
|     bl_label = "Calculate CAM Paths in Current Chain and Export Chain G-code" | ||||
|     bl_options = {"REGISTER", "UNDO", "BLOCKING"} | ||||
| 
 | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         Operator.__init__(self, *args, **kwargs) | ||||
|         AsyncOperatorMixin.__init__(self, *args, **kwargs) | ||||
|         super().__init__(*args, **kwargs) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def poll(cls, context): | ||||
|         """Check the validity of the active CAM chain in the given context. | ||||
|  | @ -41,6 +41,11 @@ class CAMSimulate(Operator, AsyncOperatorMixin): | |||
|         default="Operation", | ||||
|     ) | ||||
| 
 | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         Operator.__init__(self, *args, **kwargs) | ||||
|         AsyncOperatorMixin.__init__(self, *args, **kwargs) | ||||
|         super().__init__(*args, **kwargs) | ||||
| 
 | ||||
|     async def execute_async(self, context): | ||||
|         """Execute an asynchronous simulation operation based on the active CAM | ||||
|         operation. | ||||
|  | @ -100,6 +105,11 @@ class CAMSimulateChain(Operator, AsyncOperatorMixin): | |||
|     bl_label = "CAM Simulation" | ||||
|     bl_options = {"REGISTER", "UNDO", "BLOCKING"} | ||||
| 
 | ||||
|     def __init__(self, *args, **kwargs): | ||||
|         Operator.__init__(self, *args, **kwargs) | ||||
|         AsyncOperatorMixin.__init__(self, *args, **kwargs) | ||||
|         super().__init__(*args, **kwargs) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def poll(cls, context): | ||||
|         """Check the validity of the active CAM chain in the scene. | ||||
Some files were not shown because too many files have changed in this diff Show More
		Ładowanie…
	
		Reference in New Issue
	
	 SpectralVectors
						SpectralVectors