Merge branch 'prusa-slicer' into 'main'

Prusa slicer

See merge request fablab/labsync!81
This commit is contained in:
jalr 2023-09-28 17:35:32 +00:00
commit f4eee886e9
10 changed files with 203 additions and 73 deletions

View file

@ -12,6 +12,7 @@
- role: windowmanager - role: windowmanager
- role: inkscape - role: inkscape
- role: lightburn - role: lightburn
- role: prusa-slicer
- role: fablab - role: fablab
- role: hardware - role: hardware
- role: docker - role: docker
@ -45,51 +46,6 @@
version: 3.3.1 version: 3.3.1
lightburn: lightburn:
dockerimage: r.jalr.de/fablab/lightburn dockerimage: r.jalr.de/fablab/lightburn
prusa_slicer:
settings: |
no_controller = 1
no_defaults = 1
preset_update = 0
show_splash_screen = 0
use_inches = 0
version_check = 0
view_mode = expert
[filaments]
AmazonBasics TPU @MINI = 1
Das Filament PLA = 1
Generic PETG = 1
Generic PETG @MINI = 1
Generic PETG @MMU2 = 1
Generic PLA = 1
Generic PLA @MMU2 = 1
Prusament ASA = 1
Prusament ASA @MINI = 1
Prusament ASA @MMU2 = 1
Prusament PC Blend = 1
Prusament PC Blend @MINI = 1
Prusament PC Blend @MMU2 = 1
Prusament PETG = 1
Prusament PETG @MINI = 1
Prusament PETG @MMU2 = 1
Prusament PLA = 1
Prusament PLA @MMU2 = 1
Prusament PVB = 1
Prusament PVB @MMU2 = 1
Verbatim BVOH = 1
Verbatim BVOH @MMU2 = 1
[presets]
filament = Prusament PLA
physical_printer =
print = 0.15mm QUALITY @MK3
printer = Original Prusa i3 MK3
sla_material =
sla_print =
[vendor:PrusaResearch]
model:MK3 = 0.4
model:MK3SMMU2S = 0.4
firefox: firefox:
language_packs: language_packs:
- de - de
@ -113,3 +69,53 @@
lightburn: lightburn:
devices: devices:
- https://raw.githubusercontent.com/fablab-nea/LaserKutter/main/lightburn/LaserKutter.lbdev - https://raw.githubusercontent.com/fablab-nea/LaserKutter/main/lightburn/LaserKutter.lbdev
prusa_slicer:
settings: |
no_controller = 1
no_defaults = 1
preset_update = 0
show_splash_screen = 0
use_inches = 0
version_check = 0
view_mode = expert
tls_accepted_cert_store_location = /etc/ssl/certs/ca-certificates.crt
tls_cert_store_accepted = yes
[filaments]
AmazonBasics TPU @MINI = 1
Das Filament PLA = 1
Generic PETG = 1
Generic PETG @MINI = 1
Generic PETG @MMU2 = 1
Generic PLA = 1
Generic PLA @MMU2 = 1
Prusament ASA = 1
Prusament ASA @MINI = 1
Prusament ASA @MMU2 = 1
Prusament PC Blend = 1
Prusament PC Blend @MINI = 1
Prusament PC Blend @MMU2 = 1
Prusament PETG = 1
Prusament PETG @MINI = 1
Prusament PETG @MMU2 = 1
Prusament PLA = 1
Prusament PLA @MMU2 = 1
Prusament PVB = 1
Prusament PVB @MMU2 = 1
Verbatim BVOH = 1
Verbatim BVOH @MMU2 = 1
[presets]
filament = Prusament PLA
physical_printer =
print = 0.15mm QUALITY @MK3
printer = Original Prusa i3 MK3
sla_material =
sla_print =
[vendor:PrusaResearch]
model:MK3 = 0.4
model:MK3SMMU2S = 0.4
[vendor:Ultimaker]
model:ULTIMAKER2 = 0.4

View file

@ -18,9 +18,6 @@
- import_tasks: visicut.yml - import_tasks: visicut.yml
tags: tags:
- fablab:visicut - fablab:visicut
- import_tasks: prusa.yml
tags:
- fablab:prusa
# - import_tasks: platformio.yml # - import_tasks: platformio.yml
# tags: # tags:
# - fablab:platformio # - fablab:platformio

View file

@ -1,25 +0,0 @@
---
- name: install slic3r-prusa
apt:
name: slic3r-prusa
state: present
- name: create skel directories
file:
path: "/etc/skel/{{ item }}"
state: directory
loop:
- .config
- .config/PrusaSlicer
- .config/PrusaSlicer/vendor
- name: create symlink to vendor profiles
file:
src: /usr/share/PrusaSlicer/profiles/PrusaResearch.ini
dest: /etc/skel/.config/PrusaSlicer/vendor/PrusaResearch.ini
state: link
- name: Copy Prusa slicer settings
copy:
content: "{{ fablab.prusa_slicer.settings }}"
dest: /etc/skel/.config/PrusaSlicer/PrusaSlicer.ini

View file

@ -0,0 +1,2 @@
---
prusa_slicer_use_package: false

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Prusa GCode viewer
Exec=/opt/PrusaSlicer/bin/prusa-slicer --gcodeviewer %F
Icon=/opt/PrusaSlicer/resources/icons/PrusaSlicer-gcodeviewer.svg
Terminal=false
Type=Application
MimeType=text/x.gcode;
Categories=Graphics;3DGraphics;
Keywords=3D;Printing;Slicer;

View file

@ -0,0 +1,12 @@
[Desktop Entry]
Name=PrusaSlicer
GenericName=3D Printing Software
Terminal=false
Exec=/opt/PrusaSlicer/bin/prusa-slicer %F
Icon=/opt/PrusaSlicer/resources/icons/PrusaSlicer.png
Type=Application
MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;application/x-amf;
Categories=Graphics;3DGraphics;Engineering;
Keywords=3D;Printing;Slicer;slice;3D;printer;convert;gcode;stl;obj;amf;SLA
StartupNotify=false
StartupWMClass=prusa-slicer

View file

@ -0,0 +1,46 @@
---
- set_fact:
prusa_slicer_profiles_directory: /usr/share/PrusaSlicer/profiles
when: prusa_slicer_use_package | bool
- set_fact:
prusa_slicer_profiles_directory: /opt/PrusaSlicer/resources/profiles
when: not prusa_slicer_use_package | bool
- name: create skel directories
file:
path: "/etc/skel/{{ item }}"
state: directory
loop:
- .config
- .config/PrusaSlicer
- .config/PrusaSlicer/vendor
- name: create symlink to vendor profiles
file:
src: "{{ prusa_slicer_profiles_directory }}/{{ item }}.ini"
dest: /etc/skel/.config/PrusaSlicer/vendor/{{ item }}.ini
state: link
loop:
- PrusaResearch
- Ultimaker
- name: Stat /opt/PrusaSlicer
stat:
path: /opt/PrusaSlicer
register: prusa_slicer_stat
- name: Set version
set_fact:
prusa_slicer_version: "{{ prusa_slicer_stat.stat.lnk_target | regex_replace('^/opt/PrusaSlicer-(.*)-[0-9]{12}$', '\\1') }}"
when: prusa_slicer_stat.stat.exists and prusa_slicer_stat.stat.islnk
- debug:
var: prusa_slicer_version
- name: Copy Prusa slicer settings
copy:
content: |
version_system_info_sent = {{ prusa_slicer_version | default('') }}
{{ prusa_slicer.settings }}
dest: /etc/skel/.config/PrusaSlicer/PrusaSlicer.ini

View file

@ -0,0 +1,60 @@
---
- name: Get latest release
uri:
url: https://api.github.com/repos/prusa3d/PrusaSlicer/releases/latest
return_content: true
register: prusa_slicer_release
- name: Create tarball tempfile
tempfile:
state: file
suffix: .tar.gz
register: prusa_slicer_tarball
- name: Select asset
set_fact:
prusa_slicer_asset: "{{ asset }}"
when: "asset.name | regex_search('PrusaSlicer-.*linux-x64-GTK3.*\\.tar\\.bz2$')"
loop: "{{ prusa_slicer_release.json.assets }}"
loop_control:
loop_var: asset
label: "{{ asset.name }}"
- name: Download release file
get_url:
url: "{{ prusa_slicer_asset.browser_download_url }}"
dest: "{{ prusa_slicer_tarball.path }}"
force: true
- name: Extract tarball
unarchive:
src: "{{ prusa_slicer_tarball.path }}"
dest: /opt
remote_src: true
- name: Remove tarball
ansible.builtin.file:
path: "{{ prusa_slicer_tarball.path }}"
state: absent
when: prusa_slicer_tarball.path is defined
- name: Create symlink
file:
src: "/opt/{{ prusa_slicer_directory }}"
dest: "/opt/PrusaSlicer"
state: link
vars:
prusa_slicer_directory: "{{ prusa_slicer_asset.name | regex_replace('\\.tar\\.bz2$', '') }}"
- name: Create applications directory
file:
path: /usr/local/share/applications/
state: directory
- name: Copy desktop files
copy:
src: "{{ item }}.desktop"
dest: /usr/local/share/applications/{{ item }}.desktop
loop:
- PrusaSlicer
- PrusaGcodeviewer

View file

@ -0,0 +1,18 @@
---
- block:
- import_tasks: package.yml
when: prusa_slicer_use_package | bool
tags:
- prusa-slicer:install
- import_tasks: install_from_github.yml
when: not prusa_slicer_use_package | bool
tags:
- prusa-slicer:install
- import_tasks: configure.yml
tags:
- prusa-slicer:configure
tags:
- prusa-slicer

View file

@ -0,0 +1,5 @@
---
- name: install slic3r-prusa
apt:
name: slic3r-prusa
state: present