fritzing / fritzing-app

Fritzing desktop application
http://fritzing.org
Other
4.06k stars 838 forks source link

autoplace #188

Closed davidperrenoud closed 3 years ago

davidperrenoud commented 10 years ago

From brendan....@gmail.com on October 16, 2008 15:19:56

The pcb layer should force or at least encourage users to only place parts within actual board bounds. Not critical for alpha. Eventually would be nice to even have a configurable parameter to keep folks from placing things too close to the edge of a board.

Original issue: http://code.google.com/p/fritzing/issues/detail?id=188

davidperrenoud commented 10 years ago

From dirk.van...@gmail.com on October 17, 2008 14:34:53

Labels: -Priority-Medium -Priority-Medium Priority-Low

davidperrenoud commented 10 years ago

From dirk.van...@gmail.com on October 17, 2008 14:35:04

Labels: -Priority-Low Priority-Medium

davidperrenoud commented 10 years ago

From irasc...@gmail.com on November 18, 2008 14:34:15

there's no need for the user to have to drag and drop parts onto the arduino when she first switches to pcb view. The parts could automatically be placed on the board (not intelligently placed, just placed).

This is a little tricky if the user doesn't place the ardiuno early. And what if there are parts the user doesn't want on the board?

Alternatively, we could have it be a menu item "place selected parts on the arduino". But I'm leaning toward solving the 90% case, which is that all parts belong on the board in pcb view. And if the user drags a part off the board in pcb view, then don't autoplace it back--equivalent to the way we deal with manually drawn traces.

Summary: PCB layout and board area issues (auto-place parts on the board)

davidperrenoud commented 10 years ago

From brendan....@gmail.com on November 20, 2008 05:57:57

the 90% solution sounds good to me. autoplace would be triggered on adding an arduino or adding any other part to the sketch. it's safe to assume that the parts need to be on the board.

davidperrenoud commented 10 years ago

From brendan....@gmail.com on January 07, 2009 05:23:19

jonathan is working on this

Owner: co...@irascible.com

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 02, 2009 14:02:22

Issue 679 has been merged into this issue.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on September 27, 2010 23:47:04

Labels: Component-Autorouter

davidperrenoud commented 10 years ago

From irasc...@gmail.com on October 08, 2010 06:31:09

One approach in the literature is to use simulated annealing to minimize a cost function. A reasonable cost function would be total wire length. Having said this, I can't predict how well this would actually work in practice. But it probably wouldn't take more than a few days to try it out.

Summary: autoplace

davidperrenoud commented 10 years ago

From irasc...@gmail.com on October 15, 2010 02:10:08

Brendan suggests a cost function that is a combination of overall area plus the number of part crossings it takes to get from one connector to another (which is an estimate of how hard it would be to route that connection). So two parts which are to be connected are better being placed next to each other than with some number of parts in-between.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on February 12, 2011 22:32:38

Optimal autoplacement can wait, but now that a rectangular board is placed in pcb view by default, by default, when parts are dropped in breadboard or schematic view, they should be placed on the board in pcb view (rather than just keeping the same x and y coordinate as is currently done).

So, marking this a defect instead of an enhancement. Optimal autoplacement will be the enhancement.

Labels: -Type-Enhancement -Priority-Medium Type-Defect Priority-High

davidperrenoud commented 10 years ago

From irasc...@gmail.com on February 13, 2011 00:21:48

Torsten thinks a Kohenen map might be applicable to the optimal placement problem:

"Here's a pointer to the Kohonen map: http://en.wikipedia.org/wiki/Self-organizing_map Look at the second illustration, somtraining.svg. Imagine the blue blob is the circuit structure with its connections and the grid is the "folded" PCB."

other methods include simulated annealing and min-cut placement

davidperrenoud commented 10 years ago

From irasc...@gmail.com on February 13, 2011 02:18:49

Placing parts on the board (without regard to routing) is a case of the 2d bin-packing problem. I'm not sure how optimal it is, but the good old corner-stitch data structure from the autorouter can be used for bin packing problems.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on February 13, 2011 04:38:48

comment 14 is implemented so this is back to the hard problem of autoplacement.

Labels: -Type-Defect -Priority-High Type-Enhancement Priority-Medium

davidperrenoud commented 10 years ago

From andre.knoerig@gmail.com on January 08, 2012 04:40:04

Just noticed that while we have semi-autoplacement in PCB view (placing parts next to each other instead of random), we don't have it yet in schematic view. This would be a nice enhancement, since it would make it much less daunting for beginners to look at this view.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on November 26, 2012 20:58:14

Issue 1908 has been merged into this issue.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on December 17, 2012 23:48:17

could use the results of the autorouter toward autoplacement: if a net cannot be routed, it suggests a different placement

KjellMorgenstern commented 3 years ago

I tried placing 20 parts into the schematics view, and they were placed in the board in pcb view. So I think we can close this for pcb.

image

failiz commented 3 years ago

Yes, I cannot reproduce it eaither. Maybe has been fixed or maybe they were reporting #1490 which is still open.