All Stories

quinta-feira, 9 de janeiro de 2014

TOPSET – TopSolid 6,12 – VB 2013 + SQLlite

Fernando "geniosoft" Pinheiro | quinta-feira, 9 de janeiro de 201413:28 | Seja o primeiro a comentar!

TopSet é um programa para exportar uma modelação por grupos de peças (Sets), para vários formatos em simultâneo, segundo regras especificadas por nós. Podemos por exemplo definir um perfil de exportação em que as peças do molde vão para um ficheiro _part, o lado móvel para um ficheiro _bside, o lado fixo para um ficheiro _aside e os movimentos para um ficheiro _slides.
A partir de um só perfil podemos separar o molde em diferentes set's, e exportar em simultâneo para vários formatos, como IGS, STEP, PARASOLID, ou PDF...



Os perfis de exportação podem ser criados pelo utilizador, acedidos a partir do menu único “Perfis”, e baseiam-se no seguinte principio: Todas as peças do assembly, são separadas com base no sub-assembly a que pertencem: Aside, Bside ou Parts, atrbuindo-se um ficheiro a cada um (que pode ser o mesmo entre eles, permitindo assim que por exemplo as Parts fiquem no ficheiro de Aside ou Bside, conforme a escolha). Para além desta divisão automática, podem-se ainda estabelecer regras para que as peças que estejam num intervalo de layer's ou index's sejam atribuidas a um outro ficheiro. O software trabalha apenas com números para estabelecer as regras, isto é, não se deve indicar index's do 080A ao 080Z, se se quiser isto deve-se indicar apenas index 080, como valor máximo e minimo, e qualquer peça neste index (inclusive por exemplo um parafuso P080A) irá parar ao ficheiro estabelecido na regra.
È possivel criar, renomear, eliminar ou duplicar perfis já existentes para aproveitar regras já existentes adaptando a novos perfis.


Na janela principal do programa após a escolha do perfil a utilizar para a exportação, escolhem-se também os exportadores desejados, colocando vistos nas checkbox's.. Deve.se também indicar a pasta de destino, que pode ser obtida a partir da path do documento de molde actualmente aberto no TopSolid (existe um botão para isso), assim como explorar e encontrar a pasta desejada para destino da exportação.
Por limitação da API é obrigatório efectuar uma operação dentro do TopSolid sobre todas as shapes (excepto as part's de molde), para que estas sejam reconhecidas e tratadas sem problemas. Isto implica que antes de avançarmos temos que ter o nosso projecto gravado e após isso fazer um Transform com coordenadas 0,0,0 a todas as peça, o que adiciona uma operação em todas as shapes, sem as alterar, e apenas desta forma o processo decorre sem problemas. Como existe esta operação necessária, quando se pede para avançar com a exportação no botão Exportar da janela do programa, logo a seguir temos um aviso a explicar este procedimento que deve estar realizado, e alertando que todo o trabalho no final é fechado sem gravar para não acrescentar esta operação de transform ao molde. Caso se clique na checkbox "Criar SubPastas" os modelos exportados são criados dentro de pastas organizadas pelas extensões selecionadas. Além disto são criados ficheiros de extensão .mld com as peças separadas e desparametrizadas, que caso se deseje o utilizador pode depois apagar manualmente.
 





Nada mais resta acrescentar, senão façam o download, experimentem, partilhem, que vos seja útil e comentem por favor. Disponibilizo o código fonte em Visual Basic assim como o Setup de Instalação.

DOWNLOAD CÓDIGO FONTE + INSTALL AQUI!














TopSet é um programa para exportar uma modelação por grupos de peças (Sets), para vários formatos em simultâneo, segundo regras especificadas por nós. Podemos por exemplo definir um perfil de exportação em que as peças do molde vão para um ficheiro _part, o lado móvel para um ficheiro _bside, o lado fixo para um ficheiro _aside e os movimentos para um ficheiro _slides.
A partir de um só perfil podemos separar o molde em diferentes set's, e exportar em simultâneo para vários formatos, como IGS, STEP, PARASOLID, ou PDF...



Os perfis de exportação podem ser criados pelo utilizador, acedidos a partir do menu único “Perfis”, e baseiam-se no seguinte principio: Todas as peças do assembly, são separadas com base no sub-assembly a que pertencem: Aside, Bside ou Parts, atrbuindo-se um ficheiro a cada um (que pode ser o mesmo entre eles, permitindo assim que por exemplo as Parts fiquem no ficheiro de Aside ou Bside, conforme a escolha). Para além desta divisão automática, podem-se ainda estabelecer regras para que as peças que estejam num intervalo de layer's ou index's sejam atribuidas a um outro ficheiro. O software trabalha apenas com números para estabelecer as regras, isto é, não se deve indicar index's do 080A ao 080Z, se se quiser isto deve-se indicar apenas index 080, como valor máximo e minimo, e qualquer peça neste index (inclusive por exemplo um parafuso P080A) irá parar ao ficheiro estabelecido na regra.
È possivel criar, renomear, eliminar ou duplicar perfis já existentes para aproveitar regras já existentes adaptando a novos perfis.


Na janela principal do programa após a escolha do perfil a utilizar para a exportação, escolhem-se também os exportadores desejados, colocando vistos nas checkbox's.. Deve.se também indicar a pasta de destino, que pode ser obtida a partir da path do documento de molde actualmente aberto no TopSolid (existe um botão para isso), assim como explorar e encontrar a pasta desejada para destino da exportação.
Por limitação da API é obrigatório efectuar uma operação dentro do TopSolid sobre todas as shapes (excepto as part's de molde), para que estas sejam reconhecidas e tratadas sem problemas. Isto implica que antes de avançarmos temos que ter o nosso projecto gravado e após isso fazer um Transform com coordenadas 0,0,0 a todas as peça, o que adiciona uma operação em todas as shapes, sem as alterar, e apenas desta forma o processo decorre sem problemas. Como existe esta operação necessária, quando se pede para avançar com a exportação no botão Exportar da janela do programa, logo a seguir temos um aviso a explicar este procedimento que deve estar realizado, e alertando que todo o trabalho no final é fechado sem gravar para não acrescentar esta operação de transform ao molde. Caso se clique na checkbox "Criar SubPastas" os modelos exportados são criados dentro de pastas organizadas pelas extensões selecionadas. Além disto são criados ficheiros de extensão .mld com as peças separadas e desparametrizadas, que caso se deseje o utilizador pode depois apagar manualmente.
 





Nada mais resta acrescentar, senão façam o download, experimentem, partilhem, que vos seja útil e comentem por favor. Disponibilizo o código fonte em Visual Basic assim como o Setup de Instalação.

DOWNLOAD CÓDIGO FONTE + INSTALL AQUI!













quarta-feira, 11 de dezembro de 2013

TOPLEGENDA PARA TOPSOLID V6.12 EM VB2013 + SQLITE

Fernando "geniosoft" Pinheiro | quarta-feira, 11 de dezembro de 201319:12 | Seja o primeiro a comentar!
TopLegenda é um editor de legendas para o TopSolid, que permite fazer uma leitura dos campos que são usados na legenda do utilizador, criando um perfil reutilizável com eles. Permite também atribuir a cada campo da legenda uma propriedade de um componente do TopMold, o que permite preencher a legenda de uma forma automatizada de acordo com o componente escolhido e a parametrização da legenda feita.

O programa foi escrito no Visual Studio 2013 Express Edition na linguagem Visual Basic, compilado com recurso ao .Net Framework 4.0. Para comunicar com o TopSolid utilizo a API e recorri ao cliente de base de dados SQLite para gerir a configuração dos perfis das legendas criadas. O SQLite é um cliente de base de dados que pode ser embebido no prórprio software e gere a base de dados num ficheiro de base de dados que pode é descarregado juntamente com a instalação do próprio software. Para pequenas bases de dados em que não queremos recorrer a uma solução cliente-servidor com gestão de base de dados à parte, com todas as implicâncias que isso traz, este gestor de BD é excelente, pois cria uma solução muito portátil e suficientemente rápida e capaz, estando a base de dados num ficheiro que acompanha o executável.


Falando do programa, a interface do utilizador está dividida em 4 partes (ver imagem);
(1) a área de gestão de perfis;
(2) a área de gestão de documentos e componentes TopSolid;
(3) a grelha com a definição da legenda;
(4) a leitura e introdução de novos campos na grelha da legenda;
Sobre a área de gestão de perfis (1) não haverá muito a dizer, pois as funções são muito simples e auto explanatórias. Podemos criar os perfis que quisermos, duplicar os já existentes para adaptar o que necessitarmos, ou renomear e eliminar os existentes. Selecionando o perfil na lista pendente de perfis, a grelha com a definição da legenda (3) é automaticamente actualizada.
A grelha (3) apresenta-nos os detalhes do perfil selecionado, com os campos que estão selecionados para actualização no nosso ficheiro draft. A actualização de cada linha só é feita sobre o draft se a checkbox na coluna 'Aplicar' estiver com o visto. A coluna 'Conteudo' é a única que pode ser escrita directamente, e estando o visto checkado em 'Aplicar' o efeito da edição aí é imediato sobre o documento corrente na janela do TopSolid.
Podemos introduzir novos campos na legenda utilizando a área de leitura e introdução de campos na grelha (4), esta área contém 2 botões de comando que fazem ligação com o TopSolid:
'Ler Descrição (TopSolid)' / 'Ler @ (TopSolid)' – Ao premir qualquer um destes botões, a janela do TopSolid pede-nos para indicar o texto que queremos usar, para cada uma das caixas correspondentes aos botões. A descrição serve apenas de titulo para sabermos o que introduzir na linha correspondente, enquanto que a leitura do Nome(@) especifica qual a entidade de texto que será alterada, quando fôr feita a atualização do texto manual na grelha ou após a escolha de um componente e premir do botão 'Aplicar Textos'. Ainda nesta zona (4) ao definir uma nova linha da legenda, podemos especificar que aquela linha de texto será afetada por um determinado campo (que será substituído pelas propriedades de um componente) como seja o index, o material, a quantidade, etc...
No conjunto de botões da zona assinalada com (2) temos duas listas pendentes e dois botões. As listas de documentos e componentes são actualizadas ao premir o botão 'Refrescar'. A partir do click nesse botão, passa a estar disponível na lista pendente 'Documento de Referencia' os desenhos de molde que estiverem em memória no TopSolid (mesmo que invisiveis), assim como para o desenho de molde selecionado a lista de componentes que esse molde contém, isto na lista pendente de componentes. Ao selecionar um componente da lista (filtrados e ordenados pelo index) os textos da grelha são imediatamente actualizados conforme os campos selecionados, mas a alteração para o TopSolid só é feita quando se premir o botão 'Aplicar textos' e apenas sobre as linhas da grelha que tenham o visto na checkbox 'Aplicar'.
E pronto, esta é a ideia geral sobre o software TopLegenda. Um editor de legendas, que pode poupar algum trabalho rotineiro e repetitivo especialmente quando se faz detalhes, o que normalmente significa preencher dezenas ou centenas de legendas de peças com a mesma informação que já está na lista de materiais. Utilizando este software, depois de terem o perfil da legenda que utilizam criada, com 2 ou 3 cliques de botão preenchem a legenda automaticamente com a mesma informação que já introduziram para gerar a lista de materiais dos componentes utilizados no molde.




Espero que vos seja útil, que vos ensine, ajude ou dê novas ideias. Como de costume partilho não só o instalador pronto a usar, mas também o código fonte que desenvolvi. Não tenho esperança de ganhar dinheiro imediato com algo tão simples, mas espero que o prestigio de o criar me enriqueça de outra forma.

Um bem haja para todos, questões, comentários ou sugestões, são muito bem vindas.


TopLegenda é um editor de legendas para o TopSolid, que permite fazer uma leitura dos campos que são usados na legenda do utilizador, criando um perfil reutilizável com eles. Permite também atribuir a cada campo da legenda uma propriedade de um componente do TopMold, o que permite preencher a legenda de uma forma automatizada de acordo com o componente escolhido e a parametrização da legenda feita.

O programa foi escrito no Visual Studio 2013 Express Edition na linguagem Visual Basic, compilado com recurso ao .Net Framework 4.0. Para comunicar com o TopSolid utilizo a API e recorri ao cliente de base de dados SQLite para gerir a configuração dos perfis das legendas criadas. O SQLite é um cliente de base de dados que pode ser embebido no prórprio software e gere a base de dados num ficheiro de base de dados que pode é descarregado juntamente com a instalação do próprio software. Para pequenas bases de dados em que não queremos recorrer a uma solução cliente-servidor com gestão de base de dados à parte, com todas as implicâncias que isso traz, este gestor de BD é excelente, pois cria uma solução muito portátil e suficientemente rápida e capaz, estando a base de dados num ficheiro que acompanha o executável.


Falando do programa, a interface do utilizador está dividida em 4 partes (ver imagem);
(1) a área de gestão de perfis;
(2) a área de gestão de documentos e componentes TopSolid;
(3) a grelha com a definição da legenda;
(4) a leitura e introdução de novos campos na grelha da legenda;
Sobre a área de gestão de perfis (1) não haverá muito a dizer, pois as funções são muito simples e auto explanatórias. Podemos criar os perfis que quisermos, duplicar os já existentes para adaptar o que necessitarmos, ou renomear e eliminar os existentes. Selecionando o perfil na lista pendente de perfis, a grelha com a definição da legenda (3) é automaticamente actualizada.
A grelha (3) apresenta-nos os detalhes do perfil selecionado, com os campos que estão selecionados para actualização no nosso ficheiro draft. A actualização de cada linha só é feita sobre o draft se a checkbox na coluna 'Aplicar' estiver com o visto. A coluna 'Conteudo' é a única que pode ser escrita directamente, e estando o visto checkado em 'Aplicar' o efeito da edição aí é imediato sobre o documento corrente na janela do TopSolid.
Podemos introduzir novos campos na legenda utilizando a área de leitura e introdução de campos na grelha (4), esta área contém 2 botões de comando que fazem ligação com o TopSolid:
'Ler Descrição (TopSolid)' / 'Ler @ (TopSolid)' – Ao premir qualquer um destes botões, a janela do TopSolid pede-nos para indicar o texto que queremos usar, para cada uma das caixas correspondentes aos botões. A descrição serve apenas de titulo para sabermos o que introduzir na linha correspondente, enquanto que a leitura do Nome(@) especifica qual a entidade de texto que será alterada, quando fôr feita a atualização do texto manual na grelha ou após a escolha de um componente e premir do botão 'Aplicar Textos'. Ainda nesta zona (4) ao definir uma nova linha da legenda, podemos especificar que aquela linha de texto será afetada por um determinado campo (que será substituído pelas propriedades de um componente) como seja o index, o material, a quantidade, etc...
No conjunto de botões da zona assinalada com (2) temos duas listas pendentes e dois botões. As listas de documentos e componentes são actualizadas ao premir o botão 'Refrescar'. A partir do click nesse botão, passa a estar disponível na lista pendente 'Documento de Referencia' os desenhos de molde que estiverem em memória no TopSolid (mesmo que invisiveis), assim como para o desenho de molde selecionado a lista de componentes que esse molde contém, isto na lista pendente de componentes. Ao selecionar um componente da lista (filtrados e ordenados pelo index) os textos da grelha são imediatamente actualizados conforme os campos selecionados, mas a alteração para o TopSolid só é feita quando se premir o botão 'Aplicar textos' e apenas sobre as linhas da grelha que tenham o visto na checkbox 'Aplicar'.
E pronto, esta é a ideia geral sobre o software TopLegenda. Um editor de legendas, que pode poupar algum trabalho rotineiro e repetitivo especialmente quando se faz detalhes, o que normalmente significa preencher dezenas ou centenas de legendas de peças com a mesma informação que já está na lista de materiais. Utilizando este software, depois de terem o perfil da legenda que utilizam criada, com 2 ou 3 cliques de botão preenchem a legenda automaticamente com a mesma informação que já introduziram para gerar a lista de materiais dos componentes utilizados no molde.




Espero que vos seja útil, que vos ensine, ajude ou dê novas ideias. Como de costume partilho não só o instalador pronto a usar, mas também o código fonte que desenvolvi. Não tenho esperança de ganhar dinheiro imediato com algo tão simples, mas espero que o prestigio de o criar me enriqueça de outra forma.

Um bem haja para todos, questões, comentários ou sugestões, são muito bem vindas.


quarta-feira, 13 de novembro de 2013

TOP SAVE – VB2013 - TOPSOLID 6.12

Fernando "geniosoft" Pinheiro | quarta-feira, 13 de novembro de 201323:23 | Seja o primeiro a comentar!
TopSave é um utilitário semelhante ao MultiConverter, mas que permite exportar os componentes internos de uma modelação de molde do TopMold, peça a peça, em vários formatos em simultâneo e com nomes de ficheiros parametrizáveis por peça.
Este programa foi muito rápido de escrever e permitiu-me explorar novas funcionalidades da API do TopSolid, nomeadamente as interfaces de exportação e o trabalho com sets, em que este ultimo parece-me ter muitas potencialidades para novas aplicações e inclusivé para ser introduzido em aplicações anteriores como a TOP INDEX que poderia tirar mais rendimento quer em velocidade, quer em qualidade dos dados, lendo os componentes dos moldes a partir de sets e não da lista global de elementos.
O software permite explorar para o local de exportação, através do botão “Selecionar Pasta”, mas quando pedimos ao software para ler uma lista de elementos a partir de uma modelação aberta (utilizando o botão “Ler Lista de Elementos”) ele também absorve a pasta do documento como sendo a pasta para gravação, podemos depois acrescentar uma subpasta ao destino, criando-a mesmo dentro do mini-explorador disponibilizado pelo botão “Selecionar Pasta”.
Ainda o nome dos ficheiros exportados são parametrizáveis peça a peça, através de campos como o Index da peça <BOM>, a designação/descrição <DESC>, até á própria data do ficheiro original ou do sistema. Para isso basta premir os botões que dão os campos auto substituiveis durante a gravação, ou acrescentar caracteres à mascara de nome de ficheiro, pode-se colocar um traço entre campos, apenas escrevendo-o manualmente na caixa de texto que parametriza o nome.
O programa tem uma função para exportar uma peça selecionando-a directamente no TOPSOLID, premindo o botão "Selecionar Elemento no TopSolid e Exportar", o que nos passa o controlo para o TOPSOLID de forma a selecionar um elemento e após o OK, avança exportando essa peça nos formatos selecionados.
A máscara de exportação, assim como os formatos preferidos ficam gravados no registry do windows para a próxima sessão, de forma que não temos que estar sempre a preencher tal.
Se utilizarmos o botão "Ler Lista de Elementos" em função das checkbox's escolhidas o TOPSAVE lê do TopSolid os componentes correspondentes aos set's selecionados (Aside, Bside, machined, full), atenção que também altera a pasta de saida para a do ficheiro aberto no TopMold, depois é só picar na lista aqueles que queremos que sejam exportados e premir "Exportar Shapes Selecionadas" para avançar com a exportação para a pasta indicada, com os formatos escolhidos.
O programa tem ainda poucas horas de trabalho, mas está operacional, apesar que deve ter bastantes bugs, alguns que já tenho encontrado, mas que tentarei solucionar. Não deixa de ser uma ferramenta útil e que pode poupar bastante tempo na exportação de peças modeladas, que necessitemos de passar para um CAM exterior, ou outro software.
Façam download, instalem, analisem as fontes e dêem-me o vosso feedback.

!DOWNLOAD DA VERSÃO BETA: SOURCE + INSTALL!


TopSave é um utilitário semelhante ao MultiConverter, mas que permite exportar os componentes internos de uma modelação de molde do TopMold, peça a peça, em vários formatos em simultâneo e com nomes de ficheiros parametrizáveis por peça.
Este programa foi muito rápido de escrever e permitiu-me explorar novas funcionalidades da API do TopSolid, nomeadamente as interfaces de exportação e o trabalho com sets, em que este ultimo parece-me ter muitas potencialidades para novas aplicações e inclusivé para ser introduzido em aplicações anteriores como a TOP INDEX que poderia tirar mais rendimento quer em velocidade, quer em qualidade dos dados, lendo os componentes dos moldes a partir de sets e não da lista global de elementos.
O software permite explorar para o local de exportação, através do botão “Selecionar Pasta”, mas quando pedimos ao software para ler uma lista de elementos a partir de uma modelação aberta (utilizando o botão “Ler Lista de Elementos”) ele também absorve a pasta do documento como sendo a pasta para gravação, podemos depois acrescentar uma subpasta ao destino, criando-a mesmo dentro do mini-explorador disponibilizado pelo botão “Selecionar Pasta”.
Ainda o nome dos ficheiros exportados são parametrizáveis peça a peça, através de campos como o Index da peça <BOM>, a designação/descrição <DESC>, até á própria data do ficheiro original ou do sistema. Para isso basta premir os botões que dão os campos auto substituiveis durante a gravação, ou acrescentar caracteres à mascara de nome de ficheiro, pode-se colocar um traço entre campos, apenas escrevendo-o manualmente na caixa de texto que parametriza o nome.
O programa tem uma função para exportar uma peça selecionando-a directamente no TOPSOLID, premindo o botão "Selecionar Elemento no TopSolid e Exportar", o que nos passa o controlo para o TOPSOLID de forma a selecionar um elemento e após o OK, avança exportando essa peça nos formatos selecionados.
A máscara de exportação, assim como os formatos preferidos ficam gravados no registry do windows para a próxima sessão, de forma que não temos que estar sempre a preencher tal.
Se utilizarmos o botão "Ler Lista de Elementos" em função das checkbox's escolhidas o TOPSAVE lê do TopSolid os componentes correspondentes aos set's selecionados (Aside, Bside, machined, full), atenção que também altera a pasta de saida para a do ficheiro aberto no TopMold, depois é só picar na lista aqueles que queremos que sejam exportados e premir "Exportar Shapes Selecionadas" para avançar com a exportação para a pasta indicada, com os formatos escolhidos.
O programa tem ainda poucas horas de trabalho, mas está operacional, apesar que deve ter bastantes bugs, alguns que já tenho encontrado, mas que tentarei solucionar. Não deixa de ser uma ferramenta útil e que pode poupar bastante tempo na exportação de peças modeladas, que necessitemos de passar para um CAM exterior, ou outro software.
Façam download, instalem, analisem as fontes e dêem-me o vosso feedback.

!DOWNLOAD DA VERSÃO BETA: SOURCE + INSTALL!


quinta-feira, 31 de outubro de 2013

TOP INDEX - VB2012 - TOPSOLID V6.12

Fernando "geniosoft" Pinheiro | quinta-feira, 31 de outubro de 201313:17 | Seja o primeiro a comentar!
TopIndex é um software que permite fazer buscas numa base de dados MySQL que contém a informação das entidades existentes num conjunto de modelos CAD, armazenadas em pastas. O software facilita o acesso rápido à informação sobre um determinado componente que já usamos, buscando por uma caracteristica conhecida como seja a referencia ou a designação, quer nas caracteristicas de material, tratamento, dimensões, quer à localização do mesmo modelo para reutilização.

Na empresa em que trabalho atualmente, temos um elevado número de projetos de moldes (modelos CAD TopSolid) no arquivo de CAD's e acontece frequentemente ter que se reutilizar um componente CAD que já anteriormente foi usado num projeto. Como os modelos desses componentes já estão formatados para o nosso sistema é vantajoso reutiliza-los mas a dificuldade é descobrir em que projeto especificamente ele foi usado, o que ás vezes nos faz perder muito tempo a abrir e fechar modelações CAD pesadas, para tentar descobrir o objeto pretendido.
Surgiu-me a ideia de criar um programa que gerisse uma base de dados com a lista de componentes já utilizados nos diversos projetos. Para realmente ser útil, este programa teria que varrer recursivamente as pastas à procura de modelos CAD e depois recorrendo à API do TopSolid abrir esses modelos e ler a informação de componentes nele utilizados inserindo-os numa base de dados que depois estivesse disponível para pesquisas rápidas.

Escolhi o MYSQL como gestor de base de dados, porque é bom, rápido, escalável, como para desenvolvimento poderia utilizar livremente a versão "community edition". No caso da aplicação viesse a ser utilizada pela própria empresa, esta já tem um servidor MYSQL licenciado onde poderia operar a base de dados.

Para executar as pesquisas e apresentar os resultados o programa mostra na janela principal uma grelha de dados que permite apresentar o conteúdo da busca que não é mais que a execução de um comando SELECT sobre as tabelas armazenadas com dados dos CAD's, e construí um gestor de filtros personalizáveis que permite definir quais os comandos (SELECT) que nos interessam operar sobre a base de dados, apresentando-os numa combo box. Defini já uma série de filtros:

"Encontrar qualquer informação", que pesquisa sobre todos os principais campos de texto na base de dados.
"Procurar Index do molde", que apresenta as peças de um molde indicado correspondentes a um index também indicado
"Procurar designação”, “Procurar Referencia”, “Procurar Anotações e textos”, “Procurar Ficheiro”, Permitem-nos procurar na base de dados por elementos desta natureza.
[…]
“**Executar MySQL**” Este filtro permite executar um comando personalizado pelo utilizador sobre a base de dados, sem ter que estar a definir um novo filtro.

Para adicionar pastas e ficheiros à base de dados, recorre-se ao menu “Ficheiro>Indexar Pasta>Adicionar Pasta”, ao que temos acesso à janela de busca recursiva nas pastas, na qual apenas temos que indicar qual o diretório/drive em que queremos iniciar a busca e a partir dali executa-se a busca recursiva acionando o botão “Indexar Pastas”. Este processo está programado como um backgroundworker o que nos permite cancelar a busca, ou trabalhar noutra parte do programa em simultâneo, pode-se estar a fazer uma pesquisa por componentes ao mesmo tempo que o programa busca ficheiros novos TOPSolid nas pastas. O software além de procurar novos ficheiros, também verifica se para os que já estão registados na base de dados se a data e tamanho do ficheiro no disco mudou de tamanho e caso tenha acontecido marca-o para nova indexação.

A adição de pastas não termina o processo de indexação. Após termos povoado a base de dados com os ficheiros CAD encontrados, devemos executar qualquer das opções em “Ficheiro>Indexar TopSolid>[...]” o que iniciará o TopSolid (ou ligará-se à primeira instância aberta) e por cada ficheiro CAD na base de dados, testará-o por ligações externas quebradas (apenas testado para versões desde a 6.8 à 6.12, o que fiz foi engenharia reversa sobre os ficheiros CAD para descobrir como estão armazenadas as referencias externas e apenas em formato binário não comprimido, num primeiro nível, isto é, testo os ficheiros referenciados mas não sigo as ligações externas desses ficheiros externos que também podem estar quebradas) e em seguida estando o ficheiro integro, o software faz load ao ficheiro CAD para dentro do TOPSolid e executa uma leitura de todas as shapes e das suas propriedades, assim como layers e textos que sejam encontrados no ficheiro, armazenando toda esta informação na base de dados. Este processo repete-se enquanto houverem ficheiros por indexar componentes.

Existem ainda funções para limpar ficheiros que possam ter sido apagados do disco, e quando selecionamos na grelha de resultados um item, o botão “Abrir Pasta” liga-se com a possibilidade de chamar uma janela de explorador já com o ficheiro correspondente selecionado.

Este programa tem-me ajudado a mim e aos colegas a poupar algum tempo reencontrando rápidamente informação e modelos já existentes. Espero que possa ser útil também para vocês, quer como ferramenta, quer como exemplo de programação. Existem muitos conceitos de programação misturados aqui, podem-se encontrar: background workers, ligação com bases de dados, acesso a ficheiros binários, pesquisa recursiva de ficheiros e pastas e API de ligação ao software CAD TopSolid.
Gostaria sempre dos vossos comentários, e SE TIVEREM IDEIAS OU DESAFIOS PARA MIM, CONTACTEM-ME!

Requisitos:
Microsoft .NET Framework 4
Mysql Community Server


TOP INDEX Source+Install DOWNLOAD AQUI. 
(actualizado em 03-12-2013)


TopIndex é um software que permite fazer buscas numa base de dados MySQL que contém a informação das entidades existentes num conjunto de modelos CAD, armazenadas em pastas. O software facilita o acesso rápido à informação sobre um determinado componente que já usamos, buscando por uma caracteristica conhecida como seja a referencia ou a designação, quer nas caracteristicas de material, tratamento, dimensões, quer à localização do mesmo modelo para reutilização.

Na empresa em que trabalho atualmente, temos um elevado número de projetos de moldes (modelos CAD TopSolid) no arquivo de CAD's e acontece frequentemente ter que se reutilizar um componente CAD que já anteriormente foi usado num projeto. Como os modelos desses componentes já estão formatados para o nosso sistema é vantajoso reutiliza-los mas a dificuldade é descobrir em que projeto especificamente ele foi usado, o que ás vezes nos faz perder muito tempo a abrir e fechar modelações CAD pesadas, para tentar descobrir o objeto pretendido.
Surgiu-me a ideia de criar um programa que gerisse uma base de dados com a lista de componentes já utilizados nos diversos projetos. Para realmente ser útil, este programa teria que varrer recursivamente as pastas à procura de modelos CAD e depois recorrendo à API do TopSolid abrir esses modelos e ler a informação de componentes nele utilizados inserindo-os numa base de dados que depois estivesse disponível para pesquisas rápidas.

Escolhi o MYSQL como gestor de base de dados, porque é bom, rápido, escalável, como para desenvolvimento poderia utilizar livremente a versão "community edition". No caso da aplicação viesse a ser utilizada pela própria empresa, esta já tem um servidor MYSQL licenciado onde poderia operar a base de dados.

Para executar as pesquisas e apresentar os resultados o programa mostra na janela principal uma grelha de dados que permite apresentar o conteúdo da busca que não é mais que a execução de um comando SELECT sobre as tabelas armazenadas com dados dos CAD's, e construí um gestor de filtros personalizáveis que permite definir quais os comandos (SELECT) que nos interessam operar sobre a base de dados, apresentando-os numa combo box. Defini já uma série de filtros:

"Encontrar qualquer informação", que pesquisa sobre todos os principais campos de texto na base de dados.
"Procurar Index do molde", que apresenta as peças de um molde indicado correspondentes a um index também indicado
"Procurar designação”, “Procurar Referencia”, “Procurar Anotações e textos”, “Procurar Ficheiro”, Permitem-nos procurar na base de dados por elementos desta natureza.
[…]
“**Executar MySQL**” Este filtro permite executar um comando personalizado pelo utilizador sobre a base de dados, sem ter que estar a definir um novo filtro.

Para adicionar pastas e ficheiros à base de dados, recorre-se ao menu “Ficheiro>Indexar Pasta>Adicionar Pasta”, ao que temos acesso à janela de busca recursiva nas pastas, na qual apenas temos que indicar qual o diretório/drive em que queremos iniciar a busca e a partir dali executa-se a busca recursiva acionando o botão “Indexar Pastas”. Este processo está programado como um backgroundworker o que nos permite cancelar a busca, ou trabalhar noutra parte do programa em simultâneo, pode-se estar a fazer uma pesquisa por componentes ao mesmo tempo que o programa busca ficheiros novos TOPSolid nas pastas. O software além de procurar novos ficheiros, também verifica se para os que já estão registados na base de dados se a data e tamanho do ficheiro no disco mudou de tamanho e caso tenha acontecido marca-o para nova indexação.

A adição de pastas não termina o processo de indexação. Após termos povoado a base de dados com os ficheiros CAD encontrados, devemos executar qualquer das opções em “Ficheiro>Indexar TopSolid>[...]” o que iniciará o TopSolid (ou ligará-se à primeira instância aberta) e por cada ficheiro CAD na base de dados, testará-o por ligações externas quebradas (apenas testado para versões desde a 6.8 à 6.12, o que fiz foi engenharia reversa sobre os ficheiros CAD para descobrir como estão armazenadas as referencias externas e apenas em formato binário não comprimido, num primeiro nível, isto é, testo os ficheiros referenciados mas não sigo as ligações externas desses ficheiros externos que também podem estar quebradas) e em seguida estando o ficheiro integro, o software faz load ao ficheiro CAD para dentro do TOPSolid e executa uma leitura de todas as shapes e das suas propriedades, assim como layers e textos que sejam encontrados no ficheiro, armazenando toda esta informação na base de dados. Este processo repete-se enquanto houverem ficheiros por indexar componentes.

Existem ainda funções para limpar ficheiros que possam ter sido apagados do disco, e quando selecionamos na grelha de resultados um item, o botão “Abrir Pasta” liga-se com a possibilidade de chamar uma janela de explorador já com o ficheiro correspondente selecionado.

Este programa tem-me ajudado a mim e aos colegas a poupar algum tempo reencontrando rápidamente informação e modelos já existentes. Espero que possa ser útil também para vocês, quer como ferramenta, quer como exemplo de programação. Existem muitos conceitos de programação misturados aqui, podem-se encontrar: background workers, ligação com bases de dados, acesso a ficheiros binários, pesquisa recursiva de ficheiros e pastas e API de ligação ao software CAD TopSolid.
Gostaria sempre dos vossos comentários, e SE TIVEREM IDEIAS OU DESAFIOS PARA MIM, CONTACTEM-ME!

Requisitos:
Microsoft .NET Framework 4
Mysql Community Server


TOP INDEX Source+Install DOWNLOAD AQUI. 
(actualizado em 03-12-2013)


terça-feira, 29 de outubro de 2013

COMPONENT FIND - VB2012 - TOPSOLID V6.12

Fernando "geniosoft" Pinheiro | terça-feira, 29 de outubro de 201313:23 | Seja o primeiro a comentar!
Component Find é um programa de busca e substituição nas propriedades das shapes e componentes num modelo CAD aberto no TopSolid.
Podemos procurar por uma parte da designação e enviar para um determinado Layer, por exemplo: Search: "cooling" Enviar para o Layer: 23.
Isto pode ser muito útil quando recebemos uma modelação de outro software e precisamos de organizar a informação por layers ou de outra forma.

Quando executamos a busca o software esconde o TopSolid para executar a busca mais rapidamente. Existe uma checkbox que nos permite executar a busca com o TopSolid visivel, assim como um botão para esconder/mostrar a aplicação TOP.

A busca pode ser parcial ou completa. Isto é, se procurarmos pelo index 200, se fizermos a busca exacta, o software apenas aplica as alterações a uma peça que tenha exactamente o index 200, mas se fizermos busca parcial, podemos ter resultados nas peças "P200", "200A", "C200", ..., com a opção "busca iniciada por" apenas nos retornará, a "200", "200A", ...

Quanto às opções de subsituição, neste momento podemos alterar o layer, a designação das peças encontradas, o fornecedor e a referencia, assim como mostrar a peça, ou esconder todas as que não correspondam à busca. O que apenas tem um impacto visual, sem alterar nada no nosso modelo.

O programa foi construido com o Visual Studio Express 2012, em Visual Basic. Utiliza a API do TopSolid para comunicar com o mesmo.

O que descobri pela experiencia é que o TOPSOLID é relativamente confuso na informação que passa para fora sobre as shapes. Se analisarmos elementos dentro do TOPSOLID, o mesmo apresenta-nos informação sobre esses elementos, como index, fornecedor, etc, que depois quando analisamos a mesma shape pela API na programação, retornamos propriedades em branco. Poderá haver uma agregação de propriedades com outros elementos que serviram de base ás clusters? Penso que será algo desse género, mas de qualquer forma a informação mesmo partilhada com outras shapes deveria retornar para fora.

Mas este software continua a ser bastante útil, especialmente quando recebemos modelações do exterior e as queremos reorganizar. E servirá também para ajudar quem se queira lançar na programação de utilitários para este software CAD, visto que a informação existente é pequena, e a maior parte das coisas tive que descobrir por trial & error, poupando esse esforço a quem já se apoiar neste código.

No entanto gostaria sempre dos vossos comentários, e SE TIVEREM IDEIAS OU DESAFIOS PARA MIM, CONTACTEM-ME!




Component Find é um programa de busca e substituição nas propriedades das shapes e componentes num modelo CAD aberto no TopSolid.
Podemos procurar por uma parte da designação e enviar para um determinado Layer, por exemplo: Search: "cooling" Enviar para o Layer: 23.
Isto pode ser muito útil quando recebemos uma modelação de outro software e precisamos de organizar a informação por layers ou de outra forma.

Quando executamos a busca o software esconde o TopSolid para executar a busca mais rapidamente. Existe uma checkbox que nos permite executar a busca com o TopSolid visivel, assim como um botão para esconder/mostrar a aplicação TOP.

A busca pode ser parcial ou completa. Isto é, se procurarmos pelo index 200, se fizermos a busca exacta, o software apenas aplica as alterações a uma peça que tenha exactamente o index 200, mas se fizermos busca parcial, podemos ter resultados nas peças "P200", "200A", "C200", ..., com a opção "busca iniciada por" apenas nos retornará, a "200", "200A", ...

Quanto às opções de subsituição, neste momento podemos alterar o layer, a designação das peças encontradas, o fornecedor e a referencia, assim como mostrar a peça, ou esconder todas as que não correspondam à busca. O que apenas tem um impacto visual, sem alterar nada no nosso modelo.

O programa foi construido com o Visual Studio Express 2012, em Visual Basic. Utiliza a API do TopSolid para comunicar com o mesmo.

O que descobri pela experiencia é que o TOPSOLID é relativamente confuso na informação que passa para fora sobre as shapes. Se analisarmos elementos dentro do TOPSOLID, o mesmo apresenta-nos informação sobre esses elementos, como index, fornecedor, etc, que depois quando analisamos a mesma shape pela API na programação, retornamos propriedades em branco. Poderá haver uma agregação de propriedades com outros elementos que serviram de base ás clusters? Penso que será algo desse género, mas de qualquer forma a informação mesmo partilhada com outras shapes deveria retornar para fora.

Mas este software continua a ser bastante útil, especialmente quando recebemos modelações do exterior e as queremos reorganizar. E servirá também para ajudar quem se queira lançar na programação de utilitários para este software CAD, visto que a informação existente é pequena, e a maior parte das coisas tive que descobrir por trial & error, poupando esse esforço a quem já se apoiar neste código.

No entanto gostaria sempre dos vossos comentários, e SE TIVEREM IDEIAS OU DESAFIOS PARA MIM, CONTACTEM-ME!




sábado, 26 de outubro de 2013

POWER MACRO MOLD - Powershape 8 - Visual Basic

Fernando "geniosoft" Pinheiro | sábado, 26 de outubro de 201313:22 | Seja o primeiro a comentar!
Este software criei-o em 2011. Entretanto deixei de trabalhar com o Powershape. Decidi portanto partilhar a fonte do programa visto que parei de a desenvolver. O projecto inicial tinha sido feito no Visual Studio 2008, Actualizei-o agora para abrir no Visual Studio 2012. 

Source code:

O texto abaixo era o que já tinha antes acompanhado a distribuição:

"O Software PowerMacro Mold permite criar uma modelação 3D de uma estrutura de molde, guiada, gerando para isso uma macro que pode ser interpretada pelo software PowerShape da Delcam, no menu Macro, opção Executar.
O programa faz isso, gerando um sólido individual para cada elemento do molde, com o seu respectivo eixo de referencia, e colocando cada elemento num nível (layer) diferente e personalizado.
Para facilidade e reaproveitamento do trabalho, o programa permite gravar as configurações utilizadas num ou vários ficheiro, de forma a se poder reutilizar as definições no futuro, da estrutura, dos níveis, das guias ou casquilhos, dos olhais, dos rasgos de aperto...
Além disto o programa é fornecido com uma base de dados com guias e casquilhos dos principais fornecedores de acessórios.
O melhor de tudo é que este software está a ser distribuído GRATUITAMENTE."





Este software criei-o em 2011. Entretanto deixei de trabalhar com o Powershape. Decidi portanto partilhar a fonte do programa visto que parei de a desenvolver. O projecto inicial tinha sido feito no Visual Studio 2008, Actualizei-o agora para abrir no Visual Studio 2012. 

Source code:

O texto abaixo era o que já tinha antes acompanhado a distribuição:

"O Software PowerMacro Mold permite criar uma modelação 3D de uma estrutura de molde, guiada, gerando para isso uma macro que pode ser interpretada pelo software PowerShape da Delcam, no menu Macro, opção Executar.
O programa faz isso, gerando um sólido individual para cada elemento do molde, com o seu respectivo eixo de referencia, e colocando cada elemento num nível (layer) diferente e personalizado.
Para facilidade e reaproveitamento do trabalho, o programa permite gravar as configurações utilizadas num ou vários ficheiro, de forma a se poder reutilizar as definições no futuro, da estrutura, dos níveis, das guias ou casquilhos, dos olhais, dos rasgos de aperto...
Além disto o programa é fornecido com uma base de dados com guias e casquilhos dos principais fornecedores de acessórios.
O melhor de tudo é que este software está a ser distribuído GRATUITAMENTE."





Sobre mim

A minha foto
aka geniosoft geniosoftware@gmail.com

Seguidores

Arquivo do Blog

Copyright © 2013 CAD with API. Bloggerized byOzynetwork converted by BloggerTheme9
Blogger template. Proudly Powered by Blogger.
back to top