id = "gmsh"
name = "Gmsh"
homepage = "https://gmsh.info/"
executables = ["gmsh"]
[dotfiles]
paths = [
"~/.gmsh-options",
"%APPDATA%/.gmsh-options",
]
secret = []
[commands]
format = 1
label = "Generate mesh"
description = "Mesh a geometry file in batch mode and write the result. Post-processing, display and scripting options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/bookworm/gmsh/gmsh.1.en.html"
revision = "bookworm"
evidence = """
-1, -2, -3
perform 1D, 2D or 3D mesh generation, then exit.
-o file
specify output file name.
-format
string
set output mesh format (auto, msh, msh1, msh2, msh4, unv, vrml, stl, mesh, bdf, med, ...).
-bin
use binary format when available.
-algo string
-order int
set mesh order.
-clscale
float
set global mesh element size scaling factor.
-clmin float
-clmax float
-nopopup
"""
[[commands.field]]
id = "input"
label = "Geometry file"
type = "path"
position = 0
path = { kind = "file", role = "input", must_exist = true }
sources = ["man"]
[[commands.field]]
id = "mesh_1d"
label = "1D mesh"
type = "boolean"
option = ["-1"]
sources = ["man"]
[[commands.field]]
id = "mesh_2d"
label = "2D mesh"
type = "boolean"
option = ["-2"]
sources = ["man"]
[[commands.field]]
id = "mesh_3d"
label = "3D mesh"
type = "boolean"
option = ["-3"]
sources = ["man"]
[[commands.field]]
id = "output"
label = "Output file"
type = "path"
option = ["-o"]
path = { kind = "file", role = "output", must_exist = false }
effect = "overwrite"
sources = ["man"]
[[commands.field]]
id = "format"
label = "Output format"
type = "string"
option = ["-format"]
suggestions = [{ value = "msh", label = "msh" }, { value = "msh2", label = "msh2" }, { value = "stl", label = "STL" }, { value = "unv", label = "UNV" }, { value = "vrml", label = "VRML" }]
sources = ["man"]
[[commands.field]]
id = "bin"
label = "Binary output"
type = "boolean"
option = ["-bin"]
sources = ["man"]
[[commands.field]]
id = "order"
label = "Mesh order"
type = "integer"
option = ["-order"]
sources = ["man"]
[[commands.field]]
id = "clscale"
label = "Element size factor"
type = "number"
option = ["-clscale"]
sources = ["man"]
[[commands.field]]
id = "clmin"
label = "Minimum element size"
type = "number"
option = ["-clmin"]
sources = ["man"]
[[commands.field]]
id = "clmax"
label = "Maximum element size"
type = "number"
option = ["-clmax"]
sources = ["man"]
[[commands.field]]
id = "nopopup"
label = "No popup dialogs"
type = "boolean"
option = ["-nopopup"]
sources = ["man"]
[[commands.task]]
id = "mesh"
label = "Mesh and save"
set = { mesh_3d = [true] }
fields = ["input", "mesh_1d", "mesh_2d", "mesh_3d", "output", "format", "order"]
required = ["input", "output"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["input", "mesh_1d", "mesh_2d", "mesh_3d", "output", "format", "order"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["bin", "clscale", "clmin", "clmax", "nopopup"]