Welcome to yEd Q&A!
Here you can ask questions and receive answers from other members of the community and yEd developers. And you can tell us your most wanted feature requests.


Can I invoke yEd layouts from the command line?

+3 votes
in Help by (3.4k points)
Having the same problem; I can understand the licensing issue and that yWorks needs make some money.

However, what I understand much less: why should I buy a full development environment PLUS spend my own hours to program an application with it, if all I need is a graphml file to be layouted and exported as HTML... - I´m offended much more by the effort I´d need invest myself than the $$$ I´d need spend ...

Any solution here? Thx!
What effort? The trivial "application" you describe would consist of four to five yFiles for Java API calls plus some boilerplate code required by the Java programming language (imports, class declaration, main method, try/catch blocks for IO, etc). Even someone new to yFiles for Java (or any other framework from the yFiles product family) could code that in ten minutes.
I'm not a programmer.  (I used to be, but that was a time long ago, in a galaxy far away.)  I don't want a toolkit, I want a product.  I love using yEd, I get that the yWorks classes are well-designed and can produce excellent results.  I'd be quite happy to pay US$20-US$50 for a command-line tool that takes my yEd graphs and exports them to another format. I'd be much less happy, but probably still willing, if that tool was $50-$75.
I embed my yEd-created diagrams into LaTeX (via LyX).  In order to do this, I must export them to another format (usually SVG) before I produce the final output.  LaTeX and LyX have the ability to call an external command to automatically convert an arbitrary file format to something usable.  I can't get LaTeX or LyX to embed the yFiles components - they're open source projects and would be unable to redistribute them in a useful fashion (not to mention the JRE dependency...).

And, again, I AM NOT A JAVA PROGRAMMER.  I don't want to write my own utility (it's not the $$$, it's the programming), I want a g**-d***** product to do the job I would like it to do.
Even if you were willing to program: forget the $50 deal; prices start at $2700, which of course is completely ridicolousnfor applications as we discuss here ...
yEd is based on a high-quality commercial software library. Obviously, the library needs to have some features that are not in yEd, otherwise why buy the library? So, we had to make a decision about what is available and what is not. And support for automated processes did not make it.

And really, it is not so much effort to
1. start yEd,
2. open your diagram,
3. export to SVG.

You buy the library, you develop the oh-so-much-in-demand converter, you sell the converter for $30 to 100 people, you make 100x$30-$2700=$300. Seems like a win-win situation to me. ;-)
You forgot "re-learn how to program", "support the product", and "don't get paid for any other work while you're doing all this".
yWorks has the right to do whatever they want - I just wish what they wanted to do aligned better with my needs!

1 Answer

0 votes
Best answer
This is not possible, since it would enable using yEd as part of an automated process, which is not allowed.

With yEd it is not possible to trigger certain layouts or other tools upon loading a graph. To layout a graph or to apply a tool to a graph user interaction is always required.

The yEd Software License Agreement explicitly forbids to use yEd as part of an automated process, such as a script or a tool pipeline that automatically transforms an input to an output that was generated by yEd.

If you wish to use the layouts or tools provided by yEd in an automated process or through an API, you should have a look at yFiles, a commercially available graph visualization toolkit that forms the basis of all functionality found in yEd.


by [yWorks] (23.7k points)
edited by
Legal Disclosure | Privacy Policy