diff --git a/3mf/base/Electronics_Cover_Bottom_[x1].3mf b/3mf/base/Electronics_Cover_Bottom_[x1].3mf deleted file mode 100644 index a1b38fa..0000000 Binary files a/3mf/base/Electronics_Cover_Bottom_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Center_Module_[x2].3mf b/3mf/base/Electronics_Cover_Center_Module_[x2].3mf deleted file mode 100644 index 31c15ec..0000000 Binary files a/3mf/base/Electronics_Cover_Center_Module_[x2].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Connectors_Module_[x1].3mf b/3mf/base/Electronics_Cover_Connectors_Module_[x1].3mf deleted file mode 100644 index e904581..0000000 Binary files a/3mf/base/Electronics_Cover_Connectors_Module_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Display_Module_Hinge_Lock_[x1].3mf b/3mf/base/Electronics_Cover_Display_Module_Hinge_Lock_[x1].3mf deleted file mode 100644 index 3d89ae2..0000000 Binary files a/3mf/base/Electronics_Cover_Display_Module_Hinge_Lock_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Display_Module_Hinge_[x1].3mf b/3mf/base/Electronics_Cover_Display_Module_Hinge_[x1].3mf deleted file mode 100644 index a6115b7..0000000 Binary files a/3mf/base/Electronics_Cover_Display_Module_Hinge_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Display_Module_Panel_[x1].3mf b/3mf/base/Electronics_Cover_Display_Module_Panel_[x1].3mf deleted file mode 100644 index 809aa27..0000000 Binary files a/3mf/base/Electronics_Cover_Display_Module_Panel_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Fan&Switch_Module_[x1].3mf b/3mf/base/Electronics_Cover_Fan&Switch_Module_[x1].3mf deleted file mode 100644 index ef09231..0000000 Binary files a/3mf/base/Electronics_Cover_Fan&Switch_Module_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Fan_Module_[x1].3mf b/3mf/base/Electronics_Cover_Fan_Module_[x1].3mf deleted file mode 100644 index b25c22d..0000000 Binary files a/3mf/base/Electronics_Cover_Fan_Module_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Cover_Top_[x1].3mf b/3mf/base/Electronics_Cover_Top_[x1].3mf deleted file mode 100644 index e604027..0000000 Binary files a/3mf/base/Electronics_Cover_Top_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_DIN_Rail_Holder_[x6].3mf b/3mf/base/Electronics_DIN_Rail_Holder_[x6].3mf deleted file mode 100644 index f912270..0000000 Binary files a/3mf/base/Electronics_DIN_Rail_Holder_[x6].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Display_Back_[x1].3mf b/3mf/base/Electronics_Display_Back_[x1].3mf deleted file mode 100644 index 230e8d6..0000000 Binary files a/3mf/base/Electronics_Display_Back_[x1].3mf and /dev/null differ diff --git a/3mf/base/Electronics_Display_Frame_[x1].3mf b/3mf/base/Electronics_Display_Frame_[x1].3mf deleted file mode 100644 index 4906ba1..0000000 Binary files a/3mf/base/Electronics_Display_Frame_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Bearing_Holder_[x1].3mf b/3mf/base/Frame_Bearing_Holder_[x1].3mf deleted file mode 100644 index 2d03d17..0000000 Binary files a/3mf/base/Frame_Bearing_Holder_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Handle_[x1].3mf b/3mf/base/Frame_Handle_[x1].3mf deleted file mode 100644 index 8a89df2..0000000 Binary files a/3mf/base/Frame_Handle_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Motor_Mount_[x1].3mf b/3mf/base/Frame_Motor_Mount_[x1].3mf deleted file mode 100644 index 1f87f4f..0000000 Binary files a/3mf/base/Frame_Motor_Mount_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Plate_Bottom_Left_[x1].3mf b/3mf/base/Frame_Plate_Bottom_Left_[x1].3mf deleted file mode 100644 index 84f6b5f..0000000 Binary files a/3mf/base/Frame_Plate_Bottom_Left_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Plate_Bottom_Right_[x1].3mf b/3mf/base/Frame_Plate_Bottom_Right_[x1].3mf deleted file mode 100644 index d3acde5..0000000 Binary files a/3mf/base/Frame_Plate_Bottom_Right_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Plate_Clamp_[x4].3mf b/3mf/base/Frame_Plate_Clamp_[x4].3mf deleted file mode 100644 index dee069c..0000000 Binary files a/3mf/base/Frame_Plate_Clamp_[x4].3mf and /dev/null differ diff --git a/3mf/base/Frame_Plate_Top_Left_[x1].3mf b/3mf/base/Frame_Plate_Top_Left_[x1].3mf deleted file mode 100644 index aac5de8..0000000 Binary files a/3mf/base/Frame_Plate_Top_Left_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Plate_Top_Right_[x1].3mf b/3mf/base/Frame_Plate_Top_Right_[x1].3mf deleted file mode 100644 index 0e59325..0000000 Binary files a/3mf/base/Frame_Plate_Top_Right_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Tip_Bottom_[x1].3mf b/3mf/base/Frame_Tip_Bottom_[x1].3mf deleted file mode 100644 index 58cf9ef..0000000 Binary files a/3mf/base/Frame_Tip_Bottom_[x1].3mf and /dev/null differ diff --git a/3mf/base/Frame_Tip_Top_[x1].3mf b/3mf/base/Frame_Tip_Top_[x1].3mf deleted file mode 100644 index c0b64cf..0000000 Binary files a/3mf/base/Frame_Tip_Top_[x1].3mf and /dev/null differ diff --git a/cad/Frame_Assembly.FCStd b/cad/Frame_Assembly.FCStd deleted file mode 100644 index 5a443f2..0000000 Binary files a/cad/Frame_Assembly.FCStd and /dev/null differ diff --git a/cad/Sheets.FCStd b/cad/Sheets.FCStd deleted file mode 100644 index 05e508e..0000000 Binary files a/cad/Sheets.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Bottom.FCStd b/cad/printed/base/Electronics_Cover_Bottom.FCStd deleted file mode 100644 index a7a4a67..0000000 Binary files a/cad/printed/base/Electronics_Cover_Bottom.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Center_Module.FCStd b/cad/printed/base/Electronics_Cover_Center_Module.FCStd deleted file mode 100644 index 1cb0707..0000000 Binary files a/cad/printed/base/Electronics_Cover_Center_Module.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Center_Module.stl b/cad/printed/base/Electronics_Cover_Center_Module.stl deleted file mode 100644 index 3d63bc2..0000000 Binary files a/cad/printed/base/Electronics_Cover_Center_Module.stl and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Connectors_Module.FCStd b/cad/printed/base/Electronics_Cover_Connectors_Module.FCStd deleted file mode 100644 index ee926ca..0000000 Binary files a/cad/printed/base/Electronics_Cover_Connectors_Module.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Display_Module.FCStd b/cad/printed/base/Electronics_Cover_Display_Module.FCStd deleted file mode 100644 index 236ccb0..0000000 Binary files a/cad/printed/base/Electronics_Cover_Display_Module.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Empty_Module.FCStd b/cad/printed/base/Electronics_Cover_Empty_Module.FCStd deleted file mode 100644 index feb880a..0000000 Binary files a/cad/printed/base/Electronics_Cover_Empty_Module.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Fan_Module.FCStd b/cad/printed/base/Electronics_Cover_Fan_Module.FCStd deleted file mode 100644 index 2bca2af..0000000 Binary files a/cad/printed/base/Electronics_Cover_Fan_Module.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Cover_Top.FCStd b/cad/printed/base/Electronics_Cover_Top.FCStd deleted file mode 100644 index c2cbd5f..0000000 Binary files a/cad/printed/base/Electronics_Cover_Top.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_DIN_Rail_Holder.FCStd b/cad/printed/base/Electronics_DIN_Rail_Holder.FCStd deleted file mode 100644 index d57e8fe..0000000 Binary files a/cad/printed/base/Electronics_DIN_Rail_Holder.FCStd and /dev/null differ diff --git a/cad/printed/base/Electronics_Display.FCStd b/cad/printed/base/Electronics_Display.FCStd deleted file mode 100644 index 96c664c..0000000 Binary files a/cad/printed/base/Electronics_Display.FCStd and /dev/null differ diff --git a/cad/printed/base/Frame_Bearing_Holder.FCStd b/cad/printed/base/Frame_Bearing_Holder.FCStd deleted file mode 100644 index ffdb09c..0000000 Binary files a/cad/printed/base/Frame_Bearing_Holder.FCStd and /dev/null differ diff --git a/cad/printed/base/Frame_Handle.FCStd b/cad/printed/base/Frame_Handle.FCStd deleted file mode 100644 index fee3eda..0000000 Binary files a/cad/printed/base/Frame_Handle.FCStd and /dev/null differ diff --git a/cad/printed/base/Frame_Motor_Mount.FCStd b/cad/printed/base/Frame_Motor_Mount.FCStd deleted file mode 100644 index 86ca95e..0000000 Binary files a/cad/printed/base/Frame_Motor_Mount.FCStd and /dev/null differ diff --git a/cad/printed/base/Frame_Plate_Bottom.FCStd b/cad/printed/base/Frame_Plate_Bottom.FCStd deleted file mode 100644 index d8ae084..0000000 Binary files a/cad/printed/base/Frame_Plate_Bottom.FCStd and /dev/null differ diff --git a/cad/printed/base/Frame_Plate_Top.FCStd b/cad/printed/base/Frame_Plate_Top.FCStd deleted file mode 100644 index 9df4306..0000000 Binary files a/cad/printed/base/Frame_Plate_Top.FCStd and /dev/null differ diff --git a/cad/printed/base/Frame_Tip_Bottom.FCStd b/cad/printed/base/Frame_Tip_Bottom.FCStd deleted file mode 100644 index dca8a36..0000000 Binary files a/cad/printed/base/Frame_Tip_Bottom.FCStd and /dev/null differ diff --git a/cad/printed/base/Frame_Tip_Top.FCStd b/cad/printed/base/Frame_Tip_Top.FCStd deleted file mode 100644 index 3e87dcc..0000000 Binary files a/cad/printed/base/Frame_Tip_Top.FCStd and /dev/null differ diff --git a/cad/sourced/608-2RS_22x8x7.FCStd b/cad/sourced/608-2RS_22x8x7.FCStd deleted file mode 100644 index e50ba87..0000000 Binary files a/cad/sourced/608-2RS_22x8x7.FCStd and /dev/null differ diff --git a/cad/sourced/C14_Socket_w_Switch_Fuse.FCStd b/cad/sourced/C14_Socket_w_Switch_Fuse.FCStd deleted file mode 100644 index 6d1ce17..0000000 Binary files a/cad/sourced/C14_Socket_w_Switch_Fuse.FCStd and /dev/null differ diff --git a/cad/sourced/DIN_Rail_130mm.FCStd b/cad/sourced/DIN_Rail_130mm.FCStd deleted file mode 100644 index 406e1cf..0000000 Binary files a/cad/sourced/DIN_Rail_130mm.FCStd and /dev/null differ diff --git a/cad/sourced/Electronics_Cover.FCStd b/cad/sourced/Electronics_Cover.FCStd deleted file mode 100644 index 617b1cf..0000000 Binary files a/cad/sourced/Electronics_Cover.FCStd and /dev/null differ diff --git a/cad/sourced/Electronics_Separator.FCStd b/cad/sourced/Electronics_Separator.FCStd deleted file mode 100644 index 11ca298..0000000 Binary files a/cad/sourced/Electronics_Separator.FCStd and /dev/null differ diff --git a/cad/sourced/Fan_40x40.FCStd b/cad/sourced/Fan_40x40.FCStd deleted file mode 100644 index 336d37d..0000000 Binary files a/cad/sourced/Fan_40x40.FCStd and /dev/null differ diff --git a/cad/sourced/Flexible_Shaft_Coupling_5x8.FCStd b/cad/sourced/Flexible_Shaft_Coupling_5x8.FCStd deleted file mode 100644 index 1a22d15..0000000 Binary files a/cad/sourced/Flexible_Shaft_Coupling_5x8.FCStd and /dev/null differ diff --git a/cad/sourced/Keystone_RJ-45.FCStd b/cad/sourced/Keystone_RJ-45.FCStd deleted file mode 100644 index 0fefe3d..0000000 Binary files a/cad/sourced/Keystone_RJ-45.FCStd and /dev/null differ diff --git a/cad/sourced/LRS-200.FCStd b/cad/sourced/LRS-200.FCStd deleted file mode 100644 index 9460791..0000000 Binary files a/cad/sourced/LRS-200.FCStd and /dev/null differ diff --git a/cad/sourced/Lead_Screw_Tr8_250.FCStd b/cad/sourced/Lead_Screw_Tr8_250.FCStd deleted file mode 100644 index 14d407a..0000000 Binary files a/cad/sourced/Lead_Screw_Tr8_250.FCStd and /dev/null differ diff --git a/cad/sourced/NDR-240.FCStd b/cad/sourced/NDR-240.FCStd deleted file mode 100644 index 11c0878..0000000 Binary files a/cad/sourced/NDR-240.FCStd and /dev/null differ diff --git a/cad/sourced/Profile-20x20-130.FCStd b/cad/sourced/Profile-20x20-130.FCStd deleted file mode 100644 index bd01476..0000000 Binary files a/cad/sourced/Profile-20x20-130.FCStd and /dev/null differ diff --git a/cad/sourced/Profile-20x20-60.FCStd b/cad/sourced/Profile-20x20-60.FCStd deleted file mode 100644 index 0e5a494..0000000 Binary files a/cad/sourced/Profile-20x20-60.FCStd and /dev/null differ diff --git a/cad/sourced/Profile-20x20.FCStd b/cad/sourced/Profile-20x20.FCStd deleted file mode 100644 index 649169e..0000000 Binary files a/cad/sourced/Profile-20x20.FCStd and /dev/null differ diff --git a/cad/sourced/Profile-20x40-300.FCStd b/cad/sourced/Profile-20x40-300.FCStd deleted file mode 100644 index bc5c171..0000000 Binary files a/cad/sourced/Profile-20x40-300.FCStd and /dev/null differ diff --git a/cad/sourced/RS-150.FCStd b/cad/sourced/RS-150.FCStd deleted file mode 100644 index 653d489..0000000 Binary files a/cad/sourced/RS-150.FCStd and /dev/null differ diff --git a/cad/sourced/Rapsberry_Pi_3B_Plus.FCStd b/cad/sourced/Rapsberry_Pi_3B_Plus.FCStd deleted file mode 100644 index 884d127..0000000 Binary files a/cad/sourced/Rapsberry_Pi_3B_Plus.FCStd and /dev/null differ diff --git a/cad/sourced/Rocker_Switch.FCStd b/cad/sourced/Rocker_Switch.FCStd deleted file mode 100644 index e79d67c..0000000 Binary files a/cad/sourced/Rocker_Switch.FCStd and /dev/null differ diff --git a/cad/sourced/Rod_8_300.FCStd b/cad/sourced/Rod_8_300.FCStd deleted file mode 100644 index 9d52ada..0000000 Binary files a/cad/sourced/Rod_8_300.FCStd and /dev/null differ diff --git a/cad/sourced/UHP-200A.FCStd b/cad/sourced/UHP-200A.FCStd deleted file mode 100644 index 983fa68..0000000 Binary files a/cad/sourced/UHP-200A.FCStd and /dev/null differ diff --git a/cad/sourced/WAGO_2002-1201.FCStd b/cad/sourced/WAGO_2002-1201.FCStd deleted file mode 100644 index 990c1f8..0000000 Binary files a/cad/sourced/WAGO_2002-1201.FCStd and /dev/null differ diff --git a/scripts/generate_3mf_files.py b/scripts/generate_3mf_files.py deleted file mode 100755 index f90eecb..0000000 --- a/scripts/generate_3mf_files.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/freecadcmd - -import os -import FreeCAD as App # type: ignore -import Mesh # type: ignore - -# Define the project root directory -project_root = os.path.abspath( - os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir) -) - -# Define the directories for CAD files and 3MF export files -printed_cad_dir = os.path.join(project_root, "cad", "printed") -printed_3mf_dir = os.path.join(project_root, "3mf") - -# Create the 3mf directory if it doesn't exist -os.makedirs(printed_3mf_dir, exist_ok=True) - -# List to keep track of files that failed to export -failed_files = [] - -# Traverse the printed CAD directory and its subdirectories -for root, dirs, files in os.walk(printed_cad_dir): - for file in files: - if file.endswith(".FCStd"): - # Absolute path of the CAD file - file_path = os.path.join(root, file) - - App.Console.PrintMessage(f"\nProcessing {file_path}\n") - - # Open the FreeCAD document - doc = App.openDocument(file_path) - App.setActiveDocument(doc.Name) - App.ActiveDocument.recompute() - - # Iterate over all objects in the document - for obj in doc.Objects: - # Check if the object is Std_Part - if obj.TypeId == "App::Part": - # Construct the output path for the 3MF file using the label - output_path = os.path.join( - printed_3mf_dir, - os.path.relpath(root, printed_cad_dir), - f"{obj.Label}.3mf", - ) - # Create the output directory if it doesn't already exist - os.makedirs(os.path.dirname(output_path), exist_ok=True) - - try: - # Export the part to a 3MF file - Mesh.export([obj], output_path) - App.Console.PrintMessage( - f"Exported {obj.Label} to {output_path}\n" - ) - except Exception as e: - App.Console.PrintError(f"Error exporting {obj.Label}: {e}\n") - failed_files.append(file_path) - - # Close the FreeCAD document - App.closeDocument(doc.Name) - -# Print the result of the export process -if failed_files: - App.Console.PrintError("\nThe following files failed to export:\n") - for file in failed_files: - App.Console.PrintError(f" - {file}\n") -else: - App.Console.PrintMessage("\nAll files have been exported successfully.\n") diff --git a/scripts/generate_assembly_images.py b/scripts/generate_assembly_images.py deleted file mode 100755 index fba9e91..0000000 --- a/scripts/generate_assembly_images.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/freecadcmd - -import os -import FreeCAD as App # type: ignore -import FreeCADGui as Gui # type: ignore - -# Define the project root directory -project_root = os.path.abspath( - os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir) -) - -# Define the CAD directory -cad_dir = os.path.join(project_root, "cad") - -# Define the output directory -output_dir = os.path.join(project_root, "tex", "images", "2_prakticka_cast") - -# Ensure the output directory exists -os.makedirs(output_dir, exist_ok=True) - -# Iterate over all files in the CAD directory (excluding nested directories) -for file in os.listdir(cad_dir): - if file.endswith(".FCStd"): - file_path = os.path.join(cad_dir, file) - App.Console.PrintMessage(f"\nProcessing {file_path}\n") - - # Open the FreeCAD document - doc = App.open(file_path) - App.setActiveDocument(doc.Name) - App.ActiveDocument.recompute() - - # Check if the document contains any assemblies (App::Part) - has_assembly = any( - hasattr(obj, "Type") and obj.Type == "Assembly" for obj in doc.Objects - ) - - if has_assembly: - # Gui.showMainWindow() - - # Set visibility to true for all objects in the assembly and hide all objects outside of the assembly - for obj in doc.Objects: - if hasattr(obj, "Type") and obj.Type == "Assembly": - for sub_obj in obj.OutList: - if sub_obj.ViewObject is not None: - sub_obj.ViewObject.Visibility = True - else: - if obj.ViewObject is not None: - obj.ViewObject.Visibility = False - - for view in [ - "ViewIsometric", - "ViewFront", - "ViewTop", - "ViewRight", - "ViewRear", - "ViewBottom", - "ViewLeft", - ]: - Gui.ActiveDocument.sendMsgToViews(view) - output_path = os.path.join( - output_dir, f'{file.replace(".FCStd", "")}_{view}.png' - ) - Gui.ActiveDocument.ActiveView.saveImage( - output_path, 1920, 1080, "Transparent" - ) - App.Console.PrintMessage(f"Exported {view} view to {output_path}\n") - - else: - App.Console.PrintMessage( - f"No assembly found in {file_path}, skipping image generation.\n" - ) - - # Close the FreeCAD document - App.closeDocument(doc.Name) diff --git a/tex/generated/titulni-list.pdf b/tex/generated/titulni-list.pdf index a91a836..dc8217b 100644 Binary files a/tex/generated/titulni-list.pdf and b/tex/generated/titulni-list.pdf differ diff --git a/tex/generated/zadani.pdf b/tex/generated/zadani.pdf index f9a2af5..f9a47a1 100644 Binary files a/tex/generated/zadani.pdf and b/tex/generated/zadani.pdf differ diff --git a/tex/nastaveni.tex b/tex/nastaveni.tex index 0fedfba..46db29f 100644 --- a/tex/nastaveni.tex +++ b/tex/nastaveni.tex @@ -9,8 +9,8 @@ %english-slovak, % originální jazyk je angličtina, překlad je slovensky % %%% Z následujících voleb typu práce lze použít pouze jednu - semestral, % semestrální práce (výchozí) - %bachelor, % bakalářská práce + %semestral, % semestrální práce (výchozí) + bachelor, % bakalářská práce %master, % diplomová práce %treatise, % pojednání o disertační práci %doctoral, % disertační práce diff --git a/tex/out/prace.pdf b/tex/out/prace.pdf index 03a2ad0..2455f5d 100644 Binary files a/tex/out/prace.pdf and b/tex/out/prace.pdf differ diff --git a/tex/text/3_prakticka_cast.tex b/tex/text/3_prakticka_cast.tex index a82a1fa..ba51649 100644 --- a/tex/text/3_prakticka_cast.tex +++ b/tex/text/3_prakticka_cast.tex @@ -47,7 +47,7 @@ Po obvodu skříně jsou upevněny další části tiskárny. Jednou z~nich je d \section{Tisk} -Nastavení sliceru vychází z~nastavení doporučení projektu Voron. Jedná se tedy následující nastavení: +Nastavení sliceru vychází z~nastavení doporučeného projektu Voron. Jedná se tedy následující nastavení: \begin{itemize} \item Výška vrstvy: \textbf{0,2mm} @@ -60,9 +60,9 @@ Nastavení sliceru vychází z~nastavení doporučení projektu Voron. Jedná se Doporučenými materiály pro tisk jsou: \textbf{ASA}, ABS nebo PETG. -\section{Implementace kinematiky SCARA do Klippy} +\section{Implementace kinematiky SCARA do Klipperu} % cSpell:disable-next-line -Klippy je část firmwaru Klipper, která běží na počítači uvnitř 3D tiskárny, ke kterému je připojena řídící deska. Kód je napsán převážně v~jazyce Python, přičemž některé funkce jsou implementovány v~jazyce C. Volání těchto funkcí je realizováno použitím rozhraní CFFI (C Foreign Function Interface). Klippy slouží k~interpreataci výrobních instrukcí -- GCode, které jsou přeloženy na volání iterních metod. Tyto volání jsou odesílány po sběrnici USB do řídící desky, která například generuje pulzy pro krokové motory nebo spíná topná tělesa.~\cite{klipper_code_overview} +Klipper je část firmwaru Klipper, která běží na počítači uvnitř 3D tiskárny, ke kterému je připojena řídící deska. Kód je napsán převážně v~jazyce Python, přičemž některé funkce jsou implementovány v~jazyce C. Volání těchto funkcí je realizováno použitím rozhraní CFFI (C Foreign Function Interface). Klippy slouží k~interpreataci výrobních instrukcí -- GCode, které jsou přeloženy na volání iterních metod. Tyto volání jsou odesílány po sběrnici USB do řídící desky, která například generuje pulzy pro krokové motory nebo spíná topná tělesa.~\cite{klipper_code_overview} \subsection{Přímá a~inverzní kinematika} Kinematické transformace se používají k~převodu natočení kloubů na souřadnice koncového bodu (přímá transformace) a~naopak (inverzní transformace). Pro výpočet transformace je třeba znát délky ramen \(L_1\) a~\(L_2\), offsety ramen \(x_{offset}\) a~\(y_{offset}\) a~Elbow Crosstalk Ratio (ECR). @@ -133,7 +133,13 @@ Dalším krokem je výpočet vzdálenosti od počátku. hypot = \sqrt{x^2 + y^2} \end{equation} -Dále se vypočítají úhly ramen \(\phi_S\) (shoulder) a~\(\phi_E\) (elbow). +Dále se vypočítají úhly ramen \(\phi_E\) (elbow) a~\(\phi_S\) (shoulder). + +\begin{equation} + \phi_E = arccos \left( \frac { x^2 + y^2 + L_1^2 + L_2^2 } { 2 \cdot L_1 \cdot L_2 } \right) [\si{\radian}] +\end{equation} + +kde \(L_1\) a~\(L_2\) jsou délky ramen. \begin{equation} % cSpell:disable-next-line @@ -142,22 +148,6 @@ Dále se vypočítají úhly ramen \(\phi_S\) (shoulder) a~\(\phi_E\) (elbow). kde \(L_1\) a~\(L_2\) jsou délky ramen. -\begin{equation} - \phi_E = \frac { \phi_S } { ECR } + arccos \left( \frac { x^2 + y^2 + L_1^2 + L_2^2 } { 2 \cdot L_1 \cdot L_2 } \right) [\si{\radian}] -\end{equation} - -kde \(ECR\) je Elbow Crosstalk Ratio, \(L_1\) a~\(L_2\) jsou délky ramen. - -Následně stačí převést úhel v~radiánech na stupně. - -\begin{equation} - \Phi_S = \phi_S \cdot \frac { 180 } { \pi } [\si{\degree}] -\end{equation} - -\begin{equation} - \Phi_E = \phi_E \cdot \frac { 180 } { \pi } [\si{\degree}] -\end{equation} - % \section{Konfigurace tiskárny} % \section{Kalibrace tiskárny} \ No newline at end of file