fritzing / fritzing-app

Fritzing desktop application
http://fritzing.org
Other
4.03k stars 833 forks source link

automatic check to make sure elements on copper layer aren't too close (DRC) #1069

Closed davidperrenoud closed 10 years ago

davidperrenoud commented 10 years ago

From irasc...@gmail.com on May 03, 2010 11:52:19

add a "design rules check" item to the trace menu. For each item on the copper layer (trace, connector, nonconnector) blow it up by the distance (10 mil) and see if it intersects anything else in the copper layer. Tell the user if so.

How easy will it be to expand the parts--will changing the svg work or does qt only check the bounds?

How to tell the user? Simply highlight the offending parts?

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

davidperrenoud commented 10 years ago

From irasc...@gmail.com on May 05, 2010 16:32:01

r4169 . Qt only checks the bounds of SVGs, so using the rasterizer trick again. Keeping this issue open as there are still some glitches

Status: PartlyDone

davidperrenoud commented 10 years ago

From irasc...@gmail.com on June 10, 2010 03:34:35

mostly seems to be working, even on two sides, but when an overlap is found, too many parts are selected. Also, or possibly the same problem, I have seen at least one instance in which the selection rect is included in the overlap testing

davidperrenoud commented 10 years ago

From irasc...@gmail.com on June 14, 2010 10:56:45

check that traces and pins aren't outside the board, or even too close to the edge

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 02, 2010 06:31:44

comment 2 seems cleared up.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 21, 2010 05:07:03

From Brendan: Nice would be some kind of clickable list (dock widget?) so I could highlight the individual failure points.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 21, 2010 05:07:26

Summary: automatic check to make sure elements on copper layer aren't too close (DRC)

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 22, 2010 14:40:35

Finally a use for the console window? (that I finally recently removed from the project). But I could imagine a text-window/dock for the results which would either say "no overlaps found" or it could say "Part A overlaps part B", and if you clicked that line those two parts would be selected. In some cases it could even say "Connector Q on Part A overlaps part B", and it might be possible to always use this formulation if this is the case. However, being able to say "Connector Q on part A overlaps connector R on part B" would require some extra work.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 22, 2010 14:43:59

DRC could be speeded up--once two parts are known to overlap, there's no need to further include them in the checking. But that might miss the case when a part overlaps with multiple other parts.

davidperrenoud commented 10 years ago

From andre.knoerig@gmail.com on July 25, 2010 23:55:24

While the DRC definitely needs a better UI, I don't think the console window is a good choice. The visual highlight is much stronger. I guess the difficult question for the visual highlight is how to make it persistent without getting in the way. Does it disappear once the user has interacted with the layout again? Or can we make it stay until the problems are fixed?

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 26, 2010 01:37:41

The problem is that the simultaneous visualization of each individual overlap needs to be clear, and this would take a whole lot of work. So it's much easier if there's a text-based list of overlaps, so you can click on each individual one in the list, and see the relevant pair of parts selected (and maybe the connectors highlighted).

In other words, in order to make this happen in a reasonable time-frame, you have to go with a list-based approach.

davidperrenoud commented 10 years ago

From andre.knoerig@gmail.com on July 26, 2010 01:40:12

Yeah, I know - let's have a little brainstorming when we get the chance. :)

davidperrenoud commented 10 years ago

From irasc...@gmail.com on September 28, 2010 23:31:20

Labels: Component-PCB

davidperrenoud commented 10 years ago

From irasc...@gmail.com on October 05, 2010 01:27:20

  1. if the drc finds nothing, put up a message box saying "no overlaps found"
  2. otherwise, put up a dialog, and for each pair of overlaps found, describe the overlap: connector blah of part blah overlaps with tracewire blah. Allow the text to be copied, and the dialog to be moved.
  3. for extra credit, highlight individual connectors and/or select parts that are overlapping. The only difficulty here is that this is a modal state: when do you turn the highlighting off. Maybe when the dialog is closed?
  4. for super extra credit, highlight the actual overlaps, maybe using a giant svg in its own layer? Again, there's the modal problem: when to get rid of the highlighting
davidperrenoud commented 10 years ago

From brendan....@gmail.com on October 15, 2010 06:11:21

Issue 1271 has been merged into this issue.

davidperrenoud commented 10 years ago

From johannes...@googlemail.com on November 12, 2010 07:10:01

I think the wiki entry for "conflict resolution" tries to address this issue as well (GUI wise) http://wiki.ixds.de/Projects/Fritzing/Design_Specs/PCB_View/Conflict_resolution

davidperrenoud commented 10 years ago

From andre.knoerig@gmail.com on January 26, 2011 01:16:32

Use the new autorouter for the DRC, it's so much nicer and I assume it can highlight the exact areas that are overlapping?

Also, if it's faster than the old one, it might make sense to run it automatically on every export to production formats.

Labels: -Priority-Medium Priority-High

davidperrenoud commented 10 years ago

From irasc...@gmail.com on January 26, 2011 04:23:55

Swapping out the old drc is already under way. It is much faster than the old one, so it could be added to exporting as suggested.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on January 26, 2011 22:23:29

old drc is swapped out. silkscreen overlap not yet implemented.

davidperrenoud commented 10 years ago

From irasc...@gmail.com on January 26, 2011 22:25:23

Status: Duplicate
Mergedinto: 1270