Jump to content
ELFORUM - Forumul Electronistilor

Recommended Posts

Posted (edited)

Pentru aceia care nu stiu despre ce este vorba, FlatCAM este un program open source pentru realizarea de PCB prin tehnica izolarii folosind un router CNC.

In ultima vreme am lucrat putin la codul sursa (sunt incepator in Python/PyQt) si am facut cateva imbunatatiri la o varianta FlatCAM care deja era "pe steroizi" avand accelerare 3D.

 

De cca 2 ani nu s-a mai creat o versiune noua de catre programatorul principal dar sporadic au fost facute imbunatatiri care au putut fi accesate doar de aceia care instalau versiunea de dezvoltare si toolchain-ul necesar. Asa ca ultima versiune a ramas tot 8.5.

 

In urma eforturilor mele am reusit sa generez un installer Windows astfel ca aveti posibilitatea sa va bucurati si voi de noile "feature" -uri.

Este un asa numit NIGHTLY, (adica pot fi bug-uri) asa ca nu va speriati daca totul nu merge exact cum v-ati astepta ... Dar eu personal ma folosesc de el cu succes asa ca nu va "infricosati" prea tare.

 

Eu am adaugat urmatoarele:

- am introdus butoane de deschidere a fisierelor Gerber si Excellon direct in Toolbar; icon-urile sunt editate de mine in .... Paint asa ca ... dar sunt utilizabile :)

- am redus numarul de zecimale pentru diametrul burghie, cand unitatile de masura sunt in MM, la fix doua. Inainte un burghiu putea avea diametru de 0.712345mm ceea ce era o durere pt ochi si oricum nu exista asa ceva. Numarul de zecimale mare se datoreaza faptului ca FlatCAM are ca unitati default pe cele imperiale si apareau din conversia in MM. Acum sunt doar doua zecimale.

- am modificat fisierul de generare/ setup executabil si impachetare Python, pentru ca pachetul cxfreeze 5.0.1 sa mearga cum trebuie

 

- am adaugat capabilitatea de a incarca fisiere Gerber cu dimensiune zero. Unele pachete CAD (cred ca si KiCAD) generau Outline cu dimensiune zero. Acest outline se folosea ca referinta pentru decuparea placilor din materialul PCB.

- am adaugat functiile Paint All, Seed based din trunchiul principal al flatCAM peste aceasta versiune customizata care are accelerare 3D

- am adaugat un algoritm de optimizare a miscarilor cand se face gaurirea (bazat pe "travelling salesman algorithm"). Il adaugasem si eu mai demult dar cel care a facut FlatCAM nu a fost de acord sa il includa pentru ca exista un algoritm mai eficient. Recent a mai aparut cineva care a implementat mai bine algoritmul asa ca am copiat acel patch si l-am inclus in acest 'fork"

 

- am rezolvat niste buguri de actualizare a geometriei

- am trecut la noua arhitectura de comenzi TCL (command line) pe care programatorul principal urmareste sa o faca default

- chestii mai vechi pe care le-am programat si pe care JP (programtorul principal flatCAM) le-a inclus in software: ordonarea burghielor dupa diametru, selectarea completa a acestora ca si default, dupa gaurire se revine lent (G01 command) pana se iese din gaura si apoi se merge cu rapid (G00 command) pana la inaltimea de traversare

 

- alte alea alea la nivel de comenzi TCL

 

Si ce este mai important, ieri am adus in GUI (am inclus in meniul TOOLS) comanda de panelizare. Acum lucrez la utilitarul de masurare dimensiuni pe care vreau sa il fac sa faca snap la grid.

 

Anterior modificarilor mele acest "fork" avea deja urmatoarele feature care nu se regasesc in versiunea de dezvoltare main a FlatCAM:

- curatare de cupru a zonelor unde nu trebuie sa fie cupru is este "multi-tool" 

- fisierele incarcate sunt acum grupate dupa tip in Project Tab

- panning in fereastra principala folosind butonul dreapta (sau cel central) al mousului

- accelerare 3D cu OpenGL

- axe in fereastra principala

 

 

Sa il folositi cu placere.

 

DOWNLOAD installer AICI.

Edited by mars01
Completari
  • Like 1

Share this post


Link to post
Share on other sites

Multumim mult pentru effort :aplauze

 

[error] Failed to parse file: D:/Proiecte/cnc/nano grbl/grbl nano - CADCAM Bottom Copper.TXT. Line 6893: G54D13*

 

Sa fie de la windows?In varianta de pe site merge.

Pare a se refera la dimensiunea sculei daca am inteles bine.

Din ce am observat nu la toate gerberele  face asa.Toate sunt generate de Proteus 8.3 si 8.5.

Excellon-ul merge doar ca acum apar 15 zecimale la dimensiunea burgiului

Am incercat si functia paint dar nu merge decat daca selectez toata suprafata.Daca selectez doar un polygon zice "no polygon found"

Voi incerca si pe alt pc saptamana viitoare sa vad daca se comporta la fel.

Inca o chestie,nu am inteles de ce dupa fiecare pornire ramane setat in inchi.

 

Stima

 

 

 

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

Salut!

 

Pune setul de fisiere Gerber + Excellon cu probleme intr-un formt arhivat pe un site de file sharing si trimite-mi cumva arhiva (ori atasata aici ori pe email - este in profil).

Din cate imi dau seama Proteus are niste obiceiuri bizare cand vine vorba de aperturi macro (adica paduri custom).

Trimite-le insa ca poate modific cumva parsarea fisierului Gerber.

 

In meniu, sectiunea options, trebuie setata aplicatia in unitatile de masura pe care le vrei. Daca sunt in mm, seteaza Aplications Defaults la MM is apoi salveaza cu File - Save Defaults. Inchide programul si la urmatoarea deschidere va fi cum trebuie.

Edited by mars01

Share this post


Link to post
Share on other sites

Am rezolvat chestia cu fiserele Proteus care nu mergeau. Era un fix introdus de mine care insa afecta parsarea aperturilor macro. O sa scot curand un Nightly nou dar sa termin la ce lucrez acum :)

 

Share this post


Link to post
Share on other sites

In regula.

 

Am creat un alt Nightly, FlatCAM_22042018.

 

Ce este mai important este ca am refacut Measuring Tool si am adaugat coordonate relative, adica distanta de la ultimul click (cu butonul stanga al mousului).

Am rezolvat si bugul semnalat mai sus de @bobinatorul cat si unele buguri legate de interpretarea fisierelor Excellon Eagle (unele mai vechi altele mai noi).

 

In rest aveti mai jos in engleza ce am facut (mi-e lene sa traduc si sa scriu din nou toate alea ...)

 

Quote

It brings the following:

 

- Remade the Measurement Tool: it now ask for the Start point of the measurement and then for the Stop point. After it will display the measurement until we left click again on the canvas and so on. Previously you clicked the start point and reset the X and Y coords displayed and then you moved the mouse pointer wherever you wanted to measure, but moving the mouse from there you lost the measurement.

- Added Relative measurement on the main plot

- Now both the measuring tool and the relative measurement will work only with the left click of the mouse button because middle mouse click and right mouse click are used for panning

 

- Renamed the tools files starting with Tool so they are grouped

(in the future they may have their own folder like for TCL Commands)

- Commented some shortcut keys and functions for features that are not

present anymore or they are planned to be in the future but unfinished (like buffer tool, paint tool)

- minor corrections regarding PEP8 (Pycharm complains about them)

 

- solved bug in TclCommandsSetSys.py

Everytime that the command was executed it complain about the parameter

not being in the list (something like this). There was a missing “else:”

- when using the command “set_sys excellon_zeros” with parameter in lower

case (either ‘l’ or ‘t’) now it is always written in the defaults file

as capital letter

 

- solved a bug introduced by me: when apertures macros were detected in

Excellon file, FlatCam will complain about missing dictionary key “size”.

Now it first check if the aperture is a macro and perform the check for

zero value only for apertures with “size” key

 

- solved a bug that didn't allowed FC to detect if Excellon file has

leading zeros or trailing zeros

 

- solved a bug that FC was searching for char ‘%’ that signal end of Excellon

header even in commented lines (latest versions of Eagle end the

commented line with a ‘%’)

 

 

 

Downloadati de AICI.

Share this post


Link to post
Share on other sites
Posted (edited)

