Cubo Inviato 18 Agosto Autore Inviato 18 Agosto Comunque ho attaccato la stampante al muro. Immagine di repertorio (vista da sotto) con la staffa in blu sulla stampante : E così è come l ho fissata (piastra di acciaio inox con staffe ad L sul muro) Sono rimasto sorpreso da quanto rigida è diventata. Anche spingendo/battendosulle punte dove finiscono le rotaie di y, no si muove niente, sembra di spingere il muro (in tutte le direzioni). Non c'è proprio storia, mi verrebbe da dire che le core xy "veloci" andrebbero tutte almeno predisposte per montarle a muro, però attendo di calibrare input shaper per avere dati reali. 1 Cita
eaman Inviato 18 Agosto Inviato 18 Agosto 1 ora fa, Cubo ha scritto: Io però, a differenza del tuo file di configurazione non ho la parte dopo il tuo: #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. Che probabilmente è corretto perché devo ancora fare una mesh ? Si probabilmente quella parte viene popolata dopo con l'uso. 1 ora fa, Cubo ha scritto: Ma è normale che quando salvo lo zoffset mi si riavvia tutto ? Tu puoi cambiare lo z-offset da interfaccia e non si deve riavviare, quando spegni pero' perdi i cambiamenti. Se vuoi salvare i cambiamenti devi salvare e per non fare casini quando usi quella macro SAVE_CONFIG suppongo ti faccia un reset ma se vuoi te non la usi e vai a editare a mano il file di config e fai solo SAVE senza RESTART. --------- BTW te c'hai il letto a zone? Vuoi vedere la macro che a seconda della dimensione / posizione mi attiva le zone? L'ho vista ieri sera su la stampante N4P su cui stavo lavorando, funziona. Cita
Cubo Inviato 19 Agosto Autore Inviato 19 Agosto 5 ore fa, eaman ha scritto: Se vuoi salvare i cambiamenti devi salvare e per non fare casini quando usi quella macro SAVE_CONFIG suppongo ti faccia un reset ma se vuoi te non la usi e vai a editare a mano il file di config e fai solo SAVE senza RESTART. OK speravo ci fosse un comando per farlo in automatico senza il reset. 5 ore fa, eaman ha scritto: BTW te c'hai il letto a zone? Vuoi vedere la macro che a seconda della dimensione / posizione mi attiva le zone? L'ho vista ieri sera su la stampante N4P su cui stavo lavorando, funziona. Si, grazie! Mi manca proprio, son curioso di vedere come prende i riferimenti. Cita
eaman Inviato 19 Agosto Inviato 19 Agosto 7 ore fa, Cubo ha scritto: Si, grazie! Mi manca proprio, son curioso di vedere come prende i riferimenti. Gira attorno a: https://github.com/OpenNeptune3D/OpenNept4une/blob/main/printer-confs/n4pro/section_extra_heating.cfg [gcode_macro SET_BED_TEMPERATURE] ; macros for innner & outer bed temperature depending on the print size gcode: SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={params.TARGET} {% if not printer["gcode_macro PRINT_START"].small_print %} SET_HEATER_TEMPERATURE HEATER=heater_bed_outer TARGET={params.TARGET} {% endif %} Print_start: https://github.com/OpenNeptune3D/OpenNept4une/blob/main/printer-confs/base.cfg BTW questa usa KAMP ma anche lo slicer dovrebbe passare le dimensione delle mesh oppure con label object ci dovrebbero essere le info sulle dimensioni. 1 Cita
Killrob Inviato 19 Agosto Inviato 19 Agosto Il 18/8/2024 at 15:14, dnasini ha scritto: Qualche tempo fa su Aliexpress avevo trovato del PTFEcon diametri superiori a quelli del tradizionale Capricorn, quindi si, dovresti trovarlo forse nessuno lo sa o se lo ricorda... ma le FDM possono stampare con filamenti da 1.75, che sono quelli che conosciamo tutti e che usiamo regolarmente, ma anche con filamenti da 2.85 mm https://www.amazon.it/AmazonBasics-Filamento-stampanti-polilattato-85/dp/B07RZTF5QB/ref=sr_1_5?__mk_it_IT=ÅMÅŽÕÑ&crid=3L8Q1N2B85SSL&dib=eyJ2IjoiMSJ9.Uu78vwR-9N0u2I5eNFIX7iC6Iv8TRlGK-o3qHqRrjmBDVJAZYAGGAEcKh3cYm0qTPpRaC5cwaRuetnxnScbkGb2qz3NVx0eFQEdWYeHYRq4clE-pizdCajEWkfIn1QryMP0wykQDh3hoPnc5c-YrGETwTr5HS5sYGTp97GC0ttBPFRvIwdjzp0qAuTcbfUu6vNFJTn1OuTCZfnvbwgp92todTUoVJBetn65V3R-xHE1cWT6PUGOsEXTRVXLmydnEjnTvLe1I29NdApsDQhg0nybeF9QIXTNkdvcUm7T157g.vJUkucCXIB7sUzMpFmqCmwt8aIxf9ZfPNsFBg-Ek5HI&dib_tag=se&keywords=filamento+da+2.85+mm&qid=1724088025&sprefix=filamento+da+2.85+mm%2Caps%2C148&sr=8-5 il che vuol dire che esistono in commercio tubi PTFE da 3 mm https://it.aliexpress.com/item/1005006416470064.html?spm=a2g0o.productlist.main.13.36d2A4IdA4IdVm&algo_pvid=dd0c2197-8d5b-4fdc-9974-af93a182de76&algo_exp_id=dd0c2197-8d5b-4fdc-9974-af93a182de76-6&pdp_npi=4%40dis!EUR!8.82!7.80!!!9.50!8.40!%40210384db17240875915944414e0a54!12000037094688635!sea!IT!933038164!X&curPageLogUid=Upln7jjChPx5&utparam-url=scene%3Asearch|query_from%3A con relativi hotend per il filamento da 2.85 mm https://www.tronxy3dprinter.com/it-it/products/tronxy-veho-series-3mm-full-metal-hotend-extruder-dual-gear-direct-drive-extruder-print-head-kits-apply-to-2-85mm-filament?variant=44308658782428 e relativi nozzles chiaramente https://it.aliexpress.com/item/4000015736659.html?spm=a2g0o.productlist.main.3.161aZxjaZxjaGx&algo_pvid=5cf0ba36-1fb6-44f2-8133-c3a2877ef9b4&algo_exp_id=5cf0ba36-1fb6-44f2-8133-c3a2877ef9b4-1&pdp_npi=4%40dis!EUR!4.54!3.77!!!4.89!4.06!%402103247117240883057273935ee04f!10000000037623051!sea!IT!933038164!X&curPageLogUid=aduVvB81o1hX&utparam-url=scene%3Asearch|query_from%3A 2 Cita
Cubo Inviato 20 Agosto Autore Inviato 20 Agosto Per la cronaca, il sensore per tarare inputshaper è fallato, ne ho preso uno nuovo e sono in attesa che arrivi. Peccato perché senza input shaper ha poco senso avere una stampante da 15K+ mm/s^2. 16 ore fa, eaman ha scritto: BTW questa usa KAMP ma anche lo slicer dovrebbe passare le dimensione delle mesh oppure con label object ci dovrebbero essere le info sulle dimensioni. Label object in orca segnala ad ogni layer quando finisci di stampare un oggetto ed inizia un altro (segnando gli id) ma non sembra dare info sugli ingombri. Mi verrebbe da scrivere un breve script/macro che per il primo layer va a prendere i massimi ed i minimi delle coordinate X ed Y di ogni oggetto, da questi si ricava gli spigoli dei rettangoli che includono gli oggetti e poi attiva solo i letti dove cade almeno uno spigolo. Il problema è che non saprei come fare in modo che un codice in una macro vada ad analizzare un gcode... Forse non si può neanche. Comunque quei dati sugli ingombi (gli spigoli) sono certamente già ricavati da klipper per fare la mesh dinamica però ancora una volta non saprei come andare a prendere quei parametri (cioè come trovare i loro nomi). Sarebbe facile se ci fosse una lista con tutti i parametri dove cercare un model1.xmax per dire. Cita
eaman Inviato 20 Agosto Inviato 20 Agosto (aggiornato) Se guardi in Orca Slicer ha del codice per fare la mesh dinamica con Marlin, immagino le dimensioni le calcoli lo slicer e poi prepari le posizioni per la sonda. START GCODE nello slicer: PRINT_START BED_TEMP=[hot_plate_temp_initial_layer] EXTRUDER_TEMP=[nozzle_temperature_initial_layer] AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]} BED_MESH=adaptive Prusa Slicer BED_MESH_CALIBRATE AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]} Ideal maker BED_MESH_CALIBRATE AREA_START={print_pos_min_x},{print_pos_min_y} AREA_END={print_pos_max_x},{print_pos_max_y} Cura slicer BED_MESH_CALIBRATE AREA_START=%MINX%,%MINY% AREA_END=%MAXX%,%MAXY% https://gist.github.com/ChipCE/95fdbd3c2f3a064397f9610f915f7d02 Modificato 20 Agosto da eaman 2 Cita
Cubo Inviato 20 Agosto Autore Inviato 20 Agosto Mentre provo a buttare giù la macro ho lanciato una stampa abilitando lo "Z_hop a spirale" e mi da questi messaggi: (Su orca ho messo "gcode flavour: Klipper") G3 è l'istruzione per gli archi antiorari. G17 se ho capito bene definisce il piano su cui eseguire (XY) l'arco. A quanto pare il mio klipper non li conosce... Qualcuno usa lo z-hop a spirale senza problemi per caso ? Volevo provarlo ma a questo punto evito. Ecco un G17 G3 nel gcode che sto stampando: Cita
eaman Inviato 20 Agosto Inviato 20 Agosto (aggiornato) 1 ora fa, Cubo ha scritto: A quanto pare il mio klipper non li conosce... Devi avere una stanza: [gcode_arcs] #resolution: 1.0 # An arc will be split into segments. Each segment's length will # equal the resolution in mm set above. Lower values will produce a # finer arc, but also more work for your machine. Arcs smaller than # the configured value will become straight lines. The default is # 1mm. Nel printer.config Modificato 20 Agosto da eaman 1 1 Cita
Cubo Inviato 21 Agosto Autore Inviato 21 Agosto (aggiornato) Ho provato a scrivere una macro, sicuramente ci saranno degli errori, c'è un modo per testarla ? Non dico nell'ambiente klipper proprio ma magari poter testare anche solo il ciclo che dalle coordinate definisce i letti attivi... Io ho Pycharm ma vedo che per usare come interprete Jinja serve la versione pro... Per caso conoscete qualche programma che lo ha gratis ? Altra cosa, banale ma non riesco a trovarla, quale è la sintassi per assegnare nello start gcode delle variabili con dei nomi ? Ad esempio dire a klipper che la variabile A vale 10. Ultima domanda, la regione di stampa "totale" (dove fa la mesh adattiva) è sempre rettangolare o può capitare che venga fuori anche "ad L" per esempio se gli oggetti sono messi in quel modo? Grazie [gcode_macro SCALDA_QUALI_LETTI] #definisce quali letti vanno scaldati gcode: # VANNO DEFINITE DA GCODE (SLICER): Xmin, Ymin, Xmax, Ymax della regione di stampa (sempre rettangolare, vero?) #imposta coordinate min/max x/y della regione di stampa {% set ANGOLI_STAMPA = {"Xmin" = Xmin, "Xmax" = Xmax, "Ymin" = Ymin, "Ymax" = Ymax} %} #crea dizionario delle coordinate min/max x/y dei tre letti (RT=retro DX=destra SX=sinistra) {% set LETTO_RT = {"Xmin": 0 - 10, "Xmax": 345 + 10, "Ymin": 150, "Ymax": 450 + 10, "nome": "RT" %} {% set LETTO_DX = {"Xmin": 0 - 10, "Xmax": 172.5, "Ymin": 0 - 10, "Ymax": 150, "nome": "DX" %} {% set LETTO_SX = {"Xmin": 172.5, "Xmax": 345 + 10, "Ymin": 0 - 10, "Ymax": 150, "nome": "SX" %} #inizializza set (vuoto) dei letti attivi {% LETTI_ATTIVI = {} %} #crea lista dei dizionari delle coordinate dei letti {% set LETTI = [LETTO_RT, LETTO_DX, LETTO_SX] %} #controlla in quali letti cadono gli angoli della regione di stampa e ne inserisce i nomi nel set LETTI_ATTIVI {% for LETTO in LETTI %} #considera un letto per volta #controlla se la X dei lati più a sinistra dell'area di stampa si allinea dento al letto (se accade allora gli spigoli di quel lato potrebbero stare nel letto) {% if ANGOLI_STAMPA.Xmin >= LETTO.Xmin and ANGOLI_STAMPA.Xmix <= LETTO.Xmax %} #controlla se la Y dei lati più "vicini" si allinea dentro al letto (se accade allora il punto davanti a dx è nel letto considerato) {% if ANGOLI_STAMPA.Ymin >= LETTO.Ymin and ANGOLI_STAMPA.Ymix <= LETTO.Ymax %} LETTI_ATTIVI.add(LETTO[nome]) #aggiunge il nome del letto al set #controlla se la Y dei lati più "lontani" si allinea dentro al letto (se accade allora il punto dietro a dx è nel letto considerato) {% elif ANGOLI_STAMPA.Ymax >= LETTO.Ymin and ANGOLI_STAMPA.Ymax <= LETTO.Ymax %} LETTI_ATTIVI.add(LETTO[nome]) #aggiunge il nome del letto al set {% endif %} {% endif %} #controlla se la X dei lati più a destra dell'area di stampa si allinea dento al letto (se accade allora gli spigoli di quel lato potrebbero stare nel letto) {% if ANGOLI_STAMPA.Xmax >= LETTO.Xmin and ANGOLI_STAMPA.Xmax <= LETTO.Xmax %} #controlla se la Y dei lati più "vicini" si allinea dentro al letto (se accade allora il punto davanti a sx è nel letto considerato) {% if ANGOLI_STAMPA.Ymin >= LETTO.Ymin and ANGOLI_STAMPA.Ymix <= LETTO.Ymax %} LETTI_ATTIVI.add(LETTO[nome]) #aggiunge il nome del letto al set #controlla se la Y dei lati più "lontani" si allinea dentro al letto (se accade allora il punto dietro a sx è nel letto considerato) {% elif ANGOLI_STAMPA.Ymax >= LETTO.Ymin and ANGOLI_STAMPA.Ymax <= LETTO.Ymax %} LETTI_ATTIVI.add(LETTO[nome]) #aggiunge il nome del letto al set {% endif %} {% endif %} {% endfor %} [gcode_macro M190] #assegna la temperatura dei comandi M190 ai letti attivi rename_existing: M190.1 gcode: {% for LETTO_ATTIVO in LETTI_ATTIVI %} {% if LETTO_ATTIVO == "RT" %} M190 S{params.BED_TEMP|default(60)|float %} {% elif LETTO_ATTIVO == "DX" %} SET_HEATER_TEMPERATURE HEATER=<letto_DX> [TARGET = params.BED_TEMP|default(60)|float %] {% elif LETTO_ATTIVO == "DX" %} SET_HEATER_TEMPERATURE HEATER=<letto_SX> [TARGET = params.BED_TEMP|default(60)|float %] {% endif %} {% endfor %} Modificato 21 Agosto da Cubo Cita
Messaggi raccomandati
Partecipa alla conversazione
Puoi pubblicare ora e registrarti più tardi. Se hai un account, accedi ora per pubblicarlo con il tuo account.