@freesewing/plugin-export-dxf

2.22.2 • Public • Published

FreeSewing

@freesewing/plugin-export-dxf on NPM License: MIT Code quality on DeepScan Open issues tagged pkg:plugin-export-dxf All Contributors

Follow @freesewing_org on Twitter Chat with us on Discord Become a FreeSewing Patron Follow @freesewing_org on Twitter

@freesewing/plugin-export-dxf

A FreeSewing plugin to export your pattern as DXF-ASTM

🚨🚨 This packages is deprecated 🚨🚨

This package will not be part of FreeSewing v3.

About

This plugin adds the ability to export patterns to DXF-ASTM.

DXF (Drawing interchange format) is a file format developed by Autodesk (of AutoCAD® fame).
The DXF-ASTM variety is a subset of the format, specifically targetted at the garment industry.

ASTM is the American Society for Testing and Materials — a standards body — that published the format. DXF-ASTM is the successor of DXF-AAMA which was developed by the American Apparel Manufacturers Association which reveals the origins of the file format.

Usage

Instantiate your pattern, and use the plugin. It will add the exportDxf() method to the pattern object. This method will return the DXF-ASTM output.

import models from '@freesewing/models'
import Aaron from '@freesewing/aaron'
import exportDxfPlugin from '@freesewing/plugin-export-dxf'

const settings = {
  // Make sure to set complete to false
  complete: false,
  measurements: models.withoutBreasts.size42
}

let dxf = new Aaron(settings).use(exportDxfPlugin).draft().exportDxf()

Configuration

This plugin takes a configuration object as a second parameter to the pattern.use() method.

Precision

The precision property determines the length of the line segments used to approximate curves. The generated DXF-ASTM output will only contain straight lines, so curves will be approximated wiht lines segments.

The precision sets the length of those segments in mm. In the example below, the precision is set to 25 resulting in the use of line segments 25mm (1 inch) to approximate the curve.

let config = {
  precision: 25
}

let dxf = new Aaron(settings).use(exportDxfPlugin, config)

The default precision is 1, giving you 1mm long line segments to approximate curves.

Reasons to use this plugin

This plugin can export your pattern to DXF-ASTM so you can import it to your 3D software of choice.

Reasons to not use this plugin

Because DXF is inferior to SVG in every way

DXF (and DXF-AAMA and DXF-ASTM with it) are rooted in the world of industrial manufacturing. And it shows.

Nowadays, it's easy to think of the DXF file format as a bit of an embarassment.
But it is deliberatly kept dumb so that old industrial CNC milling machines, plotters, laster cutters and whatnot, can handle the format.

Because this plugin does not implement all of DXF

This plugin does the minimum to allow export of FreeSewing patterns into 3D garment tools. It expexts the input pattern to only include the outlines.

That means, no seam allowance, or titles, no notches, and so on.

Note: this is the last v2 minor release

We'll be moving to a new major version (v3) so this is the last minor release. We'll continue to support this while we work on v3, and backport important fixes.

Once v3 is out, we'll drop official support for v2.

What am I looking at? 🤔

This repository is our monorepo holding all our NPM designs, plugins, other NPM packages, and (web)sites.

This folder holds: @freesewing/plugin-export-dxf

If you're not entirely sure what to do or how to start, type this command:

npm run tips

If you don't want to set up a dev environment, you can run it in your browser:

Open in Gitpod

We recommend that you fork our repository and then put gitpod.io/#<entire-url-of-your-fork into a browser to start up a browser-based dev environment of your own.

About FreeSewing 💀

Where the world of makers and developers collide, that's where you'll find FreeSewing.

If you're a maker, checkout freesewing.org where you can generate our sewing patterns adapted to your measurements.

If you're a developer, our documentation is on freesewing.dev. Our core library is a batteries-included toolbox for parametric design of sewing patterns. But we also provide a range of plugins that further extend the functionality of the platform.

If you have NodeJS installed, you can try it right now by running:

npx create-freesewing-pattern

Or, consult our getting started guides for Linux, MacOS, or Windows.

We also have a pattern design tutorial that walks you through your first parametric design, and a friendly community with people who can help you when you get stuck.

Support FreeSewing: Become a patron 🥰

FreeSewing is an open source project run by a community, and financially supported by our patrons.

If you feel what we do is worthwhile, and you can spend a few coind without hardship, then you should join us and become a patron.

Links 👩‍💻

License: MIT 🤓

© Joost De Cock.
See the license file for details.

Where to get help 🤯

Our chatrooms on Discord are the best place to ask questions, share your feedback, or just hang out.

If you want to report a problem, please create an issue.

Contributors

Thanks goes to these wonderful people (emoji key):

Adam Tomkins
Adam Tomkins

📖
Alexandre Ignjatovic
Alexandre Ignjatovic

💻
AlfaLyr
AlfaLyr

💻 🔌 🎨
Andrew James
Andrew James

📖
Anneke
Anneke

📖 🌍
Annie Kao
Annie Kao

📖
Anternative
Anternative

📖
Anthony
Anthony

💬
Ari Grayzel-student
Ari Grayzel-student

💻
BenJamesBen
BenJamesBen

💻 📖
Cameron Dubas
Cameron Dubas

📖
Carsten Biebricher
Carsten Biebricher

📖
Cathy Zoller
Cathy Zoller

📖
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

💻
Darigov Research
Darigov Research

📖 🤔
Elena FdR
Elena FdR

📖 📝
Emmanuel Nyachoke
Emmanuel Nyachoke

💻 📖
Enoch Riese
Enoch Riese

💻
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

📖
Frédéric
Frédéric

🌍
Glenn Matthews
Glenn Matthews

📖
Greg Sadetsky
Greg Sadetsky

📖
Igor Couto
Igor Couto

🐛
Ikko Ashimine
Ikko Ashimine

📖
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

📖
Jason Williams
Jason Williams

📖
Jeremy Jackson
Jeremy Jackson

💻
Joe Schofield
Joe Schofield

📖
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

📖
Kake
Kake

📖
Kapunahele Wong
Kapunahele Wong

📖
Karen
Karen

📖 📋
Katie McGinley
Katie McGinley

📖
Kieran Klaassen
Kieran Klaassen

💻
Kittycatou
Kittycatou

🌍
Kris
Kris

📖
Kristin Ruben
Kristin Ruben

💻
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

📋
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

📖
Nadege Michel
Nadege Michel

⚠️ 📖
Natalia
Natalia

💻 🎨 📝
Nathan Yergler
Nathan Yergler

📖
Nick Dower
Nick Dower

📖 💻 🐛
Nikhil Chelliah
Nikhil Chelliah

📖
OysteinHoiby
OysteinHoiby

💻
Patrick Forringer
Patrick Forringer

🔌
Paul
Paul

📖 📝 🌍
Phillip Thelen
Phillip Thelen

💻
Pixieish
Pixieish

📖
Prof. dr. Sorcha Ní Dhubhghaill
Prof. dr. Sorcha Ní Dhubhghaill

📖
Quentin FELIX
Quentin FELIX

💻 🎨
Rik Hekker
Rik Hekker

🐛
Sam Livingston-Gray
Sam Livingston-Gray

📖
Sanne
Sanne

💻 📖
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

📖 💻
SimonbJohnson
SimonbJohnson

🐛
Slylele
Slylele

📖 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 📖 💻
Tríona
Tríona

📖
Unmutual
Unmutual

📖
Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧
amysews
amysews

📖
anna-puk
anna-puk

💻
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

📖
biou
biou

💻
bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨
brmlyklr
brmlyklr

📖
chri5b
chri5b

💻 ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

💬
econo202
econo202

📖
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

💻
gaylyndie
gaylyndie

📖
grimlokason
grimlokason

💻
hellgy
hellgy

🎨
jackseye
jackseye

📖
marckiesel
marckiesel

🌍
mesil
mesil

🐛
starfetch
starfetch

💻 📖 🌍 🎨
ttimearl
ttimearl

🖋
tuesgloomsday
tuesgloomsday

📖
valadaptive
valadaptive

💻
viocky
viocky

🌍
woolishboy
woolishboy

💻
yc
yc

🌍

This project follows the all-contributors specification. Contributions of any kind welcome!

Package Sidebar

Install

npm i @freesewing/plugin-export-dxf

Weekly Downloads

2

Version

2.22.2

License

MIT

Unpacked Size

72.4 kB

Total Files

7

Last publish

Collaborators

  • eriese
  • joostdecock