Settings

Theme

Show HN: HFD – A design language for laser cutters written in Go

heavyfishdesign.com

75 points by dustismo 6 years ago · 9 comments

Reader

20after4 6 years ago

I'm curious why you chose json as apposed to just working directly within SVG, or perhaps using a template language or some other DSL.

I've been thinking of making a tool that will output g-code based on similar ideas to what you have here, however, I think I would try to work directly in go or python instead of expressing the shapes as json.

  • dustismoOP 6 years ago

    I chose json mostly for convenience, but also to give me some easy future possibilities.

    Making thinking was something like:

    pros:

    1. json has lots of tooling and is generally easy to work with 2. if I put up a ui/webapp around hfd, then json will work well for that. 3. if I want a custom DSL, I can always have the grammar convert to json as the underlying representation.

    CONS: 1. the json ends up being deeply nested and hard to work with 2. lack of multiline strings and comments (I went ahead added comment support though :))

theveloped 6 years ago

Amazing work on HFD! There is a lot happening in the space of mass-customization where I feel this fits right in!

We have a platform for automated sheet metal production and quoting. At the moment we only take completed 2D/3D technical drawings as an input although there is definitely a market for ordering parametric products too.

If you ever want to discuss the possibilities for HFD in the sheet metal industry let me know!

Evidlo 6 years ago

The Getting Started page needs to have more pictures and a guide on building some useful designs.

xellisx 6 years ago

What's wrong with gerbl?

  • dustismoOP 6 years ago

    Do you mean grbl? If so, HFD and grbl are totally different. HFD is meant a way to design things (usually for laser cutters, but ultimately it outputs SVG, so could be useful for other usecases).

    HFD is meant to make it easier to create designs which are parameterized (i.e. one design where you could easily change the width, height, thickness, ect). And make it simpler to split and layout designs across multiple pieces of material.

    • serf 6 years ago

      >HFD is meant to make it easier to create designs which are parameterized (i.e. one design where you could easily change the width, height, thickness, ect). And make it simpler to split and layout designs across multiple pieces of material.

      so sorta like OpenSCAD (the language, not the program), but specialized for 2d/planar work?

      • dustismoOP 6 years ago

        >so sorta like OpenSCAD (the language, not the program), but specialized for 2d/planar work?

        yes :)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection