电路/方框图

JCL*_*CLL 11 algorithm visualization graph-drawing

我正在寻找(好)电路/方框图绘制的算法或可视化工具.

我也对这个问题的一般表述感兴趣.

通过"电路绘图",我的意思是探索具有I/O端口及其连接(电线)的方框图(矩形)的布局和布线的能力.这些块图可以是分层的,即一些块可能具有一些嵌套的内部子结构等.

本主题与经典的图形绘制密切相关,需要考虑端口位置的补充约束,以及可能的块形状(各种尺寸的矩形).Graphviz工具无法解决问题(至少我以前的实验并不令人满意).

力导向算法引起了我的注意,但我刚刚在经典有向图上发现了论文.

任何提示?

[2013年11月21日更新]似乎最好的参考日期是Spönemann

Zhe*_* Hu 5

为了制作生产质量的电路图和框图,我强烈推荐 JD Aplevich 的“电路宏”。它有详细记录并得到积极维护。请参阅此包电路宏示例生成的示例

有一些学习曲线,例如能够使用“dpic”图形语言来绘制自己的图表。但该工具本身非常强大。

对我来说还有两个问题:

  1. 没有实时更新
  2. 缺少 svg 输出

我修改了一些Javascript

(watch m4 file change)->[m4->dpic->latex->pdf]->svg->(show in html)
Run Code Online (Sandbox Code Playgroud)

这是它的要点

// watch .m4 file

var chokidar = require('chokidar');
var resolve = require('path').resolve;
const touch = require('touch')
const {exec} = require('child_process')

chokidar.watch("*.m4").on('change', fn=>{
   let ff = resolve(fn)
   console.log(ff, "changed")
   exec("runtask.bat " + ff, {cwd:"../"}, (err,stdin,stdout)=>{
    console.log(err,stdin, stdout)
    touch("index.html") //svg updated
    })

})
Run Code Online (Sandbox Code Playgroud)

这是runtask.bat针对 Windows 的

m4 pgf.m4 %1 | dpic -g > tmp.tex

C:\texlive\2017\bin\win32\pdflatex template.tex

tool\dist-64bits\pdf2svg template.pdf %~dpn1.svg
tool\dist-64bits\pdf2svg template.pdf %~dp1tmp.svg
Run Code Online (Sandbox Code Playgroud)

这样,您就可以通过编写 m4/dpic 代码来“绘制”并在浏览器中实时查看结果;svg 是从 pdf 生成的,看起来好多了。