Neste post você aprende tudo sobre fontes, tipos de linhas complexos, e formas em BricsCAD®.

BricsCAD usa arquivos .shx para fontes, formas (shapes), símbolos GD&T e tipos de linha complexos. Você pode criar arquivos-fonte .shp que é o assunto desta postagem. BricsCAD não possui um compilador para converter arquivos .shp para arquivos compilados .shx mas com esses o BricsCAD trabalha.

BricsCAD exibe fontes de ambos os tipos: TrueType (.ttf) e AutoCAD® shape (.shx) arquivos.

Além de usar arquivos .shx para exibir fontes, BricsCAD usa um segundo tipo de arquivo .shx para entidades simples tipo-blocos conhecidas como "shapes" e, portanto, inclui os comandos: Carregar e Shape comandos usado para carregar e inserir estes no desenho.

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.

Explicações atualizadas por Jason Bourhill, da CAD Concepts.


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

Descobrindo comandos e variáveis do sistema que afetam tipos de linha


RESUMO RÁPIDO DAS DEFINIÇÕES DE SHAPE

Shapes e fontes são definidas por arquivos .shp, que precisam ser compilados em arquivos .shx. Uma definição de shape consiste em pelo menos duas linhas de texto, um cabeçalho que rotula a shape ou fonte, seguido por uma ou mais linhas de dados que descrevem a forma. O final da seção de dados é representado com um zero.

LINHA 1: CABEÇALHO

*130,6, NAME

* (asterisco) - indica o início da definição da forma.

130 - numera a forma; fontes usam o número de tabela do caractere ASCII. O intervalo é 1-255.

6 - especifica o número total de bytes de dados.

NAME - nomeia a forma; deve estar em maiúsculas e no máximo 16 caracteres

LINHA 2: DADOS

014,002,01C,001,01C,0

Os dados de forma consistem em códigos de vetor e instrução. Os códigos de vetor definem movimento e desenho em 16 direções:

  • - primeiro dígito (sempre 0) indica que o número é hexadecimal
  • - segundo caractere especifica o comprimento do vetor e varia de 1 a F (15 unidades). 4 - terceiro caractere especifica a direção do vetor

CÓDIGOS DE INSTRUÇÃO

13Múltiplos arcos especificados por saliência.

Hexadecimal Decimal Descrição
000 0 Definição de final de forma.
Desenhar e Mover Básico
001 1 Começa o modo de desenho (pena baixa).
002 2 Finaliza o modo de desenho (pena para cima).
Escalar
003 3 Divida os comprimentos do vetor pelo próximo byte.
004 4 Multiplique os comprimentos de vetor pelo próximo byte.
Memória
005 5 Coloque a localização atual na pilha.
006 6 Local atual atual da pilha.
Desenhar subshape
007 7 Desenhe o número da subshape fornecida pelo próximo byte.
Desenhar e Mover Avançado
008 8 Deslocamento x,y dado pelos próximos dois bytes.
009 9 Múltiplos deslocamentos x,y; terminado com o código (0,0).
Arcos
00A 10 Arco octante definido pelos próximos dois bytes
00B 11 Arco de frações definido pelos próximos cinco bytes.
00C 12 Arco definido por deslocamento x,y e saliência. 00D

Fontes, tipos de linha complexos e formas

BricsCAD usa formas para fontes, o texto em tipos de linha complexos e formas.

FONTES SHX

Nos primeiros dias do CAD, as fontes eram codificadas para serem altamente eficientes. Os computadores não tinham muita potência e o texto era uma das partes mais lentas da tela de desenho. Para resolver o problema das fontes vetoriais que demoram muito para serem exibidas nos computadores lentos da década de 1980, a Autodesk® inventou o formato SHX: quanto mais simples a fonte, menos linhas, mais rápida a exibição.

A fonte mais simples de todas, Txt.shx, parecia feia, mas conseguia desenhar a maioria dos caracteres com apenas oito linhas. A desvantagem das formas baseadas em SHX, no entanto, é que elas não são adequadas para definir curvas complexas que realmente representam fontes, nem podem ser preenchidas adequadamente.

