TURBO-TURTLE(1)

NAME
turbo-turtle - Turbo Turtle

SYNOPSIS

A collection of solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D revolved models. Implemented for Abaqus, Cubit, and Gmsh (work-in-progress) as backend modeling and meshing software. Most of the interface options and descriptions use Abaqus modeling concepts and language. Turbo-Turtle makes a best effort to maintain common behaviors and features across each third-party software's modeling concepts.

    usage: turbo-turtle [-h] [-V] {subcommand} ...

  Named Arguments

-V, --version
    show program's version number and exit

  subcommands

{subcommand}
    Possible choices: docs, fetch, print-abaqus-path, geometry, geometry-xyplot, cylinder, sphere, partition, sets, mesh, merge, export, image

DESCRIPTION

Turbo-Turtle (LANL code O4765) is a collection of solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D revolved models. It also contains general purpose meshing and image generation utilities appropriate for any model, not just those created with this package. Implemented for Abaqus and Cubit as backend modeling and meshing software. Orginal implementation targeted Abaqus so most options and descriptions use Abaqus modeling concepts and language.

Turbo-Turtle makes a best effort to maintain common behaviors and features across each third-party software's modeling concepts. As much as possible, the work for each subcommand is performed in Python 3 to minimize solution approach duplication in third-party tools. The third-party scripting interface is only accessed when creating the final tool specific objects and output. The tools contained in this project can be expanded to drive other meshing utilities in the future, as needed by the user community.

This project derives its name from the origins as a sphere partitioning utility following the turtle shell (or soccer ball) pattern.

TURBO TURTLE SUBCOMMANDS

DOCS

Open the packaged turbo-turtle HTML documentation in the system default web browser

    usage: turbo-turtle docs [-h] [-p]

  Named Arguments

-p, --print-local-path
    Print the path to the locally installed documentation index file. As an alternative to the docs sub-command, open index.html in a web browser (default: False)

TURBO TURTLE SUBCOMMANDS

FETCH

Fetch and copy Turbo Turtle modsim template files and directories. If no FILE is specified, all available files will be created. Directories are recursively copied. pathlib.Path recursive pattern matching is possible. The source path is truncated to use the shortest common file prefix, e.g. requesting two files common/source/file.1 and common/source/file.2 will create /destination/file.1 and /destination/file.2, respectively.

    usage: turbo-turtle fetch [-h] [--destination DESTINATION] [--overwrite]
                              [--dry-run] [--print-available]
                              [FILE ...]

  Positional Arguments

FILE
    modsim template file or directory

  Named Arguments

--destination
    Destination directory. Unless --overwrite is specified, conflicting file names in the destination will not be copied. (default: PWD)

--overwrite
    Overwrite any existing files (default: False)

--dry-run
    Print the destination tree and exit (default: False)

--print-available
    Print available modsim template files and exit (default: False)

TURBO TURTLE SUBCOMMANDS

PRINT-ABAQUS-PATH

*NOTE: this is an alpha feature for early adopters and developer testing of possible GUI support* Print the absolute path to Turbo-Turtle's Abaqus Python compatible package. If this directory is on your PYTHONPATH, you can directly import Turbo Turtle Abaqus Python packages in your own scrips (i.e. import turbo_turtle_abaqus.partition)

    usage: turbo-turtle print-abaqus-path [-h]

TURBO TURTLE SUBCOMMANDS

GEOMETRY

