id = "gmsh" name = "Gmsh" homepage = "https://gmsh.info/" executables = ["gmsh"] [dotfiles] # Gmsh's official manual defines the per-user General.OptionsFileName default # as .gmsh-options and searches $HOME (or APPDATA on Windows). The separate # .gmshrc session resource is state (recent files/window geometry), so it is # intentionally not synced. # https://gmsh.info/doc/texinfo/gmsh.html 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"]