2011-06-21 85 views
11

Tôi đang tìm kiếm một trong hai thuật toán hoặc công cụ trực quan hóa để vẽ (sơ đồ khối/sơ đồ khối) đẹp mắt.vẽ sơ đồ khối/sơ đồ khối

Tôi cũng quan tâm đến việc xây dựng chung vấn đề.

Bằng "bản vẽ mạch", tôi có nghĩa là khả năng khám phá địa điểm & tuyến đường cho sơ đồ khối (hình chữ nhật) với cổng I/O và kết nối của chúng (dây). Các sơ đồ khối này có thể được phân cấp, nghĩa là một số khối có thể có một số cấu trúc con bên trong lồng nhau, v.v.

Chủ đề này liên quan chặt chẽ đến việc vẽ đồ thị cổ điển, và hạn chế bổ sung về tính đến vị trí cổng có thể là hình dạng của các khối (hình chữ nhật có kích thước khác nhau). Công cụ Graphviz không đáp ứng với vấn đề (ít nhất là các thí nghiệm trước đây của tôi chưa đạt yêu cầu).

Thuật toán theo hướng cố định giữ chân sự chú ý của tôi, nhưng tôi vừa tìm thấy các bài viết về đồ thị theo hướng cổ điển.

Bất kỳ gợi ý nào?

[cập nhật ngày 21 tháng 11 năm 2013] có vẻ như tài liệu tham khảo tốt nhất cho đến nay là Spönemann

Trả lời

1

Để làm cho sơ đồ mạch chất lượng sản xuất cũng như sơ đồ khối, Tôi đề nghị JD"Macro mạch" của Aplevich. Nó được ghi chép và duy trì tích cực. Xem các ví dụ được tạo bởi gói này circuit macros examples

Có một số đường cong học tập, ví dụ để có thể sử dụng ngôn ngữ vẽ đồ thị "dpic" để vẽ sơ đồ của riêng bạn. Nhưng bản thân công cụ này rất mạnh mẽ.

Đối với tôi có hai vấn đề còn lại:

  1. không cập nhật trực
  2. svg đầu ra thiếu

tôi bị hack lên một số Javascript để

(watch m4 file change)->[m4->dpic->latex->pdf]->svg->(show in html) 

Đây là gist of it

// 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 
    }) 

}) 

Đây là runtask.bat cho 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 

Bằng cách đó, bạn có thể "vẽ" bằng cách viết m4/code dpic và xem kết quả trong trình duyệt live; và svg được tạo từ pdf trông đẹp hơn rất nhiều.

1

Dưới đây là một: http://www.physicsbox.com/indexsolveelec2en.html

Đây là nơi để tìm kiếm những người khác:

http://www.freebyte.com/electronics/

www.educypedia.be/electronics/easoftsim.htm

+0

Thx, Inium, cho các liên kết. Tuy nhiên tôi đang tìm kiếm một cái gì đó tổng quát hơn so với điện tử tinh khiết. Có rất nhiều khu vực nơi sơ đồ khối là cần thiết, đặc biệt là trong kỹ nghệ phần mềm. – JCLL

1

Có các lựa chọn thay thế cho graphviz có thể thực hiện công việc - xem ví dụ: infovis, protovis, tulip.

Xem thêm các câu hỏi liên quan khác 1, 2, 3.

Bạn có thể giải thích nơi graphviz rơi ngắn không? Yêu cầu duy nhất bạn liệt kê mà tôi không chắc chắn là gắn vào các cổng cụ thể. Tôi đã có thể nghĩ rằng bạn có thể có thể giải quyết đó với hình dạng tổng hợp/subgraphs, nhưng có lẽ không ...?

EDIT: Một tùy chọn khác, đặc biệt nếu bạn đang xem sơ đồ kỹ thuật phần mềm. Bạn đã xem số eclipse gmp toolkit chưa? Đó là những gì được sử dụng để xây dựng ví dụ: số UML2 editor tools.

hth.

+0

Liên quan đến vấn đề với graphiz: Tôi đã không thể quản lý các cạnh định tuyến để biến đồ thị thành thứ gì đó trông giống như bản vẽ kỹ sư thực (xem [ví dụ] (http://www.mathworks.com/help/toolbox/fuzzy) /sltank.png)) – JCLL

+0

Liên quan đến Eclipse, tốt, tôi biết GMF, nhưng tôi không chắc chắn nó có thể giúp tôi khám phá các thuật toán để vẽ sơ đồ khối. Cần xem lại nó. – JCLL

+0

Ah ok. Không, graphviz sẽ không làm bố cục thẳng. Không chắc về những người khác. Tuy nhiên, một lựa chọn khác có thể là yworks (http://www.yworks.com). Thư viện (yFiles) không phải là miễn phí tuy nhiên có một ứng dụng miễn phí (yEd) gói nó mà bạn có thể nạp dữ liệu vào. Bố cục trực tuyến của nó khá tốt (trình chỉnh sửa cung cấp các mẫu cho ví dụ: UML, BPMN). hth. – sfinnie

0

Tôi không biết bất kỳ công cụ nào là người chiến thắng rõ ràng để dễ dàng tạo sơ đồ khối đẹp mắt với số lao động thủ công tối thiểu. Một số kết quả tìm kiếm tốt nhất mà tôi đã thấy là từ TikZ. Kiểm tra các ví dụ ở đây:

+0

Tikz cũng là giải pháp của tôi, như xa như hình dung là có liên quan. Tôi cũng đồng ý rằng vẫn còn một số lao động cần thiết (đáng ngạc nhiên) để thiết kế một bản vẽ tự động cho các sơ đồ khối như vậy. – JCLL

+0

Tôi hy vọng Inkscape sẽ trở thành một công cụ tốt cho công cụ này khi công cụ kết nối nhận điểm kết nối có thể sử dụng được (http://wiki.inkscape.org/wiki/index.php/UsingTheConnectorTool). – nibot

+0

Một số liên kết khác: http://electronics.stackexchange.com/questions/1024/good-tools-for-drawing-schematics – nibot

3

Tôi cũng đang sử dụng TikZ vào lúc này nhưng bạn có thể muốn thử http://blockdiag.com/

+0

Đá Tikz! Phải mất thời gian để học nhưng bạn sẽ thích nó. Bạn có thể đặt các nút ở những nơi bạn thích. Khi bạn đã tìm ra vị trí, phần còn lại sẽ theo sau. – Dilawar

Các vấn đề liên quan