Design Patent vs Utility Model Line Art Generation: Key Differences Explained

Design patent line art emphasizes ornamental appearance without part numbers, while utility model line art embeds component labels and call-outs for functional disclosure.

The handsomestWei/patent-disclosure-skill repository implements two distinct pipelines for generating patent line art. Each pipeline is optimized for the legal and technical requirements of its respective patent type. Understanding these differences ensures proper figure preparation for design patents versus utility model applications.

Pipeline Entry Points and Activation Logic

The system routes cases to the appropriate pipeline based on configuration flags and patent_type fields.

Design Patent Pipeline

In tools/shared/design_lineart_gate.py, the pipeline activates when design_lineart_brief.enabled is true. This gate validates the presence of a design_lineart_brief.yaml file before proceeding.


# From tools/shared/design_lineart_gate.py

# Activated by: design_lineart_brief.enabled == True

# Required file: design_lineart_brief.yaml

Utility Model Pipeline

In tools/shared/structure_lineart_gate.py, the pipeline runs when the brief's patent_type equals "utility_model". This stricter type check ensures functional drawings are only generated for appropriate cases.


# From tools/shared/structure_lineart_gate.py

# Activated by: patent_type == "utility_model"

# Required file: structure_lineart_brief.yaml

Brief Schema and Configuration Structure

Each pipeline uses a dedicated YAML schema that reflects the distinct requirements of ornamental versus functional illustration.

Schema File Purpose
references/schemas/design_lineart_brief.schema.yaml Defines design_lineart_brief.enabled flag for decorative designs
references/schemas/structure_lineart_brief.schema.yaml Mandates patent_type: utility_model and supports component labeling fields

The utility model schema explicitly includes fields for:

  • Component sequence numbers
  • Call-out line specifications
  • "Use-in-disclosure" flags

These fields are absent from the design patent schema, which focuses solely on aesthetic rendering parameters.

Prompt Templates and Generation Focus

Design Patent Prompts

The prompts/shared/design_lineart_assist.md template directs the image generator toward ornamental aspects: shape contours, surface patterns, and visual appeal. The resulting drawings prioritize clean, aesthetically pleasing lines.

Utility Model Prompts

The prompts/shared/structure_lineart_assist.md template (invoked via the shared image-generation planner) emphasizes functional clarity: mechanical relationships, assembly views, and precise part delineation.

Output Characteristics: What Each Pipeline Produces

Feature Design Patent Line Art Utility Model Line Art
Part numbers Excluded Required — component sequence numbers embedded
Call-out lines Absent Present — leader lines connecting labels to parts
Visual emphasis Ornamental appearance Functional structure and assembly
Disclosure flags Not applicable Optional "use-in-disclosure" markers

The design patent pipeline produces figures suitable for ornamental novelty claims. The utility model pipeline generates figures that satisfy functional disclosure requirements with explicit component identification.

Validation and Error Handling

Both gates enforce strict preconditions, but with different logic:

  • Design patent gate: Errors if design_lineart_brief.yaml is missing when enabled
  • Utility model gate: Errors if patent_type ≠ "utility_model" or if brief file is absent

These validations are exercised in tests/shared/test_design_lineart_gate.py and tests/shared/test_structure_lineart_gate.py respectively.

Command-Line Invocation

Execute either pipeline directly from the tools/shared/ directory:


# Design patent line art generation

python tools/shared/design_lineart_gate.py --case-dir outputs/case

# Utility model line art generation

python tools/shared/structure_lineart_gate.py --case-dir outputs/case

Both commands assemble an image-generation job list and delegate to tools/shared/image_gen.py for final rendering.

Summary

  • Design patent line art uses design_lineart_gate.py, requires design_lineart_brief.enabled, and produces ornamental drawings without part labels
  • Utility model line art uses structure_lineart_gate.py, requires patent_type: "utility_model", and generates functional drawings with component numbers and call-outs
  • Each pipeline has dedicated schemas, prompts, and test suites in references/schemas/ and tests/shared/ respectively

Frequently Asked Questions

How does the system determine which line art pipeline to run?

The system checks case configuration in sequence: first for design_lineart_brief.enabled ( triggering design_lineart_gate.py), then for patent_type == "utility_model" (triggering structure_lineart_gate.py). These checks are mutually exclusive in practice based on the patent type being processed.

Can I use design patent line art for a utility model application?

No. According to the source code in structure_lineart_gate.py, utility model disclosures require component sequence numbers and call-outs that the design patent pipeline explicitly excludes. Using ornamental line art would fail disclosure requirements for functional claims.

What happens if the brief file is missing?

Both gates error out. design_lineart_gate.py validates design_lineart_brief.yaml presence when enabled, while structure_lineart_gate.py requires structure_lineart_brief.yaml for all utility model cases. These validations are verified in their respective test files.

Where are the prompt templates defined?

Design patent prompts live in prompts/shared/design_lineart_assist.md. Utility model prompts use prompts/shared/structure_lineart_assist.md, which the shared image-generation planner references when constructing functional drawing requests.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →