Neste post veremos o método mais poderoso disponível para “não programadores” para personalizar BricsCAD - a linguagem de programação LISP. Aprenda como usar o LISP no BricsCAD com um exemplo prático, além de uma visão geral das funções do LISP na parte inferior da página.

Embora as macros das barras e dos menus sejam fáceis de escrever e editar, elas limitam sua capacidade de controlar o BricsCAD.

ATENÇÃO: Este artigo no Blog é transcrito aqui no idioma Português-Brasil, mas pelo fato do artigo original ter sido escrito em Inglês, é possível que algumas instruções (especialmente: códigos) possam gerar conflito entre os idiomas. Sugiro consultar também os códigos de origem (no livro ou na versão em inglês deste post) para garantir que seu trabalho esteja bem resolvido.

Para uma visão geral completa dos comandos LISP para BricsCAD, você pode visualizar o arquivo oficial, BricsCAD LISP Developer Guide.


Os seguintes tópicos são abordados neste artigo:


LISP EM COMANDOS

Ok, vamos ver como usar o código LISP para uma finalidade prática. Por exemplo, pode ser necessário desenhar uma matriz linear de sete círculos para caber em um espaço de 9 ”.

  1. Inicie o comando Circulo, da seguinte maneira:

    : Circle
    2Point/3Point/RadTanTan/Arc/Multiple/ : (Pick a point.)

  2. Em vez de digitar o valor do diâmetro, entre a equação LISP, da seguinte maneira:

    Diameter/: (/ 9.0 7)
    Diameter/: 1.28571

    BricsCAD desenha um círculo com um diâmetro de 1,28571 polegadas. Você pode usar uma função LISP apropriada a qualquer momento em que o BricsCAD esperar por uma entrada do usuário.

  3. Agora vá para o comando Matriz, e desenhe os outros seis círculos, da seguinte maneira:

    : Array
    Selecione entidades para matriz: A
    Entidades no conjunto: 1 Selecione entidades para matriz: (Pressione Enter.)
    Tipo de matriz: Polar/: R
    Número de linhas na matriz <1>: (Pressione Enter.)
    Número de colunas <1>: 7
    Distância horizontal entre colunas: (/ 0.9 7)
    Distância horizontal entre colunas: 0.128571

    Mais uma vez, você usa LISP para especificar o espaçamento da matriz, que é igual ao diâmetro do círculo.

LEMBRANDO O RESULTADO: SETQ

No exemplo acima, você usou a equação (/ 9.0 7) duas vezes: uma vez no comando Circulo e novamente em Matriz. Assim como a tecla M em uma calculadora permite lembrar o resultado do seu cálculo, o LISP pode ser feito para lembrar os resultados de todos os seus cálculos.

Para fazer isso, use a função LISP mais comum, conhecida como setq. Essa função curiosamente nomeada
é a abreviação de SET eQual para (Defina como igual a).

  1. Para salvar o resultado de um cálculo, use o setq funcionar junto com uma variável, da seguinte maneira:

    : (setq x (/ 9.0 7))
    1.28571
    :

    Aqui, x lembra o resultado do cálculo (/ 9.0 7.0). Observe o conjunto extra de parênteses. Da classe da álgebra, você provavelmente se lembra de equações como 'x = 7 + 9' e 'x = 7/9'. O x é conhecido como uma variável porque pode ter qualquer valor.

  2. Para provar a si mesmo que x contém o valor de 1.28571, use a exclamação no BricsCAD !, como segue:

    !x
    1.28571
    :

    O prefixo ! (às vezes chamado de "bang") é útil para se lembrar do valor contido em uma variável, caso você tenha esquecido ou esteja se perguntando o que aconteceu durante o cálculo.
    O LISP não se limita a apenas uma variável. Você pode criar qualquer combinação de caracteres para criar nomes de variáveis, como pt1, diameter, e yvalue. A única limitação é que você não pode usar nomes de função LISP, como setq, T, e getint. De fato, é bom criar nomes de variáveis que refletem o conteúdo, como o diâmetro do círculo calculado acima. Mas você também deseja equilibrar um nome descritivo, como diâmetro, com digitação minimizada, como x. Uma boa escolha é dia.

  3. Você torna uma variável igual a outra, da seguinte maneira:

    : (setq dia x)
    1.28571

    : !dia
    1.28571
    :

  4. Refaça os comandos Circle e Array, desta vez usando a variável dia, da seguinte maneira:

    : Circle
    2Point / 3Point / RadTanTan / Arc / Multiple /: (Escolha um ponto.)
    Diâmetro/: !dia
    Diameter/: 1.28571
    : Array
    Selecione entidades para matriz: A
    Entidades no conjunto: 1 Selecione as entidades a serem dispostas: (Pressione Enter.)
    Tipo de matriz: Polar/: R
    Número de linhas na matriz <1>: (Pressione Enter.)
    Número de colunas <1>: 7
    Distância horizontal entre colunas: !dia
    Distância horizontal entre colunas: 0.128571

    BricsCAD desenha precisamente os mesmos sete círculos, usando o valor 1.28571 armazenado em dia.

Visão Geral da Função LISP

O LISP é tão poderoso que pode manipular quase qualquer aspecto do desenho BricsCAD. No tutorial a seguir, você terá uma amostra dos diversos tipos de funções que o LISP oferece para manipular números e palavras. Quando iniciarmos nosso tour de vários grupos de funções LISP, inicie o BricsCAD e digite os exemplos na janela Histórico de Prompt (pressione F2) no prompt de comando ':'.

FUNÇÕES DE MATEMÁTICA

Além das quatro funções aritméticas básicas, o LISP possui muitas das funções matemáticas que você pode esperar em uma linguagem de programação. A lista inclui funções trigonométricas, logarítmicas, lógicas e de manipulação de bits; um tipo de função que falta é a manipulação da matriz.

Por exemplo, a função min retorna o menor (mínimo) de uma lista de números:

: (min 7 3 5 11)
3

Para lembrar o resultado dessa função, adicione setq com variável minnbr, do seguinte modo:

: (setq minnbr (min 7 3 5 11))
3

Agora, toda vez que você desejar se referir ao valor mínimo dessa série de números, poderá consultar a variável minnbr. Aqui está um exemplo de uma função trigonométrica, sine:

: (sin minnbr)
0.14112

Retorna o seno do ângulo de 3 radianos.

DICA Você deve fornecer o ângulo em radianos, não em graus. Isso muitas vezes é um inconveniente, porque geralmente você trabalha com graus, mas deve convertê-los em radianos.

Felizmente, o LISP pode fazer isso por você, desde que você o codifique corretamente. Lembre-se de que existem 2*pi (aproximadamente 6.282) radianos em 360 graus. Por exemplo, para obter o seno de 45 graus, você deve entrar em algum trabalho elegante:

: (sin (* (/ 45 180.0) pi))
0.707107

Aqui eu dividi os graus (45) por 180, depois multipliquei por pi. O 45 ou o 180 precisam de uma representação em decimal (0.0) para forçar a divisão por números reais, e não por números inteiros.

A propósito, pi é a única constante predefinida no LISP e é igual a 3,1415926. Isso significa que você apenas digita pi, em vez de 3,1415926 cada vez que você precisar do valor de pi em uma função. Para ver isso, use o ponto de exclamação no prompt de comando:

: !pi
3.14159

O LISP exibe o resultado com seis casas decimais, embora execute cálculos com precisão de 32 bits.

FUNÇÕES GEOMÉTRICAS

Como o CAD lida com geometria, o LISP possui várias funções para lidar com geometria.

Distância entre dois pontos

A função LISP distance é semelhante ao comando BricsCAD Dist : retorna a distância 3D entre dois pontos. Para ver como funciona, primeiro atribua as coordenadas x, y a um par de pontos, p1 e p2, do seguinte modo:

: (setq p1 ‘(1.3 5.7)) (1.3 5.7)
: (setq p2 ‘(7.5 3.1 11)) (7.5 3.1 11)
: (distance p1 p2) 6.72309

Você pode ter perdido essa aspas simples (apóstrofo) na frente da lista de coordenadas x, y, como em: '(1.3 5.7). Isso informa ao LISP que você está criando um par (ou triplo no caso de x,y,z) de coordenadas e que não deve avaliar os números. Tecnicamente, a marca ' cria uma Lista de números.

Para separar as coordenadas, use espaços, não vírgulas. Observe que quando você deixa de fora a coordenada-z, o LISP assume que ele é igual a 0,0000.

O Angulo a partir de 0 Graus

Outras funções geométricas de interesse incluem encontrar o ângulo de 0 graus (geralmente apontando para o leste) até a linha definida por p1 e p2:

: (angle p1 p2)
5.88611

O resultado é retornado em radianos: 5.88611.

A Interseção de Duas Linhas

A interseção de duas linhas é determinada pela função inters função:

: (inters pt1 pt2 pt3 pt4)

Snaps a Entidades

Na função a seguir, você encontra o ponto médio da linha que começa em p1. Você aplica a função osnap e especifica o tipo de osnap; LISP retorna as coordenadas x,y,z do ponto de snap da entidade. A entidade deve realmente existir.

: line
Do ponto: !p1
Ao ponto: !p2
Ao ponto: (Pressione Enter.)
: (osnap p1 "mid")
(4.4 4.4 5.5)

Aqui "mid" se refere ao modo de snap à entidade 'ponto médio'.

As outras funções geométricas incluem textbox (para encontrar o contorno retangular de uma linha de texto - caixa de texto) e Polar, que retorna um ponto 3D de uma distância e ângulo especificados.

FUNÇÕES CONDICIONAIS

Você poderia dizer que funções condicionais são mais importantes, porque definem a existência de uma linguagem de programação. São as condicionais que permitem que um programa de computador “pense” e tome decisões. As funções condicionais verificam se um valor é 'menor que', 'igual a' ou 'maior que' outro valor. Eles verificam se algo é verdadeiro; ou eles repetem uma ação até que algo seja falso.

Se você não tem certeza se é uma linguagem de programação ou apenas uma linguagem de macros, procure pelas condicionais.

Macros da barra de ferramentas, por exemplo, não têm condicionais; eles não são uma linguagem de programação.

Aqui está um exemplo de como as funções condicionais operam: if (se) a distância do chão ao teto é maior que oito pés (96 polegadas), então desenhe 14 degraus; else, (de outra forma) desenhe 13 degraus. Observe que há duas partes na declaração: a parte if é a parte verdadeira; a parte else é a parte falsa: 'Faça algo se for verdade; caso contrário, faça outra coisa, se for falsa'.

Palavras semelhantes são usadas nas funções de condição do LISP. Digite o seguinte no ':' prompt:

: (if (height > 96) (setq 14 degraus) (setq 13 degraus)) 13

Vamos fragmentar esse código para ver como a função if se compara à nossa declaração:

(if Se
(> maior que
height distância do chão-ao-teto é
96) 96 polegadas;
Then
(setq steps 14) desenhe 14 degraus.
Else
(setq steps 13) desenhe 13 degraus.
)

Outros condicionais

O if função é limitada a avaliar apenas uma condicional. As funções cond avaliam muitas condições. A função repeat executa um número específico de vezes, enquanto a função while executa o código enquanto este for verdadeiro.

FUNÇÕES DE STRING E CONVERSÃO

Você pode manipular strings (expressões de texto que consiste em um ou mais caracteres) no LISP, mas em menor grau que os números. Por exemplo, você pode encontrar o comprimento de uma sequência da seguinte maneira:

: (strlen “Mundo BricsCAD”)
16

O strlen (abreviatura de STRing LENthth (comprimento da string)) diz que “BricsCAD World” possui 16 caracteres, contando o espaço. Observe como "BricsCAD World" está entre aspas. Isso informa ao LISP que você está trabalhando com uma string, não uma variável.

Se você digitar (strlen Mundo BricsCAD), o LISP tenta encontrar o comprimento das cadeias mantidas pelas variáveis BricsCAD e World separadamente. Por exemplo:

: (setq BricsCAD "Um pacote de software") "Um pacote de software"
: (setq mundo “o planeta terra”)
o planeta terra"
: (strlen Mundo BricsCAD)
34

Juntando Cadeias de Texto

Outras funções de string alteram todos os caracteres para maiúsculas ou para minúsculas (strcase), retorna parte de uma sequência (substr), pesquisa e substitui o texto em uma sequência (subst) e une duas cordas (strcat), do seguinte modo:

: (strcat BricsCAD "usado em todo o mundo")
“Um pacote de software usado em todo o planeta Terra”

É assim que você cria relatórios, como “13 etapas desenhadas”, misturando variáveis e texto.

Convertendo entre texto e números

Relacionadas às funções de string estão as funções de conversão, porque algumas delas são convertidas para e de strings. Por exemplo, anteriormente mostrei como converter graus em radianos. Isso é bom para graus decimais, como 45,3711 graus. Mas como você converte 45 graus, 37 minutos e 11 segundos, que BricsCAD representa como 45d37'11 ”? É aí que uma função de conversão como angtof (abreviatura de Ângulo para ponto flutuante). Ele converte uma sequência de ângulos em radianos de número real:

: (angtof “45d37'11 \” ”1)
0.796214

Aqui nós fornecemos angtof com o ângulo no formato graus-minutos-segundos. No entanto, o LISP não é inteligente o suficiente para saber, por isso dizemos por meio do 'auto mode número, 1 neste caso.

Esta (e algumas outras funções) usam o seguinte como códigos de modo:

Modo
Significado
Exemplo
0 Graus decimais 45.3711
1 Graus-minutos-segundos 45d 37′ 11″
2 Grad 100.1234
3 Radian 0.3964
4 Unidades de Topógrafo N 45d37'11 ″ E

Observe a semelhança entre os números de modo e os valores da variável do sistema AUnits - e os modos usados pelo Diesel. A coincidência não é por acaso. Quando você não conhece antecipadamente a configuração atual das unidades, utiliza esse fato especificando o número do modo como uma variável, da seguinte maneira:

: (angtof "45d37'11 \" "(getvar “Unidades”))
0.796214

Aqui usamos getvar (abreviatura de GET VARiable), a função LISP que obtém o valor de uma variável do sistema. Nós costumavamos getvar para obter aunits, que mantém o estado da exibição angular conforme definido pelo Unidades .

Observe como o indicador de segundos (”) é tratado: \”. Isso não confunde a aspas de fechamento (”) que indica o fim da string.

Outras funções de conversão

Outras funções de conversão convertem uma unidade de medida em outra (através do cvunit função e o default.unt file), um número inteiro em uma string (itos), um caractere em seu valor ASCII (ascii: por exemplo, letra A no valor ASCII 65) e converte (move) um ponto de um sistema de coordenadas para outro (trans).

O default.unt arquivo é encontrado no C:\Users\\ AppData \ Roaming \ Bricsys \ BricsCAD \ V20 \ pt_BR \ Suporte pasta.

FUNÇÕES DE COMANDO EXTERNAS

“Poderoso” geralmente equivale a “complicado”, mas uma das funções mais poderosas do LISP é a mais simples de entender: o command função. Como o próprio nome sugere, command executa comandos BricsCAD de dentro do LISP.

Pense nisso: isso significa que é trivial fazer com que o LISP desenhe um círculo, coloque texto, amplie uma viewport, o que for. Qualquer coisa que você digite no prompt de comando ':' está disponível com o command função. Vamos ver como command trabalha desenhando um círculo. Primeiro, porém, vamos lembrar como o Círculo comando opera:

: círculo
2Point / 3Point / RadTanTan / Arc / Multiple /

: 2,2
Diâmetro/ : D
Diâmetro do círculo: 1.5

Mudando para o command , você imita o que você digita no prompt ':', da seguinte maneira.

: (command "Círculo" "2,2" "D" "1,5")

Observe como todo o texto digitado está entre aspas. Depois de inserir essa linha de código, BricsCAD responde desenhando o círculo:

: Circle
2Point / 3Point / RadTanTan / Arc / Multiple /

: 2,2
Diâmetro/ <1.2857>: D
Diâmetro do círculo <2.5714>: 1.5

Vejamos um dos comandos mais complexos para usar com o command função, Text. Quando usamos o Text comando, BricsCAD apresenta estes prompts:

: text
Texto: Estilo/Alinhar/Ajustar/Centro/Meio/Direita/Justificar/ : 5,10
Altura do texto <0.2000>: 1.5
Angulo de rotação do texto <0>: (Pressione Enter.) Texto: Costurando BricsCAD

Convertido para LISP-ese, isso se torna:

: (comando “texto” “5,10” “1,5” “” “Costurando BricsCAD”)

E o BricsCAD responde com:

: texto
Texto: Estilo / Alinhar / Ajustar / Centro / Meio / Direita / Justificar / : 5,10  Height of text <1.5000>: 1.5  Rotation angle of text <0>:  Text: Tailoring BricsCAD e depois desenha o texto.

Para o prompt 'Ângulo de rotação:', simplesmente pressionamos o Enter chave. Observe como isso é tratado na função LISP: “” - um par de aspas vazias.

Você usa o mesmo “” para finalizar comandos que se repetem automaticamente, como o Linha :

: (comando "linha" "1,2" "3,4" “”)

Quando você não inclui o final “”, deixa BricsCAD pendurado com um prompt 'End point:' e sua rotina LISP falha.

A essa altura, deve ficar claro para você que você precisa realmente conhecer a sequência de prompt dos comandos 100s do BricsCAD para trabalhar efetivamente com o command função. A maneira mais fácil de entender isso é comprar um dos livros de “referência rápida” do mercado, que lista os comandos em ordem alfabética, juntamente com a sequência completa de prompt. E, como vemos em um minuto, verifique se o livro de referência rápida tem uma lista de todas as variáveis do sistema, seu valor padrão e o intervalo de valores permitidos.

Como alternativa, verifique o Central de Ajuda BricsCAD.

Limitação da função de comando

Mas o command função está com falha. Anteriormente, eu disse: "Qualquer coisa que você digite no prompt de comando ':' está disponível com o command função." Agora, enfatizo a palavra "tipo". o command A função quebra completamente quando se trata de caixas de diálogo. É isso mesmo: qualquer comando que use uma caixa de diálogo não funcionará com a função de comando - nem, nesse caso, com as macros que vimos nas postagens anteriores. É por esse motivo que o BricsCAD inclui versões da linha de comando de quase todos os comandos (mas não todos).

Acessando variáveis do sistema

Enquanto você poderia usar o campo command Para acessar variáveis do sistema, o LISP possui um par de funções mais diretas: getvar e setvar.  

Getvar obtém o valor de uma variável do sistema, enquanto setvar altera (define) o valor.

Por exemplo, variável de sistema SplFrame determina se o quadro de uma polilinha de spline é exibido; Por padrão, o valor de SplFrame é 0: o quadro não é exibido, como confirmado por getvar:

: (getvar "Splframe")
0

Para exibir o quadro, altere o valor de SplFrame 1 com setvar do seguinte modo:

: (setvar "Splframe" 1)
1

Contudo, fizemos uma suposição grosseira: que o valor inicial de SplFrame é 0. Zero é o valor padrão, mas não necessariamente o valor no momento em que você executa a rotina LISP. Como sabemos qual o valor de SplFrame é antes de mudar? Responderemos a essa pergunta mais tarde. Fique ligado.

FUNÇÕES GETXXX

Uma coisa é executar um comando que desenha uma nova entidade, como o círculo e o texto que desenhamos acima com o command função. É mais difícil trabalhar com entidades que já existem, como mover esse círculo ou editar o texto. É aí que um grupo de funções conhecido coletivamente como Getxxx entra em jogo. Essas funções obtêm dados da tela. Alguns dos mais úteis incluem:

getpoint - Retorna as coordenadas x, y, z de um ponto escolhido.
getangle - Retorna o ângulo em radianos.
getstring - Retorna o texto digitado pelo usuário.
getreal - Retorna o valor de um número real digitado pelo usuário.

Veja como usar alguns deles com o comando Text. Vamos refazer o código com getstring para
que o LISP solicite tudo primeiro, depois execute o comando Text. Aqui está a primeira linha de
código, que solicita que o usuário insira algum texto:

: (setq TxtStr (getstring T “O que você quer escrever? "))
O que você quer escrever?

Observe que "T" extra; essa é uma solução alternativa que permite getstring aceite uma sequência de texto com espaços. Quando você deixa de fora o T, então getstring aceita texto somente até o primeiro espaço. Se você digitar "Tailoring BricsCAD", acabaria com apenas "Tailoring" e não "BricsCAD".

Também na linha de código acima, o setq A função armazena a frase, como “Tailoring BricsCAD”, na variável TxtStr.

Na próxima linha de código, usamos o irreal para solicitar a altura do texto, que é um número real (decimal) inserido pelo usuário.

: (setq TxtHt (irreal “Quão grande você quer as letras? "))
Quão grande você quer as letras? 2
2.0

Note como irreal converte o 2 (um número inteiro) em um número real, 2,0. O valor é armazenado na variável TxtHt.

Em seguida, usamos o getangle para solicitar o ângulo de rotação do texto:

: (setq TxtAng (getangle “Incline o texto em quanto? "))
Incline o texto em quanto? 30
0.523599

Note como getangle converte os 30 (um grau decimal) em radianos, 0,523599. O valor é armazenado na variável TxtAng.

Então, usamos o getpoint para solicitar ao usuário o ponto de inserção do texto:

: (setq TxtIns (getpoint “Onde você quer que o texto comece? "))
Onde você deseja que o texto comece? (Escolha um ponto.)
(27.8068 4.9825 0.0)

Note como getpoint retorna os valores x, ye z da coordenada, mesmo que z seja zero. O usuário pode escolher um ponto na tela ou inserir um par de coordenadas (x, y) ou triplo (x, y, z).

Por fim, executamos o Text comando com as quatro variáveis:

: (comando “texto” TxtIns TxtHt TxtAng TxtStr) texto Justificar / Estilo:
Altura <1.5000>: 2.000000000000000
Ângulo de rotação <0>: 0.523598775598299
Texto: Costurando BricsCAD
: nada

Lá! Acabamos de personalizar o Text comando ao nosso gosto. Não apenas alteramos os prompts que o usuário vê, mas usamos o LISP para alterar a ordem dos prompts.

FUNÇÕES DO CONJUNTO DE SELEÇÃO

Para trabalhar com mais de uma entidade por vez, o LISP possui um grupo de funções para criar conjuntos de seleção. Tudo isso começa com "SS", como em:

  • SsAdd Adiciona entidades aos conjuntos de seleção.
  • SsDel Exclui entidades dos conjuntos de seleção.
  • SsGetFirst Informa o número de entidades selecionadas.
  • SsLength Informa o número de entidades no conjunto de seleção.
  • SsMemb Verifica se as entidades fazem parte de um conjunto de seleção.
  • SsName Identifica a enésima entidade em um conjunto de seleção.
  • SsSetFirst Destaca objetos em um conjunto de seleção.

BricsCAD's Selecione O comando pode lidar apenas com um conjunto de seleção por vez; por outro lado, os comandos LISP SSxxx podem funcionar com até 128 conjuntos de seleção.

FUNÇÕES DE MANIPULAÇÃO DE ENTIDADES

As realmente poderosas funções LISP são as que entram e manipulam o banco de dados de desenhos. Ao contrário do command função, que é poderosa, mas simples, as funções de manipulação de entidade são poderosas e complicadas. Aqui está um resumo do que são alguns deles:

  • EntMake Cria novas entidades.
  • EntGet Obtém os dados que descrevem entidades nos desenhos.
  • EntMod Muda entidades.
  • EntDel Apaga entidades do banco de dados.
  • TblObjName Obtém os nomes das entidades nas tabelas de símbolos.

O prefixo "Ent" é abreviação de entidade. A "tabela de símbolos" refere-se à parte do banco de dados de desenho que armazena os nomes de camadas, estilos de texto e outras entidades nomeadas no desenho.

Para criar e manipular entidades, essas funções LISP funcionam com uma variante no formato DXF, conhecida como "pares pontilhados". Por exemplo, para trabalhar com uma camada chamada RightOfWay, você emprega o seguinte formato:

"2. RightOfWay "

As aspas indicam o início e o fim dos dados, enquanto o ponto no meio separa os dois valores: 2 é o código DXF para nomes de camadas e RightOfWay é o nome da camada. Você pode ver que, para trabalhar com essas funções de manipulação de entidades, é necessário ter uma boa noção do formato DXF.

FUNÇÕES AVANÇADAS DE LISP

Existe uma série de funções LISP que você nunca pode usar em sua carreira em programação BricsCAD. Por exemplo, existem funções LISP para controlar a memória, como como gc (coleta de lixo) e mem (Estado da memória). Outro conjunto de funções LISP é estritamente para carregar e exibir caixas de diálogo, como load_dialog e new_dialog.


Download Grátis do BricsCAD por 30 dias

Comece a usar o BricsCAD hoje

Licenças permanentes ou por aluguel, que funcionam em todos os idiomas, em todas as regiões.


  1. Introdução
  2. 55 Dicas para Usuários do BricsCAD
  3. Configurações
  4. Mudar o Ambiente
  5. Interface de Usuário Personalizada
  6. Introdução ao Diálogo Personalizar
  7. Personalizar a barra de Menus & Menus de Contexto
  8. Barras de ferramentas e ícones de botão
  9. Escrever Macros e o Código Diesel
  10. Painéis e guias da faixa de opções
  11. Atalhos de teclas, aliases e comandos do shell
  12. Botões do mouse, clique duplo e tablet
  13. Absolutamente tudo o que você precisa saber sobre o Quad
  14. Propriedades de sobreposição
  15. Áreas de trabalho e a interface do usuário
  16. Projetando Painéis de Ferramentas e Estrutura
  17. Criando tipos de linha simples e complexos
  18. Escotilhas de padronização
  19. Decodificação de formas e fontes
  20. Codificação com texto do campo
  21. Escrevendo scripts
  22. Programando com LISP (Introdução)
  23. Funções LISP