Automação com INX Modifiers
Criar extensões INX com parâmetros customizados no Inkscape
O que você vai aprender
- Entender o formato INX para registro de extensões no Inkscape
- Criar arquivos INX para expor scripts Python no menu de Extensões
- Definir parâmetros de entrada (GUI) para extensões personalizadas
- Configurar dependências e compatibilidade de versão no INX
Automação com INX Modifiers🔗
Estrutura de Extensão INX🔗
Arquivos INX definem a interface de parâmetros para extensões Python.
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/ns/inkscape/extension">
<name> Minha Extensão</name>
<id>minha_extensao</id>
<param name="nome" type="string">valor_padrão</param>
<param name="numero" type="int" min="1" max="100">50</param>
<param name="ativo" type="boolean">true</param>
<effect>
<object-type>all</object-type>
</effect>
<script>
<command location="inx">python</command>
<source attachment="minha_extensao.py"/>
</script>
</inkscape-extension>Tipos de Parâmetros🔗
| Tipo | Descrição |
|---|---|
string | Texto |
int | Número inteiro |
float | Número decimal |
boolean | Checkbox |
enum | Lista suspensa |
color | Cor |
path | Caminho de arquivo |
Exemplo: Parâmetros Completos🔗
<param name="texto" type="string" gui-text="Nome">João</param>
<param name="quantidade" type="int" min="1" max="100" gui-text="Quantidade">10</param>
<param name="escala" type="float" precision="2" min="0.1" max="10" gui-text="Escala">1.0</param>
<param name="ativo" type="boolean" gui-text="Ativar efeito">true</param>
<param name="cor" type="color" gui-text="Cor de preenchimento">#FF0000</param>Acesso no Python🔗
import inkex
class MinhaExtensao(inkex.Effect):
def effect(self):
# Acessar parâmetros
nome = self.options.nome
quantidade = self.options.quantidade
escala = self.options.escala
ativo = self.options.ativo
cor = self.options.cor
# Aplicar lógica
for i in range(quantidade):
# criar objetos...
pass
if __name__ == '__main__':
MinhaExtensao().run()Boas Práticas🔗
- Sempre valide inputs
- Forneça valores padrão sensatos
- Documente o que cada parâmetro faz
- Teste com valores extremos
Use inkex.utils para funções auxiliares como bool() e float() com validação.
Você aprendeu
- O arquivo INX é XML que registra extensões no menu e define parâmetros de interface
- Parâmetros no INX geram automaticamente a GUI de configuração da extensão
- INX suporta validação de dependências e restrição por versão do Inkscape