Am instalat pe un sistem proaspat ,nu mai da eroare dar in schimb in spatiul de lucru este doar fond negru.(windows 8) 

 

Nu vad nici fereastra pentru comenzi.

Acum ramane setat in mm.

 

Poate mai instaleaza cineva sa vedem daca e problema la mine :84

fond negru.png

fc8.5.png

Edited by bobinatorul

Share this post


Link to post
Share on other sites
Posted (edited)

Aceste versiuni de FlatCAM Nightly pe care le postez eu se bazeaza pe un fork al FlatCAM care a introdus accelerare 3D. La cum arata printscreen-ul tau, afisarea 3D nu functioneaza.

Intre cerintele de instalare (pe care ce-i drept nu le-am postat) se specifica ca este necesara o placa video mai recenta, adica aparuta de cel putin 12 ani si sa suporte OpenGl 2.1. Si driverele video sa fie relativ recente.

 

 

La VisPy pe site ei spun:

"

Hardware requirements

VisPy makes heavy use of the graphic card installed on your system. More precisely, VisPy uses the Graphical Processing Unit (GPU) through shaders. VisPy thus requires a fairly recent video card (~ less than 12 years old) as well as an up-to-date video driver such that vispy can access the programmable pipeline (as opposed to the fixed pipeline).

To get information on your system, you can type:

>>> print(vispy.sys_info())

The results of the above command and is long list of information related to your system and video driver. The OpenGL version must be at least 2.1."

 

Edited by mars01

Share this post


Link to post
Share on other sites

:aplauze

Am instalat ultima versiune pe sistemul mai vechi pe care nu puteam face nimic si functioneaza acum.Acum imi e clar ca am problem la windows ca nu vrea de nici o culoare sa ramana setat pe mm.Pe sistemul nou ramane setat dar nu e chiar asa deranjant.

Merg functiile de care vorbeam in prima postare mai putin gerberele din proteus 8.3(ma rog,o parte din ele)iar cele din 8.5 fara probleme.

Una peste alta ma bucur foarte mult ca pot folosi paint pe toate suprafetele fara cupru si nu mai sunt nevoit sa fac mai multe gcoduri.

Stiu ca nu face subiectul discutiei dar totusi nu am inteles care e faza cu vechimea placii video.Sistemul care afiseaza fond negru are max un an vechime ,deci placa video nu ar trebui sa fie chiar asa slaba.

 

Multam pentru efort

 

 

Share this post


Link to post
Share on other sites

Este vorba de capabilitatile placii video sau mai corect spus de "inteligenta" ei si nu de "muschii" sai. Trebuie sa fie compatibila cu OpenGL cel putin 2.1.

 

Si versiunea anterioara are niste bug-uri, unul nasol este ca nu se poate salva proiectul daca se face panelizare.

Share this post


Link to post
Share on other sites

Am adaugat un nou Nightly, 27042018.

 

Ce aduce nou:

- am adaugat o noua functie numita Shear/Skew. Este accesibila pentru orice obiect (Gerber, Excellon, Geometry) si este prezenta si ca TCL command (command line).

- am rezolvat un bug de display in Panelization Tool;

- am schimbat mesajele legate de panelization;

- chestii de bucatarie interna a flatCAM;

 

La ce este utila functia de Skew?

Imagineaza-ti ca axele tale X si Y nu sunt perfect perpendiculare (destul de greu de realizat aceasta perpendicularitate). Aceasta va face ca un patrat sa nu fie chiar patrat ci usor romb adica deformat. Functia aceasta permite compensarea acestui "skew" (deformare).

 

Buguri prezente:

- daca exista o geometrie tip panel, salvarea proiectului va esua

- comanda TCL "svg_export" nu este functionala

 

Download link aici.

Share this post


Link to post
Share on other sites

Nightly 28042018

 

Am introdus o functie noua in menu, in categoria EDIT.

Se numeste: Set Origin.

 

Ce face: atunci cand este facut click EDIT -> Set Origin se asteapta un mouse click stanga pe ecran (pe canvas). In punctul unde se face click va fi acum originea, practic cele doua axe vor pleca din acest punct iar obiectele incarcate (fie Gerber sau Excellon sau geometrii) vor fi astfel deplasate mai aproape sau mai departe de origine functie unde s-a facut click.

