62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from Base.BaseClass import BaseClass
|
|
from Base.Metadata import export, no_args
|
|
|
|
from Part.App.TopoShape import TopoShape
|
|
from CAM.App.Command import Command
|
|
|
|
@export(
|
|
Include="Mod/CAM/PathSimulator/AppGL/CAMSim.h",
|
|
FatherInclude="Base/BaseClassPy.h",
|
|
Namespace="CAMSimulator",
|
|
Constructor=True,
|
|
Delete=True,
|
|
)
|
|
class CAMSim(BaseClass):
|
|
"""
|
|
FreeCAD python wrapper of CAMSimulator
|
|
|
|
CAMSimulator.CAMSim():
|
|
|
|
Create a path simulator object
|
|
|
|
Author: Shai Seger (shaise_at_g-mail)
|
|
License: LGPL-2.1-or-later
|
|
"""
|
|
|
|
def BeginSimulation(self, stock: TopoShape, resolution: float) -> None:
|
|
"""
|
|
Start a simulation process on a box shape stock with given resolution
|
|
"""
|
|
...
|
|
|
|
@no_args
|
|
def ResetSimulation(self) -> None:
|
|
"""
|
|
Clear the simulation and all gcode commands
|
|
"""
|
|
...
|
|
|
|
def AddTool(self, shape: TopoShape, toolnumber: int, diameter: float, resolution: float) -> Any:
|
|
"""
|
|
Set the shape of the tool to be used for simulation
|
|
"""
|
|
...
|
|
|
|
def SetBaseShape(self, shape: TopoShape, resolution: float) -> None:
|
|
"""
|
|
Set the shape of the base object of the job
|
|
"""
|
|
...
|
|
|
|
def AddCommand(self, command: Command, /) -> Any:
|
|
"""
|
|
Add a path command to the simulation.
|
|
"""
|
|
...
|