Create a 2D planar, 2D axisymmetric, or 3D body of revolution (about the global Y-Axis) by sketching lines and splines in the XY plane. Line and spline definitions are formed by parsing an input file with [N, 2] array of XY coordinates. Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle geometry [-h] --input-file INPUT_FILE [INPUT_FILE ...]
                                 --output-file OUTPUT_FILE
                                 [--unit-conversion UNIT_CONVERSION]
                                 [--euclidean-distance EUCLIDEAN_DISTANCE]
                                 [--planar] [--model-name MODEL_NAME]
                                 [--part-name PART_NAME [PART_NAME ...]]
                                 [--delimiter DELIMITER]
                                 [--header-lines HEADER_LINES]
                                 [--revolution-angle REVOLUTION_ANGLE]
                                 [--y-offset Y_OFFSET] [--rtol RTOL] [--atol ATOL]
                                 [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                                 [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                                 [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--input-file
    Name of an input file(s) with points in x-y coordinate system

--output-file
    Name of the output model database file to save

  optional arguments

--unit-conversion
    Unit conversion multiplication factor (default: 1.0)

--euclidean-distance
    Connect points with a straight line if the distance between them is larger than this in units after the unit conversion (default: 4.0)

--planar
    Switch to indicate that 2D model dimensionality is planar, not axisymmetric (default: False)

--model-name
    Model name in which to create the new part(s) (default: 'Model-1')

--part-name
    Part name(s) or Cubit volume name(s). Cubit implementation converts hyphens to underscores for ACIS compatibility. (default: [None])

--delimiter
    Delimiter character between columns in the points file(s) (default: ',')

--header-lines
    Number of header lines to skip when parsing the points files(s) (default: 0)

--revolution-angle
    Revolution angle for a 3D part in degrees (default: 360.0)

--y-offset
    Offset along the global Y-axis in units after the unit conversion (default: 0.0)

--rtol
    relative tolerance used by numpy.isclose. If not provided, use numpy defaults (default: None)

--atol
    absolute tolerance used by numpy.isclose. If not provided, use numpy defaults (default: None)

TURBO TURTLE SUBCOMMANDS

GEOMETRY-XYPLOT

Plot the lines-and-splines as parsed by the geometry subcommand. Lines are shown as solid lines with circle markers at the vertices. Splines are show as dashed lines with plus sign markers at the vertices. If there is more than one part, each part is shown in a unique color.

    usage: turbo-turtle geometry-xyplot [-h] --input-file INPUT_FILE
                                        [INPUT_FILE ...] --output-file OUTPUT_FILE
                                        [--unit-conversion UNIT_CONVERSION]
                                        [--euclidean-distance EUCLIDEAN_DISTANCE]
                                        [--planar] [--model-name MODEL_NAME]
                                        [--part-name PART_NAME [PART_NAME ...]]
                                        [--delimiter DELIMITER]
                                        [--header-lines HEADER_LINES]
                                        [--revolution-angle REVOLUTION_ANGLE]
                                        [--y-offset Y_OFFSET] [--rtol RTOL]
                                        [--atol ATOL]
                                        [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                                        [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                                        [--backend {abaqus,cubit,gmsh}]
                                        [--no-markers] [--annotate] [--scale]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

--no-markers
    Exclude vertex markers and only plot lines (default: False)

--annotate
    Annotate the vertex coordinates with their index from the source CSV file (default: False)

--scale
    Change the plot aspect ratio to use the same scale for the X and Y axes (default: False)

  required arguments

--input-file
    Name of an input file(s) with points in x-y coordinate system

--output-file
    Name of the output model database file to save

  optional arguments

--unit-conversion
    Unit conversion multiplication factor (default: 1.0)

--euclidean-distance
    Connect points with a straight line if the distance between them is larger than this in units after the unit conversion (default: 4.0)

--planar
    Switch to indicate that 2D model dimensionality is planar, not axisymmetric (default: False)

--model-name
    Model name in which to create the new part(s) (default: 'Model-1')

--part-name
    Part name(s) or Cubit volume name(s). Cubit implementation converts hyphens to underscores for ACIS compatibility. (default: [None])

--delimiter
    Delimiter character between columns in the points file(s) (default: ',')

--header-lines
    Number of header lines to skip when parsing the points files(s) (default: 0)

--revolution-angle
    Revolution angle for a 3D part in degrees (default: 360.0)

--y-offset
    Offset along the global Y-axis in units after the unit conversion (default: 0.0)

--rtol
    relative tolerance used by numpy.isclose. If not provided, use numpy defaults (default: None)

--atol
    absolute tolerance used by numpy.isclose. If not provided, use numpy defaults (default: None)

TURBO TURTLE SUBCOMMANDS

CYLINDER

Accept dimensions of a right circular cylinder and generate an axisymmetric revolved geometry. Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle cylinder [-h] --inner-radius INNER_RADIUS --outer-radius
                                 OUTER_RADIUS --height HEIGHT --output-file
                                 OUTPUT_FILE [--model-name MODEL_NAME]
                                 [--part-name PART_NAME]
                                 [--revolution-angle REVOLUTION_ANGLE]
                                 [--y-offset Y_OFFSET]
                                 [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                                 [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                                 [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--inner-radius
    Inner radius of hollow cylinder

--outer-radius
    Outer radius of cylinder

--height
    Height of the right circular cylinder

--output-file
    Name of the output model database file to save

  optional arguments

--model-name
    Model name in which to create the new part(s) (default: 'Model-1')

--part-name
    Part name or Cubit volume name. Cubit implementation converts hyphens to underscores for ACIS compatibility. (default: 'Part-1')

--revolution-angle
    Revolution angle for a 3D part in degrees (default: 360.0)

--y-offset
    Offset along the global Y-axis (default: 0.0)

TURBO TURTLE SUBCOMMANDS

SPHERE

Create a hollow, spherical geometry from a sketch in the X-Y plane with upper (+X+Y), lower (+X-Y), or both quadrants. Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle sphere [-h] --inner-radius INNER_RADIUS --outer-radius
                               OUTER_RADIUS --output-file OUTPUT_FILE
                               [--input-file INPUT_FILE]
                               [--quadrant {both,upper,lower}]
                               [--revolution-angle REVOLUTION_ANGLE]
                               [--y-offset Y_OFFSET] [--model-name MODEL_NAME]
                               [--part-name PART_NAME]
                               [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                               [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                               [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--inner-radius
    Inner radius (hollow size)

--outer-radius
    Outer radius (sphere size)

--output-file
    Model database to create

  optional arguments

--input-file
    Model database to open (default: None)

--quadrant
    Possible choices: both, upper, lower

    XY plane quadrant: both, upper (I), lower (IV) (default: 'both')

--revolution-angle
    Angle of revolution about the +Y axis (default: 360.0)

--y-offset
    Offset along the global Y-axis (default: 0.0)

--model-name
    Model name (default: 'Model-1')

--part-name
    Part name or Cubit volume name. Cubit implementation converts hyphens to underscores for ACIS compatibility. (default: 'Part-1')

TURBO TURTLE SUBCOMMANDS

PARTITION

Partition hollow spheres into a turtle shell given a small number of locating, clocking, and partition plane angle parameters. Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle partition [-h] --input-file INPUT_FILE
                                  [--output-file OUTPUT_FILE]
                                  [--center CENTER CENTER CENTER]
                                  [--xvector XVECTOR XVECTOR XVECTOR]
                                  [--zvector ZVECTOR ZVECTOR ZVECTOR]
                                  [--model-name MODEL_NAME]
                                  [--part-name PART_NAME [PART_NAME ...]]
                                  [--big-number BIG_NUMBER]
                                  [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                                  [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                                  [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--input-file
    Model database to open (default: None)

  optional arguments

--output-file
    Model database to save to. Defaults to the specified --input-file

--center
    Center of the sphere (default: [0.0, 0.0, 0.0])

--xvector
    Local x-axis vector defined in global coordinates (default: [1.0, 0.0, 0.0])

--zvector
    Local z-axis vector defined in global coordinates (default: [0.0, 0.0, 1.0])

--model-name
    Model name (default: 'Model-1')

--part-name
    Part name or Cubit volume name. Cubit implementation converts hyphens to underscores for ACIS compatibility. (default: ['Part-1'])

--big-number
    Number larger than the outer radius of the part to partition (default: 1000000.0)

TURBO TURTLE SUBCOMMANDS

SETS

Create geometric sets from mask strings. Primarly intended for use in scripted workflows with stable geometry creation order and features because masks are fragile with respect to geometric changes. The recommended workflow is to perform manual set creation on a nominal geometry model, record the set masks/IDs reported by the third-party software, and write the CLI options into a scripted workflow file. Abaqus reports CAE operations in the abaqus.rpy replay file, e.g. grep -A 1 'mask=' abaqus.rpy. Cubit IDs can be found in the model tree. Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle sets [-h] --input-file INPUT_FILE
                             [--output-file OUTPUT_FILE] [--model-name MODEL_NAME]
                             [--part-name PART_NAME] [--face-set name mask]
                             [--edge-set name mask] [--vertex-set name mask]
                             [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                             [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                             [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--input-file
    Model database input file

  optional arguments

--output-file
    Model database output file (default: None)

--model-name
    Model name (default: 'Model-1')

--part-name
    Part name unused by Cubit implementation.(default: 'Part-1')

--face-set
    Face (surface) set (name, mask) pairs. Repeat once per set (default: None)

--edge-set
    Edge set (name, mask) pairs. Repeat once per set (default: None)

--vertex-set
    Vertex set (name, mask) pairs. Repeat once per set (default: None)

TURBO TURTLE SUBCOMMANDS

MESH

Mesh a part from a global seed and optional edge seeds. The edge seeds must be positive numbers. If the seed is an integer, the edge will be seeded by number. If it is a float, the edge will be seeded by size. Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle mesh [-h] --input-file INPUT_FILE --element-type
                             ELEMENT_TYPE [--output-file OUTPUT_FILE]
                             [--model-name MODEL_NAME] [--part-name PART_NAME]
                             [--global-seed GLOBAL_SEED] [--edge-seed name number]
                             [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                             [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                             [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--input-file
    Model database input file

--element-type
    Abaqus element type. Applied as a Cubit meshing scheme if it matches 'tetmesh' or 'trimesh'. Otherwise ignored by Cubit implementation.

  optional arguments

--output-file
    Model database output file (default: None)

--model-name
    Model name (default: 'Model-1')

--part-name
    Part name or Cubit volume name. Cubit implementation converts hyphens to underscores for ACIS compatibility. (default: 'Part-1')

--global-seed
    The global mesh seed size. Positive float.

--edge-seed
    Edge seed (name, number) pairs. Repeat once per edge set. (default: None)

TURBO TURTLE SUBCOMMANDS

IMAGE

Save a part or assembly view image for a given Abaqus input file Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle image [-h] --input-file INPUT_FILE --output-file
                              OUTPUT_FILE [--x-angle X_ANGLE] [--y-angle Y_ANGLE]
                              [--z-angle Z_ANGLE]
                              [--image-size IMAGE_SIZE IMAGE_SIZE]
                              [--model-name MODEL_NAME] [--part-name PART_NAME]
                              [--color-map {Material,Section,Composite layup,Composite ply,Part,Part instance,Element set,Averaging region,Element type,Default,Assembly,Part geometry,Load,Boundary condition,Interaction,Constraint,Property,Meshability,Instance type,Set,Surface,Internal set,Internal surface,Display group,Selection group,Skin,Stringer,Cell,Face}]
                              [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                              [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                              [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--input-file
    Abaqus input file. Supports *.inp and *.cae.

--output-file
    Output image from the Abaqus viewport. Supports *.png and *.svg.

  optional arguments

--x-angle
    Viewer rotation about X-axis in degrees (default: 0.0)

--y-angle
    Viewer rotation about Y-axis in degrees (default: 0.0)

--z-angle
    Viewer rotation about Z-axis in degrees (default: 0.0)

--image-size
    Image size in pixels (width, height) (default: [1920, 1080])

--model-name
    Model name. Unused by Cubit implementation. (default: 'Model-1')

--part-name
    Part name. Unused by Cubit implementation. (default: None)

--color-map
    Possible choices: Material, Section, Composite layup, Composite ply, Part, Part instance, Element set, Averaging region, Element type, Default, Assembly, Part geometry, Load, Boundary condition, Interaction, Constraint, Property, Meshability, Instance type, Set, Surface, Internal set, Internal surface, Display group, Selection group, Skin, Stringer, Cell, Face

    Color map. Unused by Cubit implementation. (default: 'Material')

TURBO TURTLE SUBCOMMANDS

MERGE

Supply multiple model database files, model names, and part names to merge the parts into a new model. Every model databse file is searched for every model/part name combination. If a part name is found in more than one model, return an error. Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle merge [-h] --input-file INPUT_FILE [INPUT_FILE ...]
                              --output-file OUTPUT_FILE
                              [--merged-model-name MERGED_MODEL_NAME]
                              [--model-name MODEL_NAME [MODEL_NAME ...]]
                              [--part-name PART_NAME [PART_NAME ...]]
                              [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                              [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                              [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--input-file
    Model database input file(s)

--output-file
    Model database file to save the merged model

  optional arguments

--merged-model-name
    Model to create and merge parts into (default: 'Model-1')

--model-name
    Model name(s) to query in the input model database file(s) (default: [None])

--part-name
    Part name(s) to search for within model(s). Unused by Cubit implementation. (default: [None])

TURBO TURTLE SUBCOMMANDS

EXPORT

Export a part mesh as an orphan mesh Defaults to Abaqus, but can optionally run Cubit (Gmsh implementation is a work-in-progress). Cubit and Gmsh backends replace hyphens with underscores in part name(s) for ACIS compatibility. Cubit backend ignores model/assembly name arguments.

    usage: turbo-turtle export [-h] --input-file INPUT_FILE
                               [--model-name MODEL_NAME]
                               [--part-name PART_NAME [PART_NAME ...]]
                               [--element-type ELEMENT_TYPE [ELEMENT_TYPE ...]]
                               [--destination DESTINATION] [--assembly ASSEMBLY]
                               [--output-type {abaqus,genesis,genesis-normal,genesis-hdf5}]
                               [--abaqus-command ABAQUS_COMMAND [ABAQUS_COMMAND ...]]
                               [--cubit-command CUBIT_COMMAND [CUBIT_COMMAND ...]]
                               [--backend {abaqus,cubit,gmsh}]

  Named Arguments

--abaqus-command
    Abaqus executable options (default: ['abaqus', 'abq2024'])

--cubit-command
    Cubit executable options (default: ['cubit'])

--backend
    Possible choices: abaqus, cubit, gmsh

    Back end software (default: 'abaqus')

  required arguments

--input-file
    Model database input file

  optional arguments

--model-name
    Model name (default: 'Model-1')

--part-name
    Part name(s) or Cubit volume name(s). Cubit implementation converts hyphens to underscores for ACIS compatibility. (default: ['Part-1'])

--element-type
    List of element types, one per part name or one global replacement for every part name (default: [None])

--destination
    Write orphan mesh files to this output directory (default: PWD)

--assembly
    Assembly file for exporting the assembly keyword block. If a file is provided, but no assembly instances are found, instance all provided part names and export assembly block (default: None)

--output-type
    Possible choices: abaqus, genesis, genesis-normal, genesis-hdf5

    Cubit output type. When 'abaqus' is selected, each part name is exported as an orphan mesh to a part_name.inp file. When 'genesis' is selected all blocks are output to a single file input_file.g (default: 'abaqus')

PYTHON PACKAGE API

SCONS EXTENSIONS

turbo_turtle.scons_extensions.cli_builder(program: str = 'turbo-turtle', subcommand: str = '', required: str = '', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a generic Turbo-Turtle CLI builder.

    This builder provides a template action for the Turbo-Turtle CLI. The default behavior will not do anything unless the subcommand argument is updated to one of the Turbo-Turtle CLI Turbo Turtle Subcommands.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    This builder and any builders created from this template will be most useful if the options argument places SCons substitution variables in the action string, e.g. --argument ${argument}, such that the task definitions can modify the options on a per-task basis. Any option set in this manner must be provided by the task definition.

    Builder/Task keyword arguments

•   program: The Turbo-Turtle command line executable absolute or relative path

•   subcommand: A Turbo-Turtle subcommand

•   required: A space delimited string of subcommand required arguments

•   options: A space delimited string of subcommand optional arguments

•   abaqus_command: The Abaqus command line executable absolute or relative path. When provided as a task keyword argument, this must be a space delimited string, not a list.

•   cubit_command: The Cubit command line executable absolute or relative path. When provided as a task keyword argument, this must be a space delimited string, not a list.

•   backend: The backend software, e.g. Abaqus or Cubit.

•   cd_action_prefix: Advanced behavior. Most users should accept the defaults.

•   redirect_action_postfix: Advanced behavior. Most users should accept the defaults.

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend {backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleCLIBuilder": turbo_turtle.scons_extensions.cli_builder(
                program=env["turbo_turtle],
                subcommand="geometry",
                required="--input-file ${SOURCES.abspath} --output-file ${TARGET.abspath}"
            )
        })
        env.TurboTurtleCLIBuilder(
            target=["target.cae"],
            source=["source.csv"],
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

Returns
    SCons Turbo-Turtle CLI builder

turbo_turtle.scons_extensions.cylinder(program: str = 'turbo-turtle', subcommand: str = 'cylinder', required: str = '--output-file ${TARGET.abspath} --inner-radius ${inner_radius} --outer-radius ${outer_radius} --height ${height}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle cylinder subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    Unless the required argument is overridden, the following task keyword arguments are required:

•   inner_radius

•   outer_radius

•   height

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleCylinder": turbo_turtle.scons_extensions.cylinder(
                program=env["turbo_turtle]
            )
        })
        env.TurboTurtleCylinder(
            target=["target.cae"],
            source=["SConstruct"],
            inner_radius=1.,
            outer_radius=2.,
            height=1.
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.export(program: str = 'turbo-turtle', subcommand: str = 'export', required: str = '--input-file ${SOURCE.abspath}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle export subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleExport": turbo_turtle.scons_extensions.export(
                program=env["turbo_turtle]
            )
        })
        env.TurboTurtleExport(
            target=["target.inp"],
            source=["source.cae"],
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.geometry(program: str = 'turbo-turtle', subcommand: str = 'geometry', required: str = '--input-file ${SOURCES.abspath} --output-file ${TARGET.abspath}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle geometry subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleGeometry": turbo_turtle.scons_extensions.geometry(
                program=env["turbo_turtle],
                options="--part-name ${part_name}"
            )
        })
        env.TurboTurtleGeometry(
            target=["target.cae"],
            source=["source1.csv", "source2.csv"],
            part_name="source1 source2"
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.geometry_xyplot(program: str = 'turbo-turtle', subcommand: str = 'geometry-xyplot', required: str = '--input-file ${SOURCES.abspath} --output-file ${TARGET.abspath}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle geometry-xyplot subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleGeometryXYPlot": turbo_turtle.scons_extensions.geometry_xyplot(
                program=env["turbo_turtle],
                options="--part-name ${part_name}"
            )
        })
        env.TurboTurtleGeometryXYPlot(
            target=["target.png"],
            source=["source1.csv", "source2.csv"],
            part_name="source1 source2"
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.image(program: str = 'turbo-turtle', subcommand: str = 'image', required: str = '--input-file ${SOURCE.abspath} --output-file ${TARGET.abspath}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle image subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleImage": turbo_turtle.scons_extensions.image(
                program=env["turbo_turtle]
            )
        })
        env.TurboTurtleImage(
            target=["target.png"],
            source=["source.cae"],
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.merge(program: str = 'turbo-turtle', subcommand: str = 'merge', required: str = '--input-file ${SOURCES.abspath} --output-file ${TARGET.abspath}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle merge subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleMerge": turbo_turtle.scons_extensions.merge(
                program=env["turbo_turtle]
            )
        })
        env.TurboTurtleMerge(
            target=["target.cae"],
            source=["source1.cae", "source2.cae"],
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.mesh(program: str = 'turbo-turtle', subcommand: str = 'mesh', required: str = '--input-file ${SOURCE.abspath} --output-file ${TARGET.abspath} --element-type ${element_type}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle mesh subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    Unless the required argument is overridden, the following task keyword arguments are required:

•   element_type

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleMesh": turbo_turtle.scons_extensions.mesh(
                program=env["turbo_turtle]
            )
        })
        env.TurboTurtleMesh(
            target=["target.cae"],
            source=["source.cae"],
            element_type="C3D8R"
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.partition(program: str = 'turbo-turtle', subcommand: str = 'partition', required: str = '--input-file ${SOURCE.abspath} --output-file ${TARGET.abspath}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle partition subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtlePartition": turbo_turtle.scons_extensions.partition(
                program=env["turbo_turtle]
            )
        })
        env.TurboTurtlePartition(
            target=["target.cae"],
            source=["source.cae"],
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.sets(program: str = 'turbo-turtle', subcommand: str = 'sets', required: str = '--input-file ${SOURCE.abspath} --output-file ${TARGET.abspath}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle sets subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    One of the following options must be added to the options string or the subcommand will return an error:

•   --face-set

•   --edge-set

•   --vertex-set

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleSets": turbo_turtle.scons_extensions.sets(
                program=env["turbo_turtle],
                options="${face_sets} ${edge_sets} ${vertex_sets}",
            )
        })
        env.TurboTurtleSets(
            target=["target.cae"],
            source=["source.cae"],
            face_sets="--face-set top '[#1 ]' --face-set bottom '[#2 ]'",
            edge_sets="",
            vertex_sets="--vertex-set origin '[#1 ]'"
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

turbo_turtle.scons_extensions.sphere(program: str = 'turbo-turtle', subcommand: str = 'sphere', required: str = '--output-file ${TARGET.abspath} --inner-radius ${inner_radius} --outer-radius ${outer_radius}', options: str = '', abaqus_command: List[str] = ['abaqus', 'abq2024'], cubit_command: List[str] = ['cubit'], backend: str = 'abaqus') -> Builder
    Return a Turbo-Turtle sphere subcommand CLI builder

    See the Turbo Turtle Subcommands CLI documentation for detailed subcommand usage and options. Builds subcommand specific options for the turbo_turtle.scons_extensions.cli_builder() function.

    At least one target must be specified. The first target determines the working directory for the builder's action. The action changes the working directory to the first target's parent directory prior to execution.

    The emitter will assume all emitted targets build in the current build directory. If the target(s) must be built in a build subdirectory, e.g. in a parameterized target build, then the first target must be provided with the build subdirectory, e.g. parameter_set1/my_target.ext. When in doubt, provide a STDOUT redirect file as a target, e.g. target.stdout.

    Unless the required argument is overridden, the following task keyword arguments are required:

•   inner_radius

•   outer_radius

    action string construction

        ${cd_action_prefix} ${program} ${subcommand} ${required} ${options} --abaqus-command ${abaqus_command} --cubit-command ${cubit_command} --backend ${backend} ${redirect_action_postfix}

    SConstruct

        import waves
        import turbo_turtle
        env = Environment()
        env["turbo_turtle"] = waves.scons_extensions.add_program(env, ["turbo-turtle"])
        env.Append(BUILDERS={
            "TurboTurtleSphere": turbo_turtle.scons_extensions.sphere(
                program=env["turbo_turtle]
            )
        })
        env.TurboTurtleSphere(
            target=["target.cae"],
            source=["SConstruct"],
            inner_radius=1.,
            outer_radius=2.
        )

Parameters

•   program (str) -- The Turbo-Turtle command line executable absolute or relative path

•   subcommand (str) -- A Turbo-Turtle subcommand

•   required (str) -- A space delimited string of subcommand required arguments

•   options (str) -- A space delimited string of subcommand optional arguments

•   abaqus_command (list) -- The Abaqus command line executable absolute or relative path options

•   cubit_command (list) -- The Cubit command line executable absolute or relative path options

•   backend (str) -- The backend software

PYTHON PACKAGE API

GEOMETRY XY PLOT

turbo_turtle.geometry_xyplot.geometry_xyplot(coordinates_list: list, unit_conversion: float = 1.0, euclidean_distance: float = 4.0, y_offset: float = 0.0, rtol: float | None = None, atol: float | None = None, no_markers: bool = False, annotate: bool = False, scale: bool = False) -> <Mock name='mock.pyplot.Figure' id='139672141131520'>
    Return a matplotlib figure with the coordinates plotted consistently with geometry and geometry-xyplot subcommands

Parameters

•   coordinates_list -- List of 2D numpy arrays of (X, Y) coordinates

•   unit_conversion -- multiplication factor applies to all coordinates

•   euclidean_distance -- if the distance between two coordinates is greater than this, draw a straight line. Distance should be provided in units after the unit conversion

•   y_offset -- vertical offset along the global Y-axis. Offset should be provided in units after the unit conversion.

•   rtol -- relative tolerance for vertical/horizontal line checks

•   atol -- absolute tolerance for vertical/horizontal line checks

•   no_markers -- Exclude vertex markers and only plot lines.

•   annotate -- Annotate the vertex coordinates with their index from the source CSV file.

•   scale -- Change the plot aspect ratio to use the same scale for the X and Y axes.

Returns
    matplotlib figure

AUTHOR
Kyle Brindley <kbrindley@lanl.gov>, Thomas Roberts <tproberts@lanl.gov>

COPYRIGHT
2025 Triad National Security, LLC. All Rights Reserved.