# In-house Extensions

# Modify Path

# To Absolute

This extension simply transform paths from relative coordinates to absolute coordinate. The path's "d" attribute will be reconfigured to get uppercase command letters like A C M Z V H L instead of a c m z v h l.

# Perspective

## Example with text

### Write some text and convert Object to Path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/Rw2Hs8MphBtmym0u-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/Rw2Hs8MphBtmym0u-grafik.png)

### Ungroup

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/kQdM9eDeWOe0840Q-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/kQdM9eDeWOe0840Q-grafik.png)

## Combine to one Path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/knEFyMeANDiWywW7-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/knEFyMeANDiWywW7-grafik.png)

### Draw a border path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/UE9DbSL9AZReRpZF-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/UE9DbSL9AZReRpZF-grafik.png)

### "Modify Path → Perspective"

Select the text first, then the border. Selection order is important.

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/mNMxVFvFlHVjiYCS-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/mNMxVFvFlHVjiYCS-grafik.png)

<p class="callout info">This effect can also be done with Live Path Effect or with other extensions - see [Transformations](https://wiki.stadtfabrikanten.org/books/fablab-chemnitz/chapter/transformations "Transformations")  
</p>

# Convert to Dashes

This extension can be used to create bridges / tabs for a laser cutter job. We can define a custom line style (dashed) and convert it using this extension.

<p class="callout info">See also [Lasercut bridges without using extensions](https://old.stadtfabrikanten.org/display/IFM/Lasercut+bridges+without+using+extensions) and [Create Links (Breakaway Connectors)](https://wiki.stadtfabrikanten.org/books/fablab-chemnitz/page/create-links-breakaway-connectors).</p>

# Example 1

### Draw some path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/uvkY0SzT8ybLWEfq-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/uvkY0SzT8ybLWEfq-grafik.png)

### Change stroke style to dashes

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/PtRksgrAJFESNuKN-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/PtRksgrAJFESNuKN-grafik.png) [![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/fC00Z7DkTM7eTWEB-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/fC00Z7DkTM7eTWEB-grafik.png)

### Run extension

Each "virtual" dash will be split into a real segmented line

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/VSgSxOoLBUtYnuWP-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/VSgSxOoLBUtYnuWP-grafik.png)

## Example 2

Set the document units to mm

### Draw some curve and measure it's length in mm

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/i1qE53ujJzzO0nsO-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/i1qE53ujJzzO0nsO-grafik.png)

### Set custom line style ("Dashes" → "Custom")

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/WYfOMQsD3UqU5eOu-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/WYfOMQsD3UqU5eOu-grafik.png)

### Create a gap

Edit XML style to create a 2 mm gap. In the example line length is 168.71 mm. If we want a single 2 mm gap we set stroke dash array to 168.71mm - 2mm = 166.71mm

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/OdrtkbmLJ8jZtFzz-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/OdrtkbmLJ8jZtFzz-grafik.png)

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/Eu7Yty0PP5b4O4B0-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/Eu7Yty0PP5b4O4B0-grafik.png)

If we want three gaps in a path with length of 168.71 mm and a gap length of 2 mm we set the stroke-dasharray to: 80.355 2.0 → because 3 \* 80.355 mm + 2 \* 2.0 mm = 168.71 mm

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/BRPwBg7XO304cA3G-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/BRPwBg7XO304cA3G-grafik.png)

If we want three gaps in a path with length of 168.71 mm and a gap length of 2 mm we set the stroke-dasharray to: 50.236 2.0 → because 3 \* 50.236 mm + 3 \* 2.0 mm = 168.71 mm

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/AUE6v1gaCIJ0xG20-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/AUE6v1gaCIJ0xG20-grafik.png)

# Run the "Convert to Dashes" extension

# Add Nodes

This behaves similar like [Split Bezier (Subdivide Path)](https://wiki.stadtfabrikanten.org/books/fablab-chemnitz/page/split-bezier-subdivide-path)

## Draw some path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/doZhDD6aWkx3c9d4-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/doZhDD6aWkx3c9d4-grafik.png)

## Run "Modify Path" → "Add Nodes"

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/QViUqaHY5r6v0fyn-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/QViUqaHY5r6v0fyn-grafik.png)

# Approximate Curves by Straight Lines (Flatten Beziers)

Hint: The new name of this extension is "Approximate Curves by Straight Lines". The old one was "Flatten Beziers"

This plugin does not apply for paths in groups. Please ungroup before. You can use Extensions → Arrange → Deep Ungroup) or [Ungrouper And Element Migrator/Filter](https://wiki.stadtfabrikanten.org/books/fablab-chemnitz/page/ungrouper-and-element-migratorfilter). This extension is similar to [Convert To Polylines](https://wiki.stadtfabrikanten.org/books/inventar-und-handbucher/page/migration-from-h2-to-postgresql) but has more control over the contours.

## Draw some path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/zLTpp613zIWJyJQH-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/zLTpp613zIWJyJQH-grafik.png)

## Run the extension

![(Info)](https://old.stadtfabrikanten.org/s/-6fzg5h/9012/tu5x00/_/images/icons/emoticons/information.svg) The higher the flatness value the less grade of detail the new polyline will have.

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/QJYdf8h1CWrWnePw-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/QJYdf8h1CWrWnePw-grafik.png)

## Get the result

Depending on the flatness we can get really smooth or really rough edges! Smooth paths have a lot more handles (points)!

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/BWcpp5g9QRikxIje-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/BWcpp5g9QRikxIje-grafik.png)

<p class="callout info">Similar behaviour to flatten a curve can be forced by switching from to line type to curve type, but with less control for smoothness / segmentation.</p>

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/scaled-1680-/9bGGf2eR7RVs1gsb-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2025-05/9bGGf2eR7RVs1gsb-grafik.png)

# Generate from Path

# Voronoi Pattern (Triangulation / Low Poly / Delaunay)

<details id="bkmrk-way-1-to-create-a-co"><summary>Way 1 to create a cool laserable Voronoi pattern</summary>

## Way 1 to create a cool laserable Voronoi pattern

Draw some path (convert your rectangles/objects to path. We need it later for destructive clip)

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/PFRtnUThfx9qKUXT-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/PFRtnUThfx9qKUXT-grafik.png)

Create Voronoi

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/TrPdW8xbLFA0y6eN-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/TrPdW8xbLFA0y6eN-grafik.png) [![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/Rbb4ZDhdRIWJF64z-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/Rbb4ZDhdRIWJF64z-grafik.png)

Detach the pattern

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/5z51PUIZCfsPy3A1-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/5z51PUIZCfsPy3A1-grafik.png) [![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/RnwXOM5RB6o5Wb5r-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/RnwXOM5RB6o5Wb5r-grafik.png)

Adjust some sizes and adjust stroke width (e.g. 5 mm), remove fill

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/RQKGQSqVKMAuQvKH-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/RQKGQSqVKMAuQvKH-grafik.png)

Convert contour to path → this keeps the original path in background and creates a new. Belonging to the selection we get different results using [Destructive Clip](https://old.stadtfabrikanten.org/pages/createpage.action?spaceKey=IFM&title=Destructive+Clip&linkCreation=true&fromPageId=55018095)


<table style="width: 99.9729%; height: 768.366px;"><colgroup><col style="width: 16.2087%;"></col><col style="width: 83.7913%;"></col></colgroup><thead><tr style="height: 38.1167px;"><td class="align-right" style="height: 38.1167px;">  
</td><td style="height: 38.1167px;">**Original path + destructive clipping / Outline path + destructive clipping / Outline and original path + destructive clipping**</td></tr></thead><tbody><tr style="height: 271.083px;"><td class="align-right" style="height: 271.083px;">**Before**</td><td style="height: 271.083px;">[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/R1UvceAwugqBY752-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/R1UvceAwugqBY752-grafik.png)

</td></tr><tr style="height: 233.083px;"><td class="align-right" style="height: 233.083px;">**After**</td><td style="height: 233.083px;">[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/4vhcXAbCQ7DzW3iC-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/4vhcXAbCQ7DzW3iC-grafik.png)

</td></tr><tr style="height: 226.083px;"><td class="align-right" style="height: 226.083px;">**After adjusting fill to zero and stroke width to 1px**</td><td style="height: 226.083px;">[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/47HsXRZUraeo2kSx-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/47HsXRZUraeo2kSx-grafik.png)

</td></tr></tbody></table>

</details><details id="bkmrk-way-2-to-create-a-co-1"><summary>Way 2 to create a cool laserable Voronoi pattern</summary>

## Way 2 to create a cool laserable Voronoi pattern

Draw some path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/2RheTHyc5nbdVUNo-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/2RheTHyc5nbdVUNo-grafik.png)

Apply Pattern

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/s9Wz2mXt5Zix7qp6-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/s9Wz2mXt5Zix7qp6-grafik.png)

See the generated fill pattern

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/xh6jZ6Ob1t2PzcG1-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/xh6jZ6Ob1t2PzcG1-grafik.png)

Covert pattern to object

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/yf6G2cjVQBjnWt4d-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/yf6G2cjVQBjnWt4d-grafik.png) [![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/PxFRc8FkHQuHck0q-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/PxFRc8FkHQuHck0q-grafik.png)

Path → Division: Select the boundary path and the pattern

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/Cr554guHznu31GdC-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/Cr554guHznu31GdC-grafik.png)

Combine to have one path

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/IhSI4hc6kUTbZ2YC-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/IhSI4hc6kUTbZ2YC-grafik.png)

</details><p class="callout info">See also [https://www.instructables.com/id/Delaunay-Mosaics](https://www.instructables.com/id/Delaunay-Mosaics/)</p>

# Export

# Guillotine (Papierschneidemaschine / Segmentieren)

## Hilfslinien einfügen

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/YwGrzJMqEo4WhrQ6-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/YwGrzJMqEo4WhrQ6-grafik.png)

## Linien nach Belieben verschieben

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/flh2sM2MrjTZoeYG-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/flh2sM2MrjTZoeYG-grafik.png)

## Exportieren

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/52fib2IqLyLMFmUX-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/52fib2IqLyLMFmUX-grafik.png)

[![grafik.png](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/scaled-1680-/0nmQ9pkqL9XS8tmU-grafik.png)](https://wiki.stadtfabrikanten.org/uploads/images/gallery/2026-04/0nmQ9pkqL9XS8tmU-grafik.png)