Skip to content
This repository has been archived by the owner on Aug 20, 2023. It is now read-only.

Does not support ground polygon #4

Open
joe9 opened this issue Dec 23, 2012 · 4 comments
Open

Does not support ground polygon #4

joe9 opened this issue Dec 23, 2012 · 4 comments

Comments

@joe9
Copy link

joe9 commented Dec 23, 2012

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

@zhivko
Copy link

zhivko commented Sep 27, 2015

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

@Traumflug
Copy link
Owner

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.

@joe9 joe9 closed this as completed Jan 4, 2016
@Traumflug Traumflug reopened this Jan 4, 2016
@terrylm
Copy link

terrylm commented Mar 7, 2020

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

@Traumflug
Copy link
Owner

Where is your patch / pull request?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants