NX Como escrever em uma planilha Excel a partir do NX

2023-08-18T19:08:53Z
NX for Design

Resumo


Detalhes

Como preencher um Excel usando o NX.

Solution

Descrevendo as funções

A função que permite o preenchimento de regiões dentro do arquivo Excel é: ug_excel_write_range. Ela permite que dados sejam preenchidos em um grupo de células de um arquivo carregado previamente pelo NX, além disso, para que alterações sejam salvas, o arquivo excel deve ser salvo e fechado. Para abrir o arquivo é necessário usar a função ug_excel_open_file para abrir o arquivo, e a função ug_excel_close_file para fechar e salvar o arquivo. Cada uma destas funções deve ficar em uma expressão própria. as sintaxes das funções estão abaixo:

ug_excel_open_file("<caminho e nome do arquivo>", <Acesso>)

O Acesso pode ser:

  • Read: Para somente leitura
    • Write: Para permitir escrita

      ug_excel_write_range(<arquivo>,{<Sheet>,<linha inicial>,<coluna inicial>,<linha final>,<coluna final>,<Valor1>,...,<ValorX>})

      • Arquivo: Expressão onde o arquivo é aberto através da função ug_excel_open_file.
        • Sheet: Planilha do arquivo Excel.
          • Linha inicial: linha da planilha onde começa a região onde serão preenchidos os dados.
            • Coluna inicial: coluna da planilha onde começa a região onde serão preenchidos os dados.
              • Linha final: linha da planilha onde termina a região onde serão preenchidos os dados.
                • Coluna final: coluna da planilha onde termina a região onde serão preenchidos os dados.
                  • Valor: São os valores que serão preenchidos. Eles começarão na primeira linha e primeira coluna, seguindo até a última coluna, em seguida irá para a segunda linha e assim por diante.

                    ug_excel_close_file(<arquivo>,<Modo>)

                    • Arquivo: Expressão onde o arquivo é aberto através da função ug_excel_open_file
                      • Modo: Se o arquivo será salvo (True) ou não (False).

                        Um detalhe, o comando de fechamento (ug_excel_close_file) pode ser executado como parte de um if, ou seja, só será salvo se o arquivo for alterado.

                        Um ponto importante: Para que o NX possa alterar a planilha, ela não pode estar aberta por ninguém. Além disso, para que o NX acesse qualquer arquivo externo, deve-se usar o comando Update for External Change.

                        Exemplo de uso

                        Nosso objetivo será preencher 2 tabelas: Uma mostrando a altura e a largura e outra mostrando a altura e profundidade.

                        • A dimensão ao longo de X é armazenada na expressão Largura.
                          • A dimensão ao longo de Y é armazenada na expressão Profundidade.
                            • A dimensão ao longo de Z é armazenada na expressão Altura.
                              Paralelepípedo  mostrado em 3 vistas, trimétrica, plano XZ; com as cotas de Largura e Altura e plano YZ; com as cotas de Profundidade e Altura.

                               Estas tabelas ficarão cada uma em uma planilha de um arquivo Excel. Este arquivo Excel (.xlsx) será armazenado no disco D:\, o nome será teste.xlsx, ficando D:\Teste.xlsx.  

                              Tabela do plano XZ, com a Altura e Largura e do Plano YZ com a Altura e Profundidade.

                              Todos os passos a seguir serão executados no comando Expression (aba Tools, comando Expression)

                              Localização da aba Tools e do comando Expression

                              Primeiro criaremos a expressão Arquivo  com direito escrita, ela deve ser do tipo INTEGER

                              Arquivo=ug_excel_open_file("D:\Teste.xlsx", Write)

                              Expressão usada para abrir o arquivo Excel.

                              Em seguida criaremos a expressão que preencherá a tabela da primeira imagem. Seu nome será Preenchimento1, ela será do tipo BOOLEAN e terá os seguintes parâmetros:

                              • Sheet: 1
                                • Linha inicial: 2
                                  • Coluna inicial: 2
                                    • Linha final: 3
                                      • Coluna final: 2
                                        • Valor1: Altura (nome da expressão)
                                          • Valor2: Largura (nome da expressão)

                                            Ela ficará assim: Prenchimento1=ug_excel_write_range(Arquivo , { 1,2,2,3,2,Altura,Largura} )

                                            A expressão da segunda tabela terá os parâmetros abaixo:

                                            • Sheet: 2
                                              • Linha inicial: 2
                                                • Coluna inicial: 2
                                                  • Linha final: 3
                                                    • Coluna final: 2
                                                      • Valor1: Altura (nome da expressão)
                                                        • Valor2: Profundidade (nome da expressão)

                                                          Esta ficará assim: Prenchimento2=ug_excel_write_range(Arquivo , { 2,2,2,3,2,Altura,Profundidade} )

                                                          Expressões que preencheram as tabelas

                                                          E finalmente criaremos a expressão que fechará e salvará o arquivo. Isso só será feito se o arquivo tiver sido alterado, então será incluído dentro de um IF que só executará a função ug_excel_close_file se ambas as expressões Prenchimento1 e Prenchimento2 tiverem o valor TRUE. O nome desta expressão será Fechamento e ela será do tipo BOOLEAN.

                                                          Fechamento=If ( Preenchimento1&Preenchimento2 )Then ( ug_excel_close_file(Arquivo,true))Else ( false )

                                                          Expressão que fecha e salva o arquivo.

                                                          Uma vez que as expressões tenham sido criadas, ou as dimensões da peça tenham sido alteradas, deve-se executar o comando Update for External Change.

                                                          Comando Update for External Change.

                                                          Em Seguida, clique em OK e salve o arquivo.

                                                          Seguem dois arquivos  de exemplo.

                                                          Arquivo.prt (120 KB)

                                                          Teste.xlsx (29.3 KB)

                                                          Platforms
                                                          • Windows x64 11
                                                          Release Versions
                                                          • NX V2212

                                                          Nº de ID do artigo de KB PL8718229

                                                          Conteúdo

                                                          ResumoDetalhes

                                                          Componentes associados

                                                          Modeling