Engidea / FreeRoutingNew

FreeRouting stronger and better
68 stars 21 forks source link

some routing issue with freerouting examples #1

Closed mkproteus closed 8 years ago

mkproteus commented 8 years ago

Hello, i have test the FreeRoutingNew software. You are the first developer i see on github to make some change for the future, thank you for your big work. I think freerouting is a big complex software and is not easy to understand how it's work in a short time. Now i have make a little patch for the build.xml file so i can compile the software on my openSUSE 42.1 Linux system. I have make some change for a rpm package with the original software from https://github.com/freerouting/freerouting.git. This rpm is working and can be used with kicad directly. I have some original examples from freerouting website for testing. I have use the int_empty.dsn test file. In the attached file's you can see that there are some drawing issues and calculation errors. The original software is working fine. If you have some time to look why the errors are produce. Regards Michael

[Uploading int_empty.zip…]()

mkproteus commented 8 years ago

here the files:

[Uploading int_empty_user.log.txt…]() [Uploading FreeRoutingNew_patch.txt…]() [Uploading int_autorouted_dsn.txt…]() [Uploading int_empty_error_log.txt…]() [Uploading int_empty_output_log.txt…]() [Uploading int_empty_user_log.txt…]()

Engidea commented 8 years ago

I cannot see the files you uploaded, weird.... For the xml modification, just post the diff here, if it is neutral I will just add it Regarding the SW, I am really tryin to get rid of rationals, it is a huge task but it is needed to have import and export to Kicad be transitive. otherwise incompletes pop up for no good reason. There is also the issue of colinear points that could be split into different traces (again on import) Can you describe the issue in a more precise detail ?

mkproteus commented 8 years ago

FreeRoutingNew.patch

diff --git a/build.xml b/build.xml index 328be02..6f7fb20 100644 --- a/build.xml +++ b/build.xml @@ -11,6 +11,11 @@

+<!--

  • +--> +

    @@ -26,9 +31,11 @@
  • <javac destdir="${classes.dir}" debug="${javac.debug}"
  • deprecation="${javac.deprecation}"
  • source="1.6" target="1.6">
  • <javac destdir="${classes.dir}" debug="${javac.debug}"
  • includeantruntime="false"
  • deprecation="${javac.deprecation}"
  • classpath="jarlibs/bsh-20b4.jar:jarlibs/jhall-2.0_05.jar"
  • source="1.6" target="1.6">

mkproteus commented 8 years ago

[Uploading FreeRoutingNew_patch.txt…]()

mkproteus commented 8 years ago

Hello, can i send the patch, demo files and log files to your email: info@engidea.com I don't know why i can't upload the files here. I have no found a solution at github faq. I think it's a import filter bug from github. Regards Michael

mkproteus commented 8 years ago

Here are some sorted log entry's in the output log file:

Warning in PlaPointInt(long): too big p_y=9223372036854775807 InsertFoundConnectionAlgo: violation corrected SortedRoomNeighbours.calculate: unexpected area overlap of free space expansion room PolylineTrace.get_trace_connection_shape p_index out of range

And here some lines from the user log file:

cannot shove != 2_compe BrdTracep.trace l=98290 id=3745 cannot shove != 2_compe BrdTracep.trace l=118423 id=2128 ArtEngine.autoroute_connection: search_result NULL ArtInsertConnection.insert trace failed for net 25 ArtEngine.autoroute_connection: MazeSearchAlgo not initialized

And here some lines from the error log file: java.lang.IllegalArgumentException: PlaLineInt.intersection NAN should not heppen java.lang.IllegalArgumentException: RationalPoint: to_float NAN User Message=BatchAutorouter.autoroute_pass Exception Class=class java.lang.NullPointerException --> toString=java.lang.NullPointerException --> Stack=autoroute.maze.MazeSearch.expand_to_target_doors(MazeSearch.java:567) autoroute.maze.MazeSearch.expand_to_room_doors(MazeSearch.java:425) Polyline.IntLine B < 3 User Message=BatchAutorouteThread.thread_action exc Exception Class=class java.lang.NullPointerException --> toString=java.lang.NullPointerException --> Stack=board.algo.AlgoPullTight.smoothen_end_corners_at_trace_one(AlgoPullTight.java:371) board.algo.AlgoPullTight.optimize_changed_area(AlgoPullTight.java:158)

and here the end program is terminated from my user action. RedirectMessages.copyData() input closed

I hope you can see what the software is doing. A better way is i send my complete files to your website e-mail, at now i can not attached the files here in this repository.

Regards Michael

Engidea commented 8 years ago

Hi Michael, I committed your suggestion on the xml build Also I added a kind of "fix" for the NPE exception happening in the PullTight algo

Let me explain a bit what is happening What you see is the result of the extra "debug" info that I have added, they surely are some kind of "errors" but it is not easy to find out the root cause for it.

If you wish to help, I would really appreciate someone else that "guess" the logic of the SW Of course I know it quite well by now, but the level of intricacy and dependencies is huge Alfons is really smart and could juggle what it has written quite well but the SW had reached a point where the level of complexity went beyond manageable

What I am trying to do now is to implement the trace split so it always lands on an int point, so, at least start and end trace points can be always declared int points. I am getting there, but I do this on my "spare" time....

If you want to write to me "directly" just send to "Michael.Kruschinsky" at my domain name, I will whitelist you

Engidea commented 8 years ago

Issue is possibly closed after latest commit