Ajuta de ex atunci cand gerberele generate (sau Excellon etc) nu au avut originea setata corect adica in coltul stanga jos. Eagle mai facea din astea, originea este aiurea in Gerber.

 

Am schimbat culoarea la axele care pleaca din origine din negru in maro. Arata mai bine asa, putin mai vizibil.

Am mai shimbat si alte chestii dar numai pierd timpul enumerandu-le, nu sunt asa vizibile.

 

Download link aici.

Share this post


Link to post
Share on other sites

Nightly 29042018

 

Am introdus o functie noua. 

In Geometry Object, sectiunea Create CNC job, se gaseste acum un nou check box numit "Cut over 1st pt".

 

Cineva pe forumul FlatCAM a reclamat ca atunci cand se face izolarea unui traseu este posibil ca la sfarsitul izolarii unui traseu, sa mai ramana bucatele de cupru intre inceputul izolarii traseului si sfarsitul izolarii traseului (care ar trebui sa fie acelasi punct). Prin bifarea acestui check box, cand se ajunge la sfarsitul izolarii, freza nu se opreste chiar atunci ci mai reia inca o data prima sectiune de izolare din path, in acest fel facand sigura izolarea traseului.

 

Buguri inca prezente:

- daca exista o geometrie tip panel, salvarea proiectului va esua

- comanda TCL "svg_export" nu este functionala

 

Download link aici.

Share this post


Link to post
Share on other sites

Nightly 04052018

 

- FlatCAM este acum bazat pe GRID (acest lucru se poate dezactiva) in mod default

- Am refacut Measurement Tool astfel incat sa tina cont de coordonatele obtinute cand GRID este activ

 

Inca nu am modificat si comanda Set Origin ca sa tina cont de coordonatele modificate atunci cand GRID este activ.

 

Buguri inca prezente:

- daca exista o geometrie tip panel in proiect, salvarea proiectului va esua

- comanda TCL "svg_export" nu este functionala

 

Download link aici.

Share this post


Link to post
Share on other sites
Posted (edited)

Nightly 13052018

 

image.thumb.png.de054b5d219728eb93a566b26ffc33ee.png

 

- am adaugat postprocesare (preluata de la altii)

- am adaugat posibilitatea de a selecta un postprocessor pt un Excellon Object

- am adaugat un postprocesor nou numit, manual_toolchange.py. Permite schimbarea freze/burghie si ajustarea manuala a varfurilor

acestora sa atinga materialul la coordonatele X=0, Y=0, Z = toolchangeZ.

- am adaugat la comanda TCL drillcncjob parametrul care lipsea toolchangeZ

- am rezolvat bug in postprocesorul default ‘default.py’ in sectiunii comenzii de toolchange

- am rezolvat un bug introdus de mine ca si consecinta la un feature adus de mine in care la miscarea mousului pe ecran se sterge mesajul din infobar (bara de jos), iar in urma acestei actiuni se tot adaugau spatii shell-ul TCL la fiecare miscare a mousului cand shell-ul TCL este activ.

- am introdus parametrul EndZ atat in GUI cat si in comenzile TCL. Seteaza inaltimea unde se parcheaza routerul CNC dupa ce a terminat de executat fisierul GCODE

- spindle-ul va fi acum pornit doar dupa ce se termina o sectiune de toolchange si se opreste inainte de sectiunea de la final, miscarea de incheiere, de parcare.

- comanda SetOrigin functioneaza corect acum

- am introdus un Tool nou numit FilmTool care poate genera filme negative sau pozitive

- am introdus un Tool nou numit MoveTool prin care se poate muta unul sau mai multe obiecte selectate de la click origine la click destinatie. Shortcut tasta N.

- GRID-ul acum se poate activa/dezactiva cu tasta G

- am introdus shortcut cu tasta R pentru MeasurementTool

- am reactivat tastele 1,2,3 ca shortcuturi pentru ZoomFit, ZoomIn si ZoomOut

- am rezolvat diverse buguri prin postprocessor

 

Data viitoare voi adauga un postprocessor pentru Laser si un postprocessor pentru a lucra cu GRBL

 

Download link: aici.

 

Edited by mars01
  • Like 1

Share this post


Link to post
Share on other sites

Multumim pentru ajutor si efort.:aplauze

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×