Skip to content

Releases: ismael-figueiredo/cnc-simulator

v0.23.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 15:27

v0.23.0

Romi E280 com Fanuc 21i-TB e comandos Siemens SINUMERIK 840D.

  • Romi E280 (2006): torno com Fanuc 21i-TB, sistema de códigos G B, eixo C e ferramentas acionadas, com os alarmes do 21i. O exemplo da coroa (O1500) passou para esta máquina.
  • Siemens SINUMERIK 840D, torno e centro de usinagem genéricos: parâmetros R, expressões (X=R1+2), CR=, RND/CHR/CHF, AC()/IC(), rótulos com GOTOF/GOTOB/IF, subprogramas L n P m, T/D, G33, furação com CYCLE81/82/83 (também com MCALL) e desbaste com CYCLE95. Frames (TRANS, ROT…) e outros ciclos aparecem como não simulados. Novos exemplos: SIE1001 (eixo roscado no torno) e SIE2001 (placa de alumínio no centro).
  • Fim do programa: ao chegar no M30 o cursor para nele, o eixo-árvore aparece parado depois do M5 e o status mostra o fim do programa.
  • Medição estilo CAD: a régua puxa para cantos, arestas, centros e bordas de furos, com um marcador do tipo de ponto; só a peça e o percurso são medidos (castanha, morsa e ferramenta ficam de fora). Esc sai da medição.
  • Acessórios: placa ou mesa, morsa e contraponto podem ser mostrados ou escondidos um a um, e a escolha fica salva. Escondido, o contraponto continua sendo verificado nas colisões.
  • Correções: a face da peça usinada com ferramenta acionada não aparece mais com um quadrado em volta, e as miniaturas (Recentes, Exemplos, árvore) mostram os cortes da ferramenta acionada.
  • Interno: organização do código (lógica fora dos componentes, diálogos unificados, testes de componentes), verificação dos exercícios fora da tela principal e limites de cobertura de testes na CI.

Romi E280 with Fanuc 21i-TB, and Siemens SINUMERIK 840D controls.

  • Romi E280 (2006): lathe with Fanuc 21i-TB, G-code system B, C axis and live tools, with the 21i alarms. The sprocket example (O1500) moves to this machine.
  • Siemens SINUMERIK 840D, generic lathe and machining center: R parameters, expressions (X=R1+2), CR=, RND/CHR/CHF, AC()/IC(), labels with GOTOF/GOTOB/IF, L n P m subprograms, T/D, G33, drilling with CYCLE81/82/83 (also with MCALL) and roughing with CYCLE95. Frames (TRANS, ROT…) and other cycles show as not simulated. New examples: SIE1001 (threaded shaft on the lathe) and SIE2001 (aluminum plate on the machining center).
  • Program end: on M30 the cursor stays on it, the spindle shows stopped after M5 and the status shows the end of the program.
  • CAD-style measuring: the ruler snaps to corners, edges, hole centers and rims, with a marker of the point type; only the part and the toolpath are measured (jaws, vise and tool are left out). Esc leaves measuring.
  • Fixtures: chuck or table, vise and tailstock can be shown or hidden one by one, and the choice is kept. A hidden tailstock is still checked for collisions.
  • Fixes: the face of a part cut with live tools no longer shows a square around it, and the part pictures (Recent, Examples, feature tree) show the live tool cuts.
  • Internal: code organization (logic out of the components, one dialog frame, component tests), exercise checks off the UI thread and test coverage floors in CI.

Full Changelog: v0.22.0...v0.23.0

v0.22.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 13:18

v0.22.0

Português

Ferramenta acionada usinando a peça no torno.

  • Antes, a vista de usinagem do torno só mostrava torneamento: a ferramenta acionada passava pelo caminho e a peça continuava lisa. Agora a peça mostra também:
    • trabalho axial na face: contornos em G12.1 e furos com C indexado. O exemplo O1500 aparece como a coroa, com os 15 dentes fresados até 7,7 mm;
    • trabalho radial na lateral: furação radial, faces planas com fresa radial e rasgos com movimentos de C e Z. A interpolação cilíndrica (G07.1) ainda não é simulada.
  • Como funciona: a barra é modelada com dois mapas, o raio externo por ângulo (de 2 em 2°) e por Z, e a altura da face por X/Y. Cada superfície é desenhada só onde a outra deixa material, então o vão de um dente abre a lateral da barra.
  • Desempenho: programas só de torneamento continuam no modelo anterior, mais leve. O O1500 recalcula a peça inteira em cerca de 0,2 s.

English

Live tools cutting the part on lathes.

  • The lathe machining view used to show turning only: a live tool went along its path and the part stayed smooth. The part now also shows:
    • axial work on the face: G12.1 contours and holes with C indexed. The O1500 example shows as the sprocket, with its 15 teeth milled 7.7 mm deep;
    • radial work on the side: radial drilling, flats with a radial end mill and slots with C and Z moves. Cylindrical interpolation (G07.1) is not simulated yet.
  • How it works: the bar is modeled with two maps, the outer radius by angle (every 2°) and Z, and the face height by X/Y. Each surface is drawn only where the other one leaves material, so a tooth gap opens the side of the bar.
  • Speed: turning-only programs keep the previous, lighter model. O1500 rebuilds the whole part in about 0.2 s.

Full Changelog: v0.21.2...v0.22.0

v0.21.2

Choose a tag to compare

@github-actions github-actions released this 27 Oct 00:16

v0.21.2

Português

A ferramenta gira no centro de usinagem.

  • Fresas, brocas, cabeçote e o cone giram com a árvore ligada (M03/M04 até o M05), também no FEED HOLD e no bloco a bloco, como a placa do torno. A velocidade do giro segue o S e o override da árvore.
  • No torno, a ferramenta acionada gira com o S2 enquanto está ligada.

English

The tool turns on machining centers.

  • End mills, drills, the face mill and the taper turn while the spindle is on (M03/M04 until M05), also in FEED HOLD and single block, like the lathe chuck. They turn faster with S and the spindle override.
  • On lathes, the live tool turns with S2 while it is on.

Full Changelog: v0.21.1...v0.21.2

v0.21.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 00:03

v0.21.1

Português

Cabeçote fresador redesenhado.

  • O cabeçote era um cilindro liso com plaquinhas finas na borda. Agora segue as fotos de catálogo: corpo de aço com um bolsão de cavaco na frente de cada inserto, os insertos assentados na face do bolsão com o parafuso, um colar acima dos bolsões e o cubo que encaixa no suporte.

English

Redrawn face mill.

  • The face mill was a plain cylinder with thin plates on its rim. It now follows catalog photos: a steel body with a chip pocket in front of each insert, the inserts seated on the pocket face with their screws, a collar above the pockets and the hub that sits on the arbor.

Full Changelog: v0.21.0...v0.21.1

v0.21.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 23:57

v0.21.0

Português

Contraponta e ferramentas redesenhadas.

  • Contraponta no torno: centro rotativo (ponta de 60°), mangote e corpo, do lado oposto à placa, com o tamanho do arquivo da máquina (tailstock: GL 300 e GL 250 M).
    • Segue o programa: na Romi GL, M27 encosta o contraponto na peça e M26/M31 recuam, como no manual (seção 11.3.4). O exemplo O1002 agora usa a contraponta depois do faceamento.
    • Facear até o centro ou sair pelo eixo com o contraponto encostado aparece nas mensagens como colisão, e o centro fica vermelho.
    • Placa em "O que mostrar" esconde a contraponta também.
  • Ferramentas de tornear, desenhadas a partir de fotos de catálogo:
    • rosca: pastilha deitada (laydown) triangular, com a ponta de 60° de frente para a peça, em vez do losango;
    • suporte: haste quadrada com a cabeça em volta do inserto e o parafuso Torx;
    • trigon WNMG com os três cantos de 80°;
    • barra de mandrilar redonda nas internas, e lâmina com bloco de fixação no bedame.
  • Fresas e cones:
    • cones BT40/BT30/BT50, CAT40, SK40: rasgo em V do flange, cone 7:24 que entra no fuso e tirante; cone curto no HSK;
    • porca chanfrada nas pinças ER;
    • fresas e brocas com a hélice dos canais, e o cabeçote fresador com os insertos.
  • Quinas vivas: cones, ferramentas e a peça torneada passam a ter quinas vivas no sombreado (antes os degraus pareciam arredondados), e o anel sobre os furos ficou mais largo.

English

Tailstock and redrawn tools.

  • Lathe tailstock: live center (60° point), quill and casting opposite the chuck, sized from the machine file (tailstock: GL 300 and GL 250 M).
    • It follows the program: on the Romi GL, M27 brings the center against the part and M26/M31 back it off, as in the manual (section 11.3.4). The O1002 example now uses the tailstock after facing.
    • Facing to the axis or backing off along it with the center against the part is listed as a collision, and the center turns red.
    • Chuck in "What to show" hides the tailstock too.
  • Turning tools, drawn from catalog photos:
    • threading: a laydown triangular insert with its 60° point square to the part, instead of the rhombus;
    • holder: a square shank with the head around the insert and the Torx screw;
    • a WNMG trigon with its three 80° corners;
    • a round boring bar for internal tools, and a blade with its clamp block for grooving.
  • Mills and tapers:
    • BT40/BT30/BT50, CAT40, SK40 tapers: the flange V-groove, the 7:24 taper going into the spindle and the pull stud; a short taper on HSK;
    • a chamfered nut on ER collet holders;
    • end mills and drills with their flute helices, and the face mill with its inserts.
  • Sharp edges: tapers, tools and the turned part now shade with sharp edges (shoulders looked rounded before), and the rim over drilled holes is wider.

Full Changelog: v0.20.0...v0.21.0

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 23:16

v0.20.0

Português

Placa, mesa e morsa em 3D, furos redondos.

  • Placa do torno: placa hidráulica de três castanhas, desenhada a partir de fotos de referência: corpo chanfrado sobre um flange quadrado, ranhuras radiais, castanhas-base com serrilhado e castanhas duras escalonadas com dois parafusos cada. O tamanho vem do arquivo da máquina (chuck: 8" na GL 250 M, 10" na GL 300), e a verificação de colisão segue os degraus das castanhas.
  • Mesa do centro de usinagem: mesa com ranhuras T e furos de pino, do tamanho de cada máquina (table: Romi D600/D1000/D1250, Haas VF-2 e VF-5). Ela fica onde o G54 põe a peça na máquina, ou logo abaixo do blank sem zeros de peça. Uma morsa segura o blank quando ele cabe nela e não está apoiado na mesa. Sem table no arquivo, a mesa é dimensionada pelos cursos.
  • Placa / Mesa e morsa na barra de vistas ("O que mostrar") liga e desliga.
  • Furos redondos: os furos dos ciclos de furação (G81–G89, G73, G83…) agora são desenhados redondos, com parede reta, em vez do contorno serrilhado do mapa de alturas. A superfície usinada também escolhe a diagonal de cada quadradinho pela borda, o que deixa contornos e bolsões mais limpos, e a resolução subiu de 220 para 260 células por lado (medido: +15 % no tempo de recalcular o O60010, de 10 mil movimentos).
  • Correções:
    • a peça torneada era desenhada "do avesso" (faces para dentro), o que deixava a silhueta serrilhada e os degraus apagados; agora aparece como sólido, e as miniaturas são refeitas;
    • o blank original, esmaecido sobre a peça usinada no centro de usinagem, ficava opaco depois de simular e escondia a usinagem.

English

Chuck, table and vise in 3D, round holes.

  • Lathe chuck: a hydraulic three-jaw chuck, modeled from reference photos: chamfered body on a square flange, radial slots, serrated master jaws and stepped hard jaws with two bolts each. Its size comes from the machine file (chuck: 8" on the GL 250 M, 10" on the GL 300), and the collision check follows the jaw steps.
  • Machining center table: a table with T-slots and dowel holes, sized for each machine (table: Romi D600/D1000/D1250, Haas VF-2 and VF-5). It sits where G54 puts the part on the machine, or right under the stock without work offsets. A vise holds the stock when it fits one and does not rest on the table. Without table in the file, the table is sized from the travels.
  • Chuck / Table and vise in the view toolbar ("What to show") turns them on and off.
  • Round holes: holes from the drilling cycles (G81–G89, G73, G83…) are now drawn round, with a straight wall, instead of the heightfield's jagged outline. The machined surface also picks each cell's diagonal along the edge, so contours and pockets look cleaner, and the resolution went from 220 to 260 cells per side (measured: +15 % in the time to replay O60010, 10 thousand moves).
  • Fixes:
    • the turned part was drawn inside out (faces pointing inward), which made its outline jagged and its shoulders faint; it now shows as a solid, and the part pictures are redrawn;
    • the original stock, faded over the machined part on machining centers, turned opaque after simulating and hid the machining.

Full Changelog: v0.19.4...v0.20.0

v0.19.4

Choose a tag to compare

@github-actions github-actions released this 26 Oct 20:17

Português

Correção: ferramenta do torno trocando de lado.

  • No faceamento até o centro (por exemplo G01 X-1.), a ponta passa um pouco do eixo e a ferramenta era desenhada do lado oposto; ao voltar para a torre, ela pulava de volta. Agora a ferramenta fica sempre do lado da torre; só gira em volta do eixo quando a ponta realmente anda em volta dele (interpolação polar).

English

Fix: lathe tool switching sides.

  • When facing to the center (for example G01 X-1.), the tip passes the axis slightly and the tool was drawn on the opposite side; going back to the turret, it jumped back. The tool now stays on the turret's side; it only turns around the axis when the tip really goes around it (polar interpolation).

Full Changelog: v0.19.3...v0.19.4

v0.19.3

Choose a tag to compare

@github-actions github-actions released this 26 Oct 20:14

Português

Correção: a barra piscando junto da placa.

  • A ponta da barra ficava exatamente no plano da face da placa, e as castanhas exatamente sobre a superfície da barra; ao girar a vista, a tela alternava entre as duas superfícies ("piscava"). A placa agora é desenhada 0,6 mm atrás e as castanhas com uma folga mínima, só no desenho: a verificação de colisão com a placa continua igual.

English

Fix: the bar flickering at the chuck.

  • The bar's end was exactly on the chuck face's plane, and the jaws exactly on the bar's surface; as the view turned, the screen switched between the two surfaces (flicker). The chuck is now drawn 0.6 mm back and the jaws with a tiny gap, in the drawing only: the chuck collision check is unchanged.

Full Changelog: v0.19.2...v0.19.3

v0.19.2

Choose a tag to compare

@github-actions github-actions released this 26 Oct 20:08

Português

Placa, overrides e face do blank.

  • Face do blank piscando: o blank torneado era desenhado semitransparente e "brigava" com a placa ao girar a vista. Agora é opaco, e o percurso continua visível sobre ele.

  • A placa continua girando no FEED HOLD e na parada do bloco a bloco, como na máquina; ela só para no M05. A velocidade do giro segue a rotação programada e o override da árvore.

  • Override da árvore agora age no programa:

    • no avanço por rotação (G95), o comum no torno, mais rotação é mais avanço por minuto, então o corte e o tempo de ciclo ficam mais rápidos;
    • nas roscas, o tempo segue só a árvore.

    O override de avanço não age durante a rosca, como no comando. Exemplo: o O1002 vai de 1:53 para 1:43 com a árvore em 120 %, e para 1:35 com o avanço em 150 %.

English

Chuck, overrides and the bar's face.

  • Flickering bar face: the turned bar was drawn see-through and fought with the chuck as the view turned. It is opaque now, and the path stays visible on it.

  • The chuck keeps turning in FEED HOLD and at single block stops, as on the machine; it only stops at M05. It turns faster with the programmed speed and the spindle override.

  • The spindle override now acts on the program:

    • with feed per revolution (G95), the lathe's usual mode, more speed means more feed per minute, so the cut and the cycle time get faster;
    • on threads, the time follows the spindle only.

    The feed override does not act while threading, as on the control. Example: O1002 goes from 1:53 to 1:43 with the spindle at 120 %, and to 1:35 with the feed at 150 %.

Full Changelog: v0.19.1...v0.19.2

v0.19.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 20:00

Português

Zeros de peça como na máquina.

  • Correção: mudar o zero do blank na tabela (por exemplo o Z do G54) não mudava nada na tela, porque o blank andava junto com o zero. Agora o blank fica preso na mesa, como na máquina: subir o Z em 5 mm faz o programa cortar 5 mm mais alto (no ar, se ele só descia 2 mm), e mexer em X desloca o rasgo na peça.
  • No editor de zeros, a opção "O blank fica preso na mesa" (ligada por padrão) pode ser desligada para o blank acompanhar o zero, quando a intenção é corrigir onde a peça realmente está.
  • Testes novos de ponta a ponta, medindo a profundidade usinada no blank:
    • zero movido em Z e em X;
    • G54 e G55 no mesmo programa;
    • G10 L2 trocando o zero no meio do programa;
    • H mais curto ou mais longo que a ferramenta e o desgaste;
    • zero do torno em Z.

English

Work offsets as on the machine.

  • Fix: changing the stock's zero in the table (for example G54 Z) changed nothing on screen, because the stock moved with the zero. Now the stock stays clamped on the table, as on the machine: raising Z by 5 mm makes the program cut 5 mm higher (in the air, if it only went 2 mm deep), and moving X shifts the slot on the part.
  • In the work offset editor, "The stock stays clamped on the table" (on by default) can be turned off to have the stock follow the zero, when the point is to correct where the part really is.
  • New end-to-end tests, measuring the depth cut into the stock:
    • zero moved in Z and in X;
    • G54 and G55 in the same program;
    • G10 L2 changing the zero mid-program;
    • H shorter or longer than the tool, and wear;
    • lathe Z zero.

Full Changelog: v0.19.0...v0.19.1