electric_shapes 1.0.11 copy "electric_shapes: ^1.0.11" to clipboard
electric_shapes: ^1.0.11 copied to clipboard

Flutter package with electric network icons and technical symbols for diagrams and utility apps.

electric_shapes #

Biblioteca Flutter com simbologia para redes elétricas, oferecendo duas formas de uso:

  • IconData via fonte customizada, ideal para uso com Icon, ElectricIcon, botões, listas e app bars.
  • widgets Symbol desenhados em CustomPainter, ideais quando você precisa de mais fidelidade visual e controle fino de tamanho, cor e espessura.

O pacote foi pensado para representar elementos comuns de projetos e diagramas elétricos, como transformadores, postes, aterramentos, para-raios, chaves e redes de média e baixa tensão.

Features #

  • Fonte de ícones customizada com API simples em ElectricIcons
  • Widget ElectricIcon para consumir IconData rapidamente
  • Conjunto de Symbols em Flutter puro, sem depender de imagem raster
  • Controle de size, color e strokeWidth
  • Separação entre elementos Existente e Projetado
  • API unificada exportada por package:electric_shapes/electric_shapes.dart

Instalação #

Adicione o pacote ao seu pubspec.yaml:

dependencies:
  electric_shapes:
    path: ../electric_shapes

Se o pacote estiver publicado, troque pelo número da versão correspondente.

Depois importe:

import 'package:electric_shapes/electric_shapes.dart';

Como usar #

1. Usando como ícone de fonte #

Se você quer a experiência tradicional de IconData, use ElectricIcons com Icon ou ElectricIcon.

Icon(
  ElectricIcons.transformadorExistente,
  size: 28,
  color: const Color(0xFF2F3437),
)

Ou com o helper do pacote:

const ElectricIcon(
  ElectricIcons.chaveFusivelProjetada,
  size: 28,
  color: Color(0xFF2F3437),
)

2. Usando símbolos desenhados #

Quando você precisa de uma representação mais próxima da simbologia original, use os widgets Symbol.

const ChaveFusivelExistenteSymbol(
  size: 180,
  color: Color(0xFF2F3437),
  strokeWidth: 1.2,
)

Outro exemplo:

const RedeMediaTensaoSymbol(
  size: 180,
  color: Color(0xFF2F3437),
  strokeWidth: 1,
)

Abordagens disponíveis #

ElectricIcons #

Use quando você quer:

  • integração direta com Icon
  • melhor encaixe em componentes padrão do Flutter
  • consumo rápido em listas, menus e botões
  • catálogo de glifos baseado em fonte

*Symbol #

Use quando você quer:

  • aparência mais fiel ao desenho técnico
  • proporções controladas por widget
  • customização de traço
  • renderização vetorial em Flutter via CustomPainter

API pública #

O pacote exporta:

  • ElectricIcon
  • ElectricIcons
  • ElectricShape
  • todos os widgets Symbol disponíveis em shapes.dart

Ícones disponíveis em ElectricIcons #

Transformadores #

  • ElectricIcons.transformadorExistente
  • ElectricIcons.transformadorProjetado

Postes #

  • ElectricIcons.posteConcretoDTExistente
  • ElectricIcons.posteConcretoDTProjetado
  • ElectricIcons.posteConcretoCircularExistente
  • ElectricIcons.posteConcretoCircularProjetado
  • ElectricIcons.posteFibraVidroExistente
  • ElectricIcons.posteFibraVidroProjetado
  • ElectricIcons.posteMadeiraExistente

Aterramentos #

  • ElectricIcons.aterramentoExistente
  • ElectricIcons.aterramentoProjetado

Para-raios #

  • ElectricIcons.paraRaioExistente
  • ElectricIcons.paraRaioProjetado

Chaves #

  • ElectricIcons.chaveFacaExistente
  • ElectricIcons.chaveFacaProjetada
  • ElectricIcons.chaveFusivelExistente
  • ElectricIcons.chaveFusivelProjetada
  • ElectricIcons.chaveReligadoraExistente
  • ElectricIcons.chaveReligadoraProjetada

Redes #

  • ElectricIcons.redeMediaTensaoExistente
  • ElectricIcons.redeMediaTensaoProjetada
  • ElectricIcons.redeBaixaTensaoExistente
  • ElectricIcons.redeBaixaTensaoProjetada

Widgets Symbol disponíveis #

Transformadores #

  • TransformadorExistenteSymbol
  • TransformadorProjetadoSymbol

Postes #

  • PosteConcretoCircularExistenteSymbol
  • PosteConcretoCircularProjetadoSymbol
  • PosteConcretoDtExistenteSymbol
  • PosteConcretoDtProjetadoSymbol
  • PosteFibraVidroExistenteSymbol
  • PosteFibraVidroProjetadoSymbol
  • PosteMadeiraExistenteSymbol

Aterramentos #

  • AterramentoExistenteSymbol
  • AterramentoProjetadoSymbol

Para-raios #

  • ParaRaiosExistenteSymbol
  • ParaRaiosProjetadoSymbol

Chaves #

  • ChaveFacaExistenteSymbol
  • ChaveFacaProjetadaSymbol
  • ChaveFusivelExistenteSymbol
  • ChaveFusivelProjetadaSymbol
  • ChaveReligadoraExistenteSymbol
  • ChaveReligadoraProjetadaSymbol

Redes #

  • RedeMediaTensaoSymbol
  • RedeBaixaTensaoSymbol

Exemplo de composição #

class ElectricLegend extends StatelessWidget {
  const ElectricLegend({super.key});

  @override
  Widget build(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: const [
        Row(
          children: [
            ElectricIcon(ElectricIcons.transformadorExistente, size: 20),
            SizedBox(width: 8),
            Text('Transformador existente'),
          ],
        ),
        SizedBox(height: 12),
        ChaveFusivelProjetadaSymbol(size: 120),
      ],
    );
  }
}

Personalização #

A maioria dos símbolos expõe:

  • size: controla a escala principal do símbolo
  • color: define a cor do desenho
  • strokeWidth: ajusta a espessura do traço

Exemplo:

const ParaRaiosProjetadoSymbol(
  size: 96,
  color: Colors.red,
  strokeWidth: 1.5,
)

Quando usar cada opção #

Use ElectricIcons quando a prioridade for integração com a UI padrão do Flutter.

Use Symbols quando a prioridade for fidelidade visual da simbologia elétrica.

Em muitos casos, faz sentido usar os dois:

  • IconData para barras, menus e listas
  • Symbol para telas técnicas, diagramas, catálogos e legendas

Estrutura do pacote #

lib/
  electric_shapes.dart
  src/
    electric_icon.dart
    electric_icons.dart
    shapes/
      shapes.dart
      ...

Estado atual #

O pacote já oferece uma base sólida para simbologia elétrica em Flutter, mas ainda pode evoluir com:

  • catálogo visual de todos os símbolos
  • screenshots no README
  • exemplo completo em /example
  • geração automatizada de parte do catálogo de ícones

Contribuição #

Se você for evoluir o pacote, vale manter estes critérios:

  • nomes consistentes entre IconData e Symbol
  • fidelidade visual entre fonte e desenho técnico
  • widgets com const sempre que possível
  • API simples de consumir em aplicações Flutter

Licença #

Defina aqui a licença do projeto antes da publicação.

1
likes
160
points
70
downloads
screenshot

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter package with electric network icons and technical symbols for diagrams and utility apps.

Repository (GitHub)
View/report issues

Topics

#flutter #icons #svg #diagrams #electrical

License

MIT (license)

Dependencies

flutter, flutter_svg

More

Packages that depend on electric_shapes