Avançar para o conteúdo principal

JavaScript - Autocad Uma alternativa ao C#

JavaScript - Autocad Uma alternativa ao C#

Na exploração de alternativas para a programação em Autocad, o JavaScript pode em alguns casos ser um caminho viável.

Menu Pavimentos
Exemplo para um Menu de Pavimentos

No exercício que estou a fazer, a ideia é montar um programa para desenhar secções tipo, ou pelo menos os componentes de uma secção tipo. Fazemos muitos reaproveitamentos de secções tipo, e nem sempre estas secções estão exactas, ou falha um milímetro ou a pendente não é a correcta, coisas assim. Além disso poderia ser uma forma de uniformizar e claro de poupar tempo no desenho e montagem de uma secção tipo.

Para já a ideia está na fase de verificar a viabilidade da mesma. O caminho poderia ser um programa fora do Autocad, ou dentro do Autocad. Dentro do CAD o tradicional caminho é o do CSharp. Com o CSharp para que tenha menus, tem de se ir sempre ao Visual Studio, o que acrescenta mais um passo de complexidade. Depois há ainda que escolher de que tipo são as janelas do Menu... há três tipos, mas o que está preferido pelo CAD são as Palettes.

Com a ideia de simplificar, resolvi ver o caminho do JavaScript. O Autocad permite criar uns scripts (scripts no sentido de operações trabalhos etc...) com JS, mas sem menus. Tem algumas limitações, não sendo tão potente como o C#. Para alguns casos é suficiente, e se fosse necessário poderiam ser extendidas as suas capacidades...

O JS tem o defeito de, em conjunto com o HTML para gerar um menu tipo Palette de deixar o código fonte acessível. Mas se for para consumo interno não há problema. tem a vantagem de não usar o Visual Studio e de ser realizado numa tecnologia quase conhecida.

Tem de estar ligado à Net, pois funciona com recurso a uma API. Mas o próprio Autocad hoje em dia tem de estar ligado por temas de licenças.


Para o projecto são necessários pelo menos dois ficheiros, um JS que indica que +e um menu Palette e carrega o HTML.


Dentro do HTML está todo o layout do programa e as suas funções.

Por exemplo, o conteúdo do HTML pode ser:
Neste HTML faz-se o link ao API.

https://df-prod.autocad360.com/jsapi/v3/GettingStart/index.html




O ficheiro JS apenas faz a ligação ao HTML e indica que é um menu de Palette:


O carregamento deste programa é feito pelo comando WEBLOAD e depois indica-se o caminho para o ficheiro JS:
Ainda estou a ver como se pode abreviar o processo de carregamento.

Pode-se ver que abre o menu, em forma de Palette, típica de vários menus de CAD como por exemplo o das propriedades de uma linha... apenas não tem (por agora) uma formatação familiar.


Nesta fase inicial do projecto, tenho apenas duas opções, sem muita complexidade, para ir verificando a viabilidade do projecto.


Este seria o Menu de Pavimentos e à direita um desenho inicial, de duas linha que representa o topo e o fundo de uma camada de pavimento, com a pendente (fixa ainda) e espessura desejada.
Estou a trabalhar na separação de layers e hatch etc...




Comentários

Mensagens populares deste blogue

C# - Viadutos Excel - ISPOL

C# - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Desta vez, apresento uma utilidade que lê um ficheiro Excel, e transforma os dados para o menu de estruturas do ISPOL. Partindo de um Excel organizado, por pks eixos e espessuras da estrutura etc... como o seguinte: Elaborei um programita em CSharp: Este programa funciona em modo "DOS" não tem uma interface gráfica de janelas: O programa cria os ficheiros necessários, o Excel pode estar organizado por eixos, e o programa guarda um ficheiro para cada eixo: O resultado depois de abrir o ficheiro em ISPOL é o seguinte: Com as alterações ao projecto pode-se manter um ficheiro de apresentação e controlo em Excel.

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Politica de privacidade das aplicações colocadas na Play Store do Google

Politica de privacidade das aplicações colocadas na Play Store do Google. As aplicações não recolhem qualquer dado do utilizador nem a armazenam ou partilham com terceiros. Não recolhem a localização nem a armazenam ou partilham com terceiros. Alguma informação sobre os utilizadores que possa chegar ao programador por via da Play Store, será tratada de acordo com toda a confidencialidade, e não fornecida a terceiros. Obrigado.