Visolate icon indicating copy to clipboard operation
Visolate copied to clipboard

Does not support ground polygon

Open joe9 opened this issue 13 years ago • 4 comments

Hello,

It appears that Visolate fails with the below exception when there are any polygons in the pcb.

java -jar /tmp/Visolate/releases/visolate-3.1.1.jar
graphics device: :0.0 libGL error: failed to load driver: r600 libGL error: Try again with LIBGL_DEBUG=verbose for more details. pixel format 8:8:8 24-bit depth WARNING: ignoring offset OFA0.0B0.0 WARNING: ignoring image polarity IPPOS WARNING: ignoring layer polarity LPD computing inch coords... making nets... 102 nets making half edge loops... 66 loops computing inch coords... making nets... 102 nets making half edge loops... 70 loops Comment at line 1: start of page 2 for group 0 idx 0 Comment at line 2: Title: (unknown), top Comment at line 3: Creator: pcb 1.99z Comment at line 4: CreationDate: Sun 23 Dec 2012 07:41:20 PM GMT UTC Comment at line 5: For: joe Comment at line 6: Format: Gerber/RS-274X Comment at line 7: PCB-Dimensions (mm): 152.40 127.00 Comment at line 8: PCB-Coordinate-Origin: lower left layer name: TOP Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: TBD polygon mode at visolate.simulator.Simulator.setPosition(Simulator.java:232) at visolate.parser.Parser.CoordinateDCode(Parser.java:351) at visolate.parser.Parser.DCode(Parser.java:316) at visolate.parser.Parser.Code(Parser.java:219) at visolate.parser.Parser.Input(Parser.java:98) at visolate.Visolate.load(Visolate.java:722) at visolate.Visolate.loadFile(Visolate.java:698) at visolate.Visolate$2.actionPerformed(Visolate.java:144) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:682) at java.awt.EventQueue$3.run(EventQueue.java:680) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:696) at java.awt.EventQueue$4.run(EventQueue.java:694) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:693) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

test files used:

test.sch: schematic file: http://codepad.org/7EfApPjh test.pcb: pcb file: http://codepad.org/5JusexrR gerber file, output of the command: pcb -x gerber --verbose --metric --gerberfile test_board test.pcb: test_board.top.gbr: http://codepad.org/XVquxoKx

btw, it works without the polygon in the pcb.

Joe

joe9 avatar Dec 23 '12 19:12 joe9

Is there workaround using polygons? I also get:

graphics device: \Display0 pixel format 8:8:8 24-bit depth WARNING: ignoring offset OFA0.0B0.0 WARNING: ignoring image polarity IPPOS WARNING: ignoring layer polarity LPD computing inch coords... making nets... 102 nets making half edge loops... 66 loops computing inch coords... making nets... 102 nets making half edge loops... 73 loops Comment at line 3: EasyPC Gerber Version 18.0.8 Build 3632 Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: TBD polygon mode at visolate.simulator.Simulator.setPosition(Simulator.java:232) at visolate.parser.Parser.CoordinateDCode(Parser.java:351) at visolate.parser.Parser.DCode(Parser.java:316) at visolate.parser.Parser.Code(Parser.java:219) at visolate.parser.Parser.Input(Parser.java:98) at visolate.Visolate.load(Visolate.java:722) at visolate.Visolate.loadFile(Visolate.java:698) at visolate.Visolate$2.actionPerformed(Visolate.java:144) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$400(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

I use designspark 7.1 to create gerber files.

pcb

zhivko avatar Sep 27 '15 14:09 zhivko

Is there workaround using polygons?

Yes. Two of them:

  1. Change your design to not have polygons. When milling with Voronoi paths, polygons make not too much sense anyways. If you want to cover an area with copper, simply draw its outline with regular tracks, the Voronoi algorithm will make it one surface, then.
  2. Write the code which handles polygons.

Traumflug avatar Sep 27 '15 14:09 Traumflug

Hum, wow, 2020 and this is not fixed! This means it will not work with PCB.

terrylm avatar Mar 07 '20 16:03 terrylm

Where is your patch / pull request?

Traumflug avatar Mar 08 '20 00:03 Traumflug