electric_shapes 1.0.0 copy "electric_shapes: ^1.0.0" to clipboard
electric_shapes: ^1.0.0 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
0
points
58
downloads

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

unknown (license)

Dependencies

flutter, flutter_svg

More

Packages that depend on electric_shapes