user: Show practical ways to work with Options in a Blender add-on or script – include code.

assistant: [image reference removed]

The Line Art modifier.

Use Cache
:   Optimize rendering by using cached scene data from the first Line Art modifier in the stack.
    This option has the disadvantage of certain settings becoming unavailable.

    This option is only available when you have more than one Line Art modifier
    in the same modifier stack and the modifier is not the first Line Art modifier in the stack.

Source Type
:   Specifies the source from which Line Art generates strokes:

    Scene:
    :   Uses all visible objects in the scene.

    Collection:
    :   Uses only the objects within the chosen collection.

    Object:
    :   Generates strokes from a single specified object.
        The following object types are supported:

        - [Mesh](../../../modeling/meshes/index.xhtml)
        - [Text](../../../modeling/texts/index.xhtml)
        - [Curve](../../../modeling/curves/index.xhtml)
        - [Surface](../../../modeling/surfaces/index.xhtml)
        - [Curves](../../../modeling/curves_new/index.xhtml)

Object/Collection
:   Based on the source type, collection or object can be selected as source geometry.

    Invert Collection Filtering
    :   Select everything except lines from specified collection.

Layer
:   The Grease Pencil [Layers](../../properties/layers.xhtml#bpy-types-greasepencillayer) to put the result in.

Material
:   The Grease Pencil [Grease Pencil Materials](../../materials/index.xhtml#bpy-types-materialgpencilstyle) to generate strokes with.

Line Radius
:   The strokes generated by Line Art are given this radius.

Opacity
:   The strokes generated by Line Art are given this Opacity.

### Edge Types

Line Art can identify different edge types. Selected edge types will be included in the result.

Illumination Filtering
:   Select feature lines that comes from lit or shaded regions.
    Will not affect cast shadow and light contour since they are at the border.

    None:
    :   Not filtering any lines based on illumination region.

    Illuminated:
    :   Only selecting lines from illuminated regions.

    Shaded:
    :   Only selecting lines from shaded regions.

    Illuminated (Enclosed Shapes):
    :   Selecting lines from lit regions, and make the combination of contour,
        light contour and shadow lines into enclosed shapes.

Create

Contour
:   Generate strokes from contour lines.
    Where the edge becomes the separation line of front/backfacing faces.
    The silhouette can also be inverted by clicking the invert button.

    Contour:
    :   Generate lines from contour.

    Silhouette:
    :   Only generate lines from the silhouette of the source objects as a whole.

    Individual Silhouette:
    :   Generate lines from the individual silhouettes of the source objects.

Crease
:   Generate strokes where the edge angle is small enough.

    Crease Threshold
    :   Angles smaller than this will be treated as creases.
        Crease angle priority: object Line Art crease override > Line Art default crease.

Intersections
:   Generate strokes where lines intersect between faces.

Material Borders
:   Generate strokes where the edge separates faces with different materials.

Edge Marks
:   Generate strokes from freestyle edge marks.

Loose
:   Generate strokes for edges that do not form a [Face](../../../glossary/index.xhtml#term-Face).

Light Contour
:   Generate light/shadow separation lines from a reference
    [Light Object](#bpy-types-greasepencillineartmodifier-light-contour-object).

Cast Shadow
:   Project contour lines using a light source object.

Options

Allow Overlapping Types
:   Allow an edge to have multiple overlapping types.
    This will create a separate stroke for each overlapping type.

### Light Reference

Light Object
:   Use this light object to generate [Light Contour](#bpy-types-greasepencillineartmodifier-use-light-contour).

Shadow Camera Size
:   This value represents the “Orthographic Scale” of an ortho camera.
    If the camera is put at the lamps position with this scale, it will represent the coverage of the shadow “camera”.

Near
:   Near clipping distance of shadow camera.

Far
:   Far clipping distance of shadow camera

### Geometry Processing

Custom Camera
:   Use custom camera instead of the active camera for calculating strokes.
    Useful when baking multiple shots in different angles as well as for motion graphics effects.

Overlapping Edges as Contour
:   This option allows overlapping edges (e.g. from an Edge Split modifier or imported geometry where
    two edges occupy the exact same space) to be drawn as contour. Enabling this option will slow down
    the calculation slightly but it will handle edge overlapping cases without erroneous occlusion results.

Instanced Objects
:   This option enables particles and other instanced objects to be loaded for Line Art calculation.
    There will be performance impact when there are a large amount of instanced objects in the scene.

Clipping Boundaries
:   When enabled, Line Art will generate clipping lines as contour type at the place
    where near or far clipping planes cut the model. Otherwise there will be no lines.

Crease on Smooth
:   Allow crease edges to show inside smooth surfaces.

Crease on Sharp
:   Allow creases to show on sharp edges.

Force Backface Culling
:   Remove all back faces to speed up calculation.
    Note, removing back faces will create edges in different occlusion levels than when disabled.

### Occlusion

[image reference removed]

Occlusion subpanel.

Range
:   If enabled, the modifier will select lines that have an occlusion level between start and end values.

Level
:   Desired occlusion level to be selected as Line Art result. A value of 0 means visible lines (no occlusion).
    A value of 1 means selecting lines that have been occluded by exactly one layer of faces.

#### Material Mask

If enabled, Line Art will only select lines that are occluded by certain faces whose material
have specific occlusion masks set.

Masks
:   To select edges that have been occluded by the selected
    [Material Mask](../../../render/materials/line_art.xhtml#bpy-types-materiallineart-use-material-mask-bits).

Exact Match
:   If enabled, only lines that are occluded with the exact mask bit combination will be selected.
    Otherwise, lines that have been occluded by any one of specified material masks will be selected.

[image reference removed]

Demonstration of the usage of material masks.

### Intersection

Allows you to select edges that intersect between two collections.

Collection Mask
:   Mask bits to match from [Collection Line Art](../../../scene_layout/collections/collections.xhtml#bpy-types-collection-lineart-intersection-mask) properties.

Exact Match
:   Require matching all intersection masks instead of just one.

[image reference removed]

Demonstration of the usage of collection masks.

### Face Mark Filtering

[image reference removed]

Face Mark Filtering subpanel.

*Face Mark Filtering* can be used to have manual control over which
feature edges produce strokes by using Freestyle face marks.

Invert
:   Invert face mark filtering.

Boundaries
:   Filter feature lines based on face mark boundaries.

Keep Contour
:   Preserve contour lines while filtering.

[image reference removed]

### Chaining

[image reference removed]

Chaining subpanel.

Chain
:   Intersection with Contour
    :   Allows intersection lines to be chained together with contour lines.

    All Lines
    :   Enabling this option will cause all lines to have the type of contour and to be chained together.

    Loose Edges
    :   Allow floating Edges that do not form a face to be chained together.

    Loose Edges as Contour
    :   Edges that do not form a face will be classified as contour lines.

    Preserve Details
    :   Instead of splitting at each occlusion change, keep small details from the initial chain.
        When details are not kept, will create a much smoother result.

    Geometry Space
    :   Use geometry distance for chaining instead of image space.

Image Threshold
:   Allow the end point of short segments to be chained together if the 2D image space distance
    between them are within the specified threshold.

Smooth Tolerance
:   The strength of smoothing applied on jagged chains.

Angle Splitting
:   Split a chain at sharp “turning” points specified by this angle.

### Vertex Weight Transfer

[image reference removed]

Vertex Weight Transfer subpanel.

Filter Source
:   If source mesh has vertex groups whose name starts with this text, then the vertex weight info
    will be transferred into weight groups in Grease Pencil strokes.

Match Output
:   Transfer the filtered object vertex weights into Grease Pencil weight groups with the same names
    as the filtered ones.

Target
:   If *Match Output* is off, then a target vertex group has to be specified.
    If there are multiple weight groups copied into target, then the highest weight value is copied into it.

### Composition

[image reference removed]

Composition subpanel.

Overscan
:   To optimize rendering, Blender only renders the strokes for edges of the object that are in the camera’s view.
    This optimization however, can result in strokes ending abruptly at the edge of the image.

    This value prevents this error by adding a margin outside the camera’s view to continue computing strokes.

Image Boundary Trimming
:   Trim all stroke right at the boundary of image (including overscan region).

Depth Offset
:   Move strokes slightly towards the camera to avoid clipping while preserve depth for the viewport.
    This option is unavailable unless [Show in Front](../../../scene_layout/object/properties/display.xhtml#bpy-types-object-show-in-front) is disabled.

Towards Custom Camera
:   Offset strokes towards selected camera (see *Custom Camera* above) instead of the active camera.

### Bake

[image reference removed]

Bake options.

Bake Line Art
:   Bakes Line Art strokes for active Grease Pencil object within the *start*, *end* frame range in scene.
    After baking, baked Line Art modifiers will be deactivated automatically.

Bake All
:   Bakes all Grease Pencil objects that contains at least one Line Art modifier.
    After baking, baked Line Art modifiers will be deactivated automatically.

Clear Baked Line Art
:   Clears baked Line Art frames within the scene frame range for active Grease Pencil object.

Clear All
:   Clears baked Line Art for all Grease Pencil objects that
    contains at least one Line Art modifier.

Continue without Clearing
:   Re-activate a specific Line Art modifier without clearing baked strokes. This is useful for working
    on multiple portions of frames separately.