CamBam
News:
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
December 13, 2017, 14:48:14 pm


Login with username, password and session length


Pages: 1 ... 10 11 [12]
  Print  
Author Topic: Trochoidal Pocket & Profile MOPs plugin (HSM)  (Read 19785 times)
dave benson
CNC Jedi
*****
Offline Offline

Posts: 812


View Profile
« Reply #165 on: December 05, 2017, 00:22:57 am »

HI JK

I use the pocketing mop where I can and really like it, and generally clean up with a normal profile mop for speed.
On a casual look at the picture it seems to me that where the code has more than two choices of direction (forking and branching) to take, things don't go so well.
Dave

Logged
jk
Storm Trooper
***
Offline Offline

Posts: 215


View Profile
« Reply #166 on: December 05, 2017, 11:45:14 am »

dave,

In fact it's the underlying medial axis generated wrong while the branching code is ok.
I calculate medial axis via Voronoi partitioning (third party code) and this code is failing sometimes.

Look at the cyan lines - in first picture it is a true medial axis, while in second it steering towards the right and
produce some jerky hatches on the left.


* good_medial.png (78.69 KB, 529x596 - viewed 28 times.)

* bad_medial.png (98.1 KB, 782x702 - viewed 23 times.)
Logged
dave benson
CNC Jedi
*****
Offline Offline

Posts: 812


View Profile
« Reply #167 on: December 05, 2017, 12:59:34 pm »

HI JK

That makes your problem clearer, one thought, the geometry looks the same in both pictures so what did you do to
make one correct and the other not ?.

I went here https://www.sciencedirect.com/science/article/pii/S0377042798002234and had a look at this paper.
It seems to address cases where you have more than two choices and uses a simplified method.
as I understand they seem to be addressing this  problem.
Here is a Quote from the paper-->
Quote
270 R. Rarnamurthy, R.T. FaroukilJournal of Computational and Applied Mathematics 102 (1999) 253-277
A Newton-Raphson iteration scheme, analogous to that described above, can be developed from
these equations for refinement of type (3~) bifurcations.
Finally, consider the case of a bifurcation b* with more than three distinct footpoints on the
domain boundary S. Such bifurcations are “exceptional”, but do not require any special treatment -
the methods discussed above suffice for computing their exact coordinates. To see this, suppose that
b* has distinct footpoints on four segments sl, s2, s3, s4 of S. Now when three of these boundary
segments, sl, ~2, s3 say, have been included in the boundary segment set, 6* will be identified as a
“generic” bifurcation point of type (3). At this stage, depending on the type of b*, the appropriate
algorithm discussed in this section may be employed to locate the exact coordinates of b*. The
subsequent inclusion of s4 does not alter the coordinates of 6* in any way. Thus, due to our strategy
of including one boundary segment of S at a time, and because of the fact that each boundary
segment is “simple”, we are guaranteed to capture all exceptional bifurcation points having more
than three disticnt footpoints on the domain boundary.
6. Medial axes
We now consider the construction of the medial axis of a planar domain D from the Voronoi
diagram of the domain boundary S. The medial axis may be formally defined as follows [6, 321:
Definition 6.1. The medial axis of a planar domain D with boundary S is the closure of the set of
points in D that have (at least) two distinct footpoints on S - i.e., it is the closure I9 of the point
set


I think you are right track trying to find a better library, and I will look into the problem a little deeper in the next few days to see if i can find a library for you to use (this may take a little time as I'm in the middle of my turret project)
making the overload mechanisms and although it looks simple they rely on very close tolerances and I've already Trashed  a couple of them.

Dave
Logged
jk
Storm Trooper
***
Offline Offline

Posts: 215


View Profile
« Reply #168 on: December 05, 2017, 14:33:08 pm »

dave,

I've changed the cutter diameter a little which indirectly controls the spacing of sample points along the
shapes. And it did the trick, Voronoi code converged to a good result.

The last thing I want is to implement a Voronoi partitioning myself and dig into the computational math )

The code used inside the plugin is the C# port of original Steve Fortune's C code with all the
bugs inherited.

The triangle.net code is looking promising so I want just to plug it in and compare results.
Logged
jk
Storm Trooper
***
Offline Offline

Posts: 215


View Profile
« Reply #169 on: December 06, 2017, 17:47:49 pm »

Replace of the old Voronoi library to the triangle.net was successful. All my testcases shows a good partitioning.
After a few more tests I'll post a new plugin version (CB 1.0+ only, since triangle.net is using NET4.0).
Logged
jk
Storm Trooper
***
Offline Offline

Posts: 215


View Profile
« Reply #170 on: December 08, 2017, 15:13:47 pm »

First post updated with the version 2.3.0. This version is for CB1.0+ only.

---
* using the triangle.net Voronoi partitioning code - should be much more robust !

Please report any issues.
Logged
Bob La Londe
CNC Jedi
*****
Offline Offline

Posts: 3026


^ 8.5 pounds on my own hand poured bait.


View Profile WWW
« Reply #171 on: December 09, 2017, 00:24:53 am »

Just tested with some aggressively complex and nasty pockets.  Had an issue with the start point until I set one, then it worked fine. 

Seems it uses the default 0,0,0 as an actual programmed start point unless you set some other start point. Most other MOPs sort of pick their own start point unless you set one.  Well except for... pocket MOPs which pick their own whether you set one or not.  LOL.   

* Untitled.cb (3.56 KB - downloaded 7 times.)
Logged

Getting started on CNC?  In or passing through my area?
If I have the time I'll be glad to show you a little in my shop. 

Some Stuff I Make with CamBam
http://www.CNCMOLDS.com
kvom
CNC Jedi
*****
Offline Offline

Posts: 1404


View Profile
« Reply #172 on: December 09, 2017, 03:02:09 am »

I just realized that for a trocho pocket with multiple areas that aren't connected by a path the tool can pass one can use multiple mop copies with different start points within the areas.
Logged
jk
Storm Trooper
***
Offline Offline

Posts: 215


View Profile
« Reply #173 on: December 10, 2017, 09:21:27 am »

Bob, could you clarify the issue with the start point ?
Attached file has no MOPs, I've created the pocket for all the shapes and it the auto start point was choosen as expected. Manual start point is ok too.
Logged
Bob La Londe
CNC Jedi
*****
Offline Offline

Posts: 3026


^ 8.5 pounds on my own hand poured bait.


View Profile WWW
« Reply #174 on: December 10, 2017, 15:11:36 pm »

You know what.  I think I know what the problem was.  I'll have to experiment.
Logged

Getting started on CNC?  In or passing through my area?
If I have the time I'll be glad to show you a little in my shop. 

Some Stuff I Make with CamBam
http://www.CNCMOLDS.com
Pages: 1 ... 10 11 [12]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.118 seconds with 19 queries.

Copyright © 2008 HexRay Ltd. | Sitemap