À medida que os computadores se tornaram mais rápidos com o tempo, o número de linhas usadas para desenhar caracteres aumentou. Eventualmente, a tecnologia de fonte TrueType da Apple permitiu fontes com aparência realmente suave e totalmente preenchidas, mesmo em desenhos CAD e em gráficos. A galeria abaixo ilustra o desenvolvimento da letra Q, a partir do original Txt.shx para o mais recente TimesRoman.ttf.

fonte digital linha do tempo vezes novo romano
Desenvolvimento da letra Q da década de 1980 até hoje

Estes são os nomes dos arquivos SHX incluídos no BricsCAD:

Arquivo de fonte SHX Significado
.shx complexo Fonte Serif
hangul .shx Fonte coreana
isocp .shx Fonte padrão ISO (européia)
itálico .shx Fonte em itálico de traço único
italicc .shx Fonte em itálico de traço duplo
italict .shx Fonte em itálico de traço triplo
japonês .shx Fonte japonesa
monotxt .shx Fonte com espaçamento simples (todos os caracteres ocupam a mesma largura)
romanc .shx Fonte com serifa de traço triplo
romand .shx Fonte com serifa de traçado duplo
romans .shx Fonte com serifa de curso único
romant .shx Fonte com serifa de traço triplo (o mesmo que RomanC)
simplex .shx Fonte não-serif
trad_chin .shx Fonte chinesa
txt .shx Fonte mínima não-serif
Sobre fontes em BricsCAD

Para ser compatível com desenhos antigos, o BricsCAD suporta o uso de originais .shx fontes, bem como as atuais .ttf Fontes TrueType. Os arquivos TTF são incluídos por padrão nos sistemas operacionais Windows e MacOS e em alguns sistemas Linux. BricsCAD não suporta fontes PostScript, como as fornecidas como arquivos PFA e PFB.

Para carregar um arquivo de fonte em um desenho, use o comando Estilo (também conhecido como Drawing Explorer) e, em seguida, insere o texto com Texto, TextoM, e outros comandos relacionados a texto. BricsCAD acessa fontes TrueType da pasta de fontes padrão, em cada sistema operacional:

Windows: C:\Windows\FontsLinux: /usr/share/fonts/truetype

Linux: /usr/share/fonts/truetype

MacOS: /Users/Library/FontCollections

Se um desenho exibir fontes incorretamente, então o problema está no BricsCAD não encontrar o local do arquivo de fonte de origem. Aqui você tem duas soluções:

  • Use Configurações | Arquivos | Caminho de pesquisa de arquivo de suporte para adicionar caminhos
  • Adicione os arquivos de fonte ausentes a um dos caminhos existentes
DICA Para obter uma lista de todas as fontes usadas por um desenho, execute o comando eTransmit.

USANDO SHX EM LINETYPES COMPLEXOS

Tipos de linha complexos usam formas para a parte do texto. A posição e o tamanho do texto são definidos no default.lin e iso.lin arquivos de tipo de linha, enquanto os próprios caracteres são definidos pelo arial.ttf fonte, por padrão. A fonte usada é determinada pelo estilo de texto padrão; altere o estilo e a fonte do tipo de linha muda.

Tipo de linha complexo BricsCAD
Tipo de linha complexo que mostra como combina texto com tipos de linha regulares

Eles são carregados e colocados com o TipoLinha comando. Para detalhes, consulte o publicar em tipos de linha

SHX EM SHAPES

Shapes são uma forma inicial de bloco (símbolo). Como fontes, eles eram exibidos muito rapidamente nos computadores lentos da década de 1980. Infelizmente, eles eram muito difíceis de codificar; hoje é muito mais fácil usar blocos e, portanto, shapes não são mais usadas para símbolos. Atualmente, shapes são usadas apenas pelo comando Tolerância.

As shapes usam um formato do arquivo SHX quase idêntico ao das fontes. As shapes devem primeiro ser carregadas no desenho com o comando Carregar e em seguida, inseridas no desenho com Shape .

SHX EM GD&T

Os símbolos GD&T (Dimensionamento Geométrico e Tolerâncias - no inglês) são usados para usinar peças com precisão.

Símbolos de tolerância

Os símbolos são inseridos pelo comando Tolerancia e são baseadas em shapes do gdt.shx arquivo.

COMPATIBILIDADE DA SHAPE COM AUTOCAD®

Para fontes, tipos de linhas complexos, shapes e tolerâncias, o BricsCAD pode usar qualquer arquivo .shx que o AutoCAD® pode usar.

Ambos os pacotes CAD usam um arquivo .fmp (abreviação de "mapa da fonte") para substituir aparência semelhante.shx fontes para as encontradas nos desenhos umas das outras. No momento da escrita, BricsCAD especifica default.fmp mas não o implementou.

Sobre Arquivos Shape

O formato do arquivo shape é meio misterioso, escrito para ser uma forma altamente eficiente de símbolo para os computadores pessoais de execução lenta dos anos 80. As shapes foram rapidamente substituídas por blocos, mas permanecem em cena devido ao uso em tipos de linha e assim por diante.

A codificação de definições de shapes personalizadas requer um conhecimento de trigonometria. Jason Bourhill recomenda que você use o Utilitário MkShape (make shape) fornecido por Martin Drese.

Existem dois tipos de arquivos usados para shapes: .shp e .shx. As diferenças entre eles são as seguintes:

  • .shp são shape de origem. Ao escrever ou editar uma shape ou fonte, você trabalha com o .shp arquivo. Uma porção de um típico .shp e o arquivo fica assim:

*130,6,TRACK1
014,002,01C,001,01C,0

  • .shx são compilado arquivos shape. Esses são arquivos que são carregados no BricsCAD para uso com fontes, tolerâncias e assim por diante.
DICA Você pode usar o AutoCAD® ou o utilitário Compilar da Bricsys para compilar arquivos de formas criados usando as informações desta postagem. O utilitário Compilar faz parte da coleção gratuita do BCadTools de Torsten Moses em https://www.bricsys.com/applications/a/?bcadtools-freeware-a335-al528 Você não pode editar arquivos .shx, a menos que tenha acesso a uma forma programa descompilador. Autodesk® oferece o utilitário DumpShx.Exe no AutoCAD®Express, ou pesquise descompiladores online.

O FORMATO DO ARQUIVO SHAPE

Autodesk® definiu dois formatos para o arquivo de formas: um para formas (blocos simples) e outro para fontes. A diferença entre os dois tipos é sutil: a versão da fonte do arquivo inclui um código 0 para alertar o sistema CAD para tratar o arquivo como uma definição de fonte. Quando o 0 está ausente, o arquivo é tratado como uma definição de forma.

BricsCAD pode carregar ambas as formas de arquivo de formas, como formas com o comando Carregar e como fontes com o comando Estilo. Infelizmente, você não pode distinguir entre os dois com facilidade. Uma maneira é adivinhar pelos nomes dos arquivos ou pastas. Por exemplo, italic.shx é claramente um arquivo de fonte, enquanto ltypeshap.shx é provavelmente um arquivo de forma. Outros nomes de arquivos podem ser vagos: symusic.shx parece um arquivo de forma, mas na verdade é um arquivo de fonte (símbolos musicais). BricsCAD não avisa se você carregar o tipo errado de arquivo de forma com o comando Carregar; por outro lado, o comando Estilo lista apenas arquivos SHX relacionados a fontes.

Aqui estão alguns aspectos sobre o formato do arquivo de forma:

  • Os arquivos de forma geralmente definem uma ou mais formas, até 258 no total.
  • Os arquivos de fonte geralmente definem todos os caracteres para uma única fonte, como AZ, az, 0-9 e pontuação.
  • Os arquivos de fonte Unicode podem ter até 32.768 definições.

Como muitos outros arquivos de personalização, as definições de forma consistem em duas ou mais linhas. A primeira linha é o cabeçalho, que rotula a forma, enquanto as segundas (e seguintes) definem a forma por meio de códigos. O código final em cada definição é 0, que é chamado de terminador.

O formato geral de uma definição de forma consiste em uma linha de cabeçalho, seguida por uma ou mais linhas de definição:

*shapeNumber,totalBytes,shapeName
byte1,byte2,byte3,…,0

Cada linha pode ter até 128 caracteres; arquivos de forma com linhas mais longas não serão compilados. Cada definição é limitada a um total de 2.000 bytes. Você pode usar linhas em branco para separar as definições de forma e o ponto e vírgula (;) para incluir comentários no arquivo.

CAMPOS DE CABEÇALHO

A seguir, são descritos os campos da descrição do cabeçalho da shape:

Definição Início

*130,6,TRACK1

O asterisco sinaliza ao AutoCAD® que a próxima definição de shape está sendo iniciada.

shapeNumber *130,6,TRACK1

Cada shape requer um número único pelo qual é identificada. Para fontes, o número é o código ASCII equivalente, como 65 para a letra A.

DICA Os shapeNumbers 256, 257 e 258 são reservados para os símbolos de grau, mais ou menos e diâmetro.

totalBytes

*130,6,TRACK1

Depois de definir a shape, você deve adicionar o número de bytes que descrevem a shape, incluindo o terminador, 0. Não faz sentido para mim. Há um limite de 2.000 bytes por definição de forma.

Os números de forma Unicode usam dois bytes cada.

shapeName

*130,6,TRACK1

Os nomes das formas podem ser maiúsculas e minúsculas O comprimento máximo do nome é 16 caracteres; caracteres em excesso são truncados.

LINHAS DE DEFINIÇÃO

A linha do cabeçalho é seguida por uma ou mais linhas que definem a forma ou fonte. Essa é a parte misteriosa dos arquivos de shapes, e agora você verá por que eles raramente são mais usados.

bytes

014,002,01C,001,01C,0

A shape é definida por "bytes", chamada assim porque cada código tem um único byte (a medida do computador) em tamanho. Os bytes definem comprimentos e direções do vetor ou códigos de instrução. Eles podem estar no formato decimal (base 10) ou hexadecimal (base 16). As linhas de definição têm no máximo 128 caracteres (incluindo vírgulas) e no máximo 2.000 bytes no geral (não incluindo vírgulas).

A última linha de definição termina com um 0.

DICA Quando o primeiro caractere de um byte é 0, os dois caracteres a seguir estão em hexadecimal, como 00C (12, em decimal).

CÓDIGOS DE VETOR

Os códigos de vetor descrevem como a forma é desenhada. Eles definem movimento (caneta para cima) e desenho (caneta para baixo). Os códigos de vetor são limitados a 16 direções, em incrementos de 22,5 graus, conforme mostrado na figura:

vetor para arquivos de forma
Vetores definindo direção e distância

Observe que os comprimentos não são radiais. Os vetores diagonais como 2 e E são 1,414 vezes mais longos que os vetores ortogonais, como 4 e 0. (Lembre-se de que 1,414 é a raiz quadrada de 2).

Os códigos vetoriais estão sempre em notação hexadecimal, como 02C:

Decimal Hexadecimal
0 … 9 0 … 9
10 A
11 B
12 C
13 D
14 E
15 F

CÓDIGOS DE INSTRUÇÃO

Além de descrever a direção e o comprimento, as formas usam códigos para fornecer instruções. Os números de código podem estar em decimal (dec) ou hexadecimal (hex) Os códigos hexadecimais sempre têm três dígitos, o primeiro sendo 0 (zero). Observe que alguns códigos dependem de códigos adicionais a seguir. E observe que as formas são limitadas a linhas, arcos e espaços.

Hex Dez Descrição
000 0
Desenhar e Mover Básico
001 1
2
Escalar
003 3
004 4
Memória
005 5
6
Desenhar sub-forma
007 7
Desenhar e Mover Avançado
008 8
009 9
Arcos
00A 10
00B 11
00C 12
00D 13
Somente fontes
00E 14

A pilha é um tipo específico de memória chamado FILO, abreviação de "first in, last out". Quando dois números são armazenados na memória da pilha, o último número armazenado é o primeiro a sair. Pense em um elevador, onde a primeira pessoa a entrar é geralmente a última a sair.

Fim da Shape - 0/000

O código 0 deve marcar o final de cada definição de forma. Aparece no final da última linha.

00C, (2,0, -127), 0

Na notação hexadecimal, 0 aparece como 000.

Modo Draw - 1/001

O código 1 inicia o modo de desenho (a “caneta” está pressionada). Por padrão, toda definição de forma começa com o modo de desenho ativado.

2/002: Modo Mover -

O código 2 inicia o modo de movimentação (a "caneta" está ativada). Na amostra abaixo, a caneta é levantada antes de passar para um novo local.

2,8,(-36,-63),1,0

Escala reduzida - 3/003

O código 3 especifica o tamanho relativo de cada vetor. Cada forma começa na altura de um dos vetores ortogonais, como 4. Para diminuir a forma, use o código 3 seguido de um byte especificando o fator de escala de 1 a 255. Por exemplo, o código a seguir desenha a forma pela metade tão grande:

DICA Dentro de uma definição de shape, o fator de escala é cumulativo. Usar o mesmo código de escala duas vezes multiplica o efeito. Por exemplo, 3,2 seguido por outro 3,2 torna a shape quatro vezes menor. No final da definição da forma, retorne a escala à unidade para que outras shapes não sejam afetadas.

Escala ampliada - 4/004

Para aumentar a forma, use o código 4 seguido de um byte especificando o fator de escala, de 1 a 255. Por exemplo, o código a seguir desenha a forma duas vezes maior:

4,2

Observe que você pode usar os códigos 3 e 4 em uma definição de forma para aumentar e diminuir partes da forma.

Salvar (envio) - 5/005

O código 5 salva (empurra) as coordenadas x, y atuais da memória da pilha. Você usa o código 6 para recuperar (pop) as coordenadas para uso posterior. A memória da pilha é limitada a quatro coordenadas. No final da definição da forma, você deve recuperar todas as coordenadas que salvou; ou seja, deve haver um número igual de código 5s e 6s, como mostrado abaixo:

2,14,8, (- 8, -25), 14,5,8, (6,24), 1,01A, 016,012,01E, 02C, 02B, 01A, 2,
8, (8,5), 1,01A, 016,012,01E, 02C, 02B, 01A, 2,8, (4, -19), 14,6, 14,8, (8, -9), 0

Lembre-se (Pop) - 6/006

O código 6 é chamado (estouros) as coordenadas salvas mais recentemente da memória da pilha.

Sub-forma - 7/007

O código 7 chama uma sub-forma, que é simplesmente outra forma. As formas podem ser usadas em outras formas, o que ajuda a reduzir o tédio das formas de codificação. O código 7 é seguido pela referência a outro número de forma, entre 1 e 255. (Lembre-se de que todas as formas em a.shp são identificados pelo número.) Por exemplo:

7,2 chama a forma 2 como uma sub-forma.

Distância X, y - 8/008

Os códigos 8 e 9 superam a restrição que os códigos vetoriais (apenas 16 direções) colocam no desenho.

O código 8 define uma distância usando dois bytes que variam de -128 a 127:

8, xDistance, yDistance

O exemplo abaixo mostra o código 8 sendo usado com frequência:

2,14,3,2,14,8,(-21,-50),14,4,2,14,5,8,(11,25),1,8,(-7,-32),2,
8, (13,32), 1,8, (- 7, -32), 2,8, (- 6,19), 1,0E0,2,8, (- 15, -6), 1,0E0 2
8,(4,-6),14,6,14,3,2,14,8,(21,-32),14,4,2,0

Na primeira linha de código acima, 8, (- 21, -50) desenha 21 unidades restantes (-x) e 50 unidades abaixo (-y).

Distâncias X, y - 9/009

Enquanto o código 8 especifica uma única coordenada, o código 9 especifica uma série de coordenadas, terminadas por (0,0). Por exemplo:

9,(1,2),(-3,4),(5,-6),(0,0)

Arco Octant - 10 / 00A

O código 10 define um octante arco, que é um arco cujo ângulo é limitado a múltiplos de 45 graus, conforme mostrado na figura a seguir. O arco sempre começa na posição 0 e depois se move no sentido anti-horário.

arcos moldam lintypes complexos
Definindo o comprimento de um arco através de octantes

O arco é especificado pelos seguintes bytes:

10, raio, - 0 inicialOctant octantSpan

  • 10 especifica um arco octante.
  • raio é um valor entre 1 e 255.
  • O sinal negativo altera a direção do arco no sentido horário; deixe-o na direção anti-horária.
  • 0 especifica os seguintes caracteres são hexadecimais.
  • StartingOctant especifica onde o arco começa; o valor varia entre 0 e 7).
  • octantSpan especifica o quão difícil o arco viaja, novamente um número entre 0 e 7.
DICA Quando octantSpan é 0, a forma desenha um círculo. O código do arco octante geralmente usa parênteses para ficar mais claro, como: 10, (25, -040)
Arco Fracionário - 11 / 00B

O código 11 é mais útil porque desenha arcos que não terminam e começam em ângulos ocidentais. Sua especificação requer, no entanto, cinco bytes:

11, startOffset, endOffset, highRadius, radius, - 0 startOctant octantSpan

  • 11 define o arco fracionário.
  • startOffset especifica a que distância (em graus) do ângulo octante o arco começa.
  • endOffset especifica a que distância de um ângulo oculto o arco termina.
  • highRadius especifica um raio maior que 255 unidades; Quando o arco tem um raio de 255 unidades ou menos, esse parâmetro é 0. O parâmetro highRadius é multiplicado por 256 e depois adicionado ao raio valor para encontrar o raio do arco.
  • raio é um valor entre 1 e 255.
  • O sinal negativo altera a direção do arco no sentido horário; deixe-o na direção anti-horária.
  • 0 especifica os seguintes caracteres são hexadecimais.
  • StartingOctant especifica onde o arco começa; o valor varia entre 0 e 7.
  • octantSpan especifica a distância que o arco percorre, novamente um número entre 0 e 7.
DICA Aqui está como a Autodesk® sugere determinar o valor de startOffset e endOffset:

  1. Determine as compensações calculando a diferença em graus entre o limite do octante inicial (que é sempre um múltiplo de 45 graus) e o início do arco.
  2. Multiplique a diferença por 256.
  3. Divida o resultado por 45.

Arco de protuberância - 12 / 00C

O código 12 desenha um arco de segmento único aplicando um fator de abaulamento ao vetor de deslocamento. 0C, xDisplacement, yDisplacement, bojo

  • xDisplacement e yDisplacement especificam as coordenadas x, y iniciais do arco.
  • bojo especifica a curvatura do arco. Todos os três valores variam de -127 a 127.

É assim que a Autodesk® diz que a protuberância é calculada: “Se o segmento de linha especificado pelo deslocamento tiver comprimento D e a distância perpendicular do ponto médio desse segmento tiver altura H, a magnitude da protuberância será ((2 * H / D) * 127) . ”

forma de protuberância complexa
Cálculo do tamanho de uma protuberância

Um semicírculo (180 graus) teria um valor de protuberância de 127 (desenhado no sentido anti-horário) ou -127 (desenhado no sentido horário), enquanto uma linha tem um valor de 0. Para um arco maior que 180 graus, use dois arcos seguidos.

Polyarc - 13 / 00D

O código 13 desenha um polyarc, um arco com duas ou mais partes. É terminado por (0,0).

13,(0,2,127),(0,2,-127),(0,0)

DICA Para desenhar uma linha reta entre dois arcos, é mais eficiente usar um arco de bojo zero do que alternar entre arcos e linhas.

Marca Texto vertical Bandeira - 14 / 00E

O código 14 é apenas para fontes e apenas fontes projetadas para serem colocadas horizontal e verticalmente. Quando a orientação é vertical, o código a seguir é processado; se horizontal, o código é ignorado.

tipos de linha complexos de código de fonte


Download Grátis do BricsCAD por 30 dias

Comece a criar tipos de linha complexos 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