Code Monkey home page Code Monkey logo

visolate's People

Contributors

blokkendoos avatar traumflug avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

visolate's Issues

zig-zag voronoi separation

Running visolate 3.1.1 in win7, with gerber files from Kicad (*.pho), from RDB_ts board.
On summary, the voronoi paths separation has a zig-zag instead of a quasi-straight median between the polygons.

visolate_zigzag1
visolate_zigzag2
visolate_zigzag3

Havent noticed differences when playing with parameters except voronoi lim, and only if that is less than unity. I dont think that is related though, its probably just how the parameter works, but i also get an error about it there. From playing with this, zig-zag shape changes when voronoi lim is very low, like 0.05, but that seems like a corner case which starts to spill errors about "nnuID", as seen from terminal in 3rd picture. And for example at settings like voronoi lim like 0.01 and lower it seems voronoi paths become like "outline" shapes, again probably how it would work, but it is still stacking up that error.

This is the gerber file (just needs an extension change from jpg to *.gbr). Header says its exported from gerbv because i changed the origin with gerbv, but otherwise the file is exported by kicad.

rdb_ts_001_g-b_cu pho gbr

My awesome journey ends here

Folks, Github is about to enforce 2FA (Two Factor Authentification). That's IMHO a pretty pointless burden. Quality control in Open Source isn't established by some door lock, but by eyeballs looking at the code. Git commit IDs are enough of a verification, same ID gives always the exactly same code (and even the very same commit message). And yes, Git has also a mechanism to sign tags and commits with a GPG signature. That's as safe as public code can be.

I'm not going to mess with my phone (only way to give a second factor) when doing development, so I'll lose control over this repository in a couple of days. For this reason, this repository will be archived in a minute. All my Github activities requiring 2FA will chease for the same reason.

Should I happen to pick up development on this project again, it'll appear on GitLab, or some other appropriate public Git server. Archived repositories stay readable, and I also have my local copy.

Traumflug

Huge elements on load of gbr file

So trying to use visolate for the first time - Have a board I designed in kicad, reworked so it does not use a ground plane (to work around that issue for now), and loaded it into visolate 3.1.1

But when I load the file, all the elements are huge and overlapping each other. The file appears fine in GerbView 4.0.6 and loads fine in some other tools I've tried also.

Hopefully I'm just doing something silly...

GRB file: https://drive.google.com/file/d/0B_tI4K3x6U3_ZGJaZmF3cnU4T0E/view?usp=sharing

Screen shots of visolate and GRBView: https://docs.google.com/document/d/18rx4XHdTZHVQnV2tDGZXEY3t52iMsSDvY6d8GqSaxg0/edit?usp=sharing

Unable to launch on Windows

When i try to launch Visolate on my Win10 PC, i get the following error:

C:\Users\Thomas>java -jar "C:\Users\Thomas\Downloads\visolate-3.1.1.jar"
Aug 17, 2018 12:24:40 PM javax.media.j3d.NativePipeline getSupportedOglVendor
SEVERE: java.lang.UnsatisfiedLinkError: no j3dcore-ogl-chk in java.library.path
Exception in thread "main" java.lang.ExceptionInInitializerError
        at visolate.Display.<init>(Display.java:97)
        at visolate.Visolate.<init>(Visolate.java:66)
        at visolate.Visolate.<init>(Visolate.java:60)
        at visolate.Main.main(Main.java:118)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: javax.media.j3d.Win32NativeConfigTemplate3D
        at javax.media.j3d.NativeConfigTemplate3D$1.run(NativeConfigTemplate3D.java:82)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.media.j3d.NativeConfigTemplate3D.createNativeConfigTemplate3D(NativeConfigTemplate3D.java:74)
        at javax.media.j3d.NativePipeline.initialize(NativePipeline.java:127)
        at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:170)
        at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:965)
        at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299)
        ... 4 more
Caused by: java.lang.ClassNotFoundException: javax.media.j3d.Win32NativeConfigTemplate3D
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at javax.media.j3d.NativeConfigTemplate3D$1.run(NativeConfigTemplate3D.java:79)
        ... 10 more

Looks like i'm missing some libraries, but i'm not sure how/where to get them?

Crashes on Xubuntu16.04 with AMD Radeon

I think this is the operative word:

SIGSEGV (0xb) at pc=0x00007f90948d5823, pid=13282, tid=140258956797696

JRE version: OpenJDK Runtime Environment (8.0_91-b14) (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
Java VM: OpenJDK 64-Bit Server VM (25.91-b14 mixed mode linux-amd64 compressed oops)
Problematic frame:
C  [radeonsi_dri.so+0x256823]

pointing to the Radeon driver. (HP Z600 with Radeon 7950, dual monitor)
This crash does not happen on a Thinkpad T420 with Intel graphics.

hase

Does not support ground polygon

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

wishlist

If possible, i would suggest that having a start.gcode and end.gcode implementation would be quite useful. For example i have a procedure to put milling bit on top of the pcb for height adjustment and i normally use that as start.gcode.

Also one part which could be better is to have the moves made at elevated height as a travel speed, faster than the milling speed (at milling depth). Basically to have a travel speed for moving from one polygon to the other (at high Z). This would be neat for non-voronoi paths which generates more travel moves than otherwise.

Support outlines

Possible strategies:

  • Regognize the outline layer.
  • Calculate the outline from all available elements like it's currently done, but ignore the width of the outer tracks for this calculation. Also, put the origin to the lower left corner instead of the lower left corner of the whole Gerber.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.