CamBam

Resources => Scripts and Plugins => Topic started by: GeoffreyGRoy on June 12, 2014, 07:59:25 am



Title: Curved surface script
Post by: GeoffreyGRoy on June 12, 2014, 07:59:25 am
I have developed a CamBam script (VBS) that will create a circular singular curved surface (in the vertical plane) - based on the sloping line script at http://www.cambam.info/ref/script.sloped-lines (http://www.cambam.info/ref/script.sloped-lines). So far it appears to work quite well.  It uses a similar set of parameters as the sloped line script:
  • A start point and an end point
  • A width, or 0 for a single cut
  • A depth of cut at the end point
  • There are options to create an Engrave MOP with some default parameters set, and a G-Code file if required.

The top of the curve is assumed to be a Z=0.  By using a ball mill and adjusting the step over distance rather smooth curved surfaces can be cut.

The script can be down loaded from the link below.

I would be interested in receiving suggestions for improvements or if any bugs are found.

thanks

Geoff

Note: The latest version (1.0.2)  of the CurvedSurface Plugin (described later) is also attached here.


Title: Re: Curved surface script
Post by: dave benson on June 12, 2014, 13:47:12 pm
Well done Geoff,  Works as advertised.
Dave.


Title: Re: Curved surface script
Post by: Garyhlucas on June 12, 2014, 22:33:40 pm
Geoff,
Very nice. How about a  version to do this kind of part.  This is an 13.5" diameter flange that is being cut to fit against a 120" diameter tank.  I also cut one to go inside.(http://)


Title: Re: Curved surface script
Post by: lloydsp on June 12, 2014, 22:50:16 pm
Gary,
Unless there's some sort of distortion in the photo, that looks like the inside one...???

Lloyd


Title: Re: Sperical surface script
Post by: GeoffreyGRoy on June 13, 2014, 00:59:53 am
I have also created a script to generate spherical surfaces with the top of the sphere at Z=0, and a specified depth at a given radius.  If this is also of interest then it can be downloaded from the link below:


It uses a similar set of parameters as the curved surface script.

Again comments and bugs are appreciated.  Note that V1.00 did have some minor bugs.

Geoff


Title: Re: Curved surface script
Post by: lloydsp on June 13, 2014, 12:05:37 pm
Very nice. How about a  version to do this kind of part.  This is an 13.5" diameter flange that is being cut to fit against a 120" diameter tank.  I also cut one to go inside.
-----------------

Gary, one other word about that.

His script already does that kind of part -- in a sense.  It creates half of the surface on which to map your other features.  You can mirror the surface he creates, and it becomes a barrel-shaped surface like you want.

Lloyd


Title: Re: Curved surface script
Post by: Garyhlucas on June 13, 2014, 21:09:35 pm
Gary,
Unless there's some sort of distortion in the photo, that looks like the inside one...???

Lloyd

Lloyd,
You are right. I took the photo to show an engineer at my previous employer that I could do these on my home built machine.  We used to send these out to get done in different size flanges and different radiuses all the time.


Title: Re: Sperical surface script
Post by: Garyhlucas on June 13, 2014, 21:16:42 pm
I have also created a script to generate spherical surfaces with the top of the sphere at Z=0, and a specified depth at a given radius.  If this is also of interest then it can be downloaded from:

http://www.cadplan.com.au/blog/index.php?entry=Creating-Spherical-Surfaces-with-CamBam (http://www.cadplan.com.au/blog/index.php?entry=Creating-Spherical-Surfaces-with-CamBam)

It uses a similar set of parameters as the curved surface script.

Again comments and bugs are appreciated.

Geoff

Geoff,
Can it do a spherical pocket?  I have a job to do with 12 spherical pockets for a bearing ball to sit in to build a 3D Delta style printer.


Title: Re: Curved surface script
Post by: Garyhlucas on June 13, 2014, 21:22:18 pm
Very nice. How about a  version to do this kind of part.  This is an 13.5" diameter flange that is being cut to fit against a 120" diameter tank.  I also cut one to go inside.
-----------------

Gary, one other word about that.

His script already does that kind of part -- in a sense.  It creates half of the surface on which to map your other features.  You can mirror the surface he creates, and it becomes a barrel-shaped surface like you want.

Lloyd
Sounds good Lloyd, I'll have to try that.

You know back in the 80s and 90s I did quite a bit of programming. I still do PLC programming and watching you guys here makes me want to give it a try again. As soon as I stop working 60 hours a week.


Title: Re: Curved surface script
Post by: lloydsp on June 13, 2014, 21:48:05 pm

Gary,
You wouldn't have to modify the program.  Just create one of his "half barrel" shapes, then use CB to reflect it and join it to the other half.

Lloyd


Title: Re: Curved surface script
Post by: Bob La Londe on June 13, 2014, 23:44:07 pm
You know CB can already extrude a surface from a polyline right?  Then you can rotate it and position it as needed.  Am I missing something? 



Title: Re: Curved surface script
Post by: lloydsp on June 14, 2014, 00:04:07 am
No, Bob.  You're right.  This just makes it more 'natural', and in fewer steps (with subsequent necessary confirmations).

Lloyd


Title: Re: Curved surface scripts
Post by: GeoffreyGRoy on June 15, 2014, 08:25:19 am
Following the comments and some further testing I can now release three scripts for constructing 3D circular surfaces, two updated ones and one new one.  In each case some bugs have been fixed, and in particular a facility has been added to specify a stepover for roughing and a stepover for finishing.  This can reduce cut times significantly while not compromising finish quality.  Also, it is now possible to produce a finish cut only allowing for a separate cut for roughing, either using the same script, or some other strategy.

More details can be found on my web site at http://www.cadplan.com.au (http://www.cadplan.com.au)

Comments and feed back most welcome.

Geoff


Title: Re: Curved surface script
Post by: lloydsp on June 15, 2014, 12:11:05 pm
Geoff,

Thanks!  That's good stuff.  I have a customer project with a need for the spherical pocket script coming up next month.

Lloyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on June 22, 2014, 01:23:56 am
I have now added another script to my small collection -to create a curved pocket using the same approach as the others.  In this case the curve is like a horizontal cylinder pocket by specifying:
  • The depth at the centre line
  • The distance from the centre line to the edge (i.e. half the length)
  • The width of the cut of the cylinder shape  

Please advise if any bugs are found.

Geoff


Title: Re: Curved surface script
Post by: lloydsp on June 22, 2014, 01:28:37 am
Thanks, Geoff!

These are good additions, and can be converted into a nice multi-pocket plugin with only a little work.

Lloyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on June 22, 2014, 02:42:03 am
Perhaps that is my next challenge, to learn how to write plugins!

Geoff


Title: Re: Curved surface script
Post by: lloydsp on June 22, 2014, 02:56:15 am
There have been numerous examples provided (in this sub-forum).

If you don't already have it, I suggest Visual Studio 10.0 as the platform.  It will allow VB and C# projects, and if not exactly 'natural' to an old command-line programmer like me, it works well.

Lloyd


Title: Re: Curved surface plugin
Post by: GeoffreyGRoy on July 03, 2014, 09:03:08 am
Here is my first  ::)  attempt at a plugin for curved surfaces, based on the previously written scripts.  I would appreciate some volunteers to test it out and find the bugs.

I am using CamBam 0.9.8N (which I think is the latest version) for development together with VS 2010.  I am getting some warnings in VS about "architecture mismatches" that do not seem to cause me any problems, but I am not sure what their significance will be for others.

The zip file contains the DLL and a short User Guide.

I would appreciate feedback.  No guarantees, of course.

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 03, 2014, 11:36:23 am
Geoff,
I FIGURED that those banging noises in the closet were you hammering out a plugin!

I'll check it out, ASAP!  Good deal!

Lloyd


Title: Re: Curved surface script
Post by: lloydsp on July 03, 2014, 12:43:59 pm
Ok... I have a feeling that 'units' might not be always 'current units'.

When working in inches, I find that the position and size of the feature have no immediately apparent relationship to the position and size of the seed line.  In this example, I made the extents of the feature the SAME as the seed line, but as you can see, it did not end up there.

Also, the algorithm blows up on a curved pocket using a flat end mill, creating the jagged line shown.  Since an endmill is inappropriate for a concave curve, anyway, you should disallow it in that circumstance or the hollowed spherical pocket.

More as I have time.

LLoyd


Title: Re: Curved surface script
Post by: BR52 on July 03, 2014, 14:45:28 pm
Hello Geoff,

Good work, of the script to plugin you was quick.
A tip when you create a plugin put the name
and the plugin version, example CurvedSurfacePlugin100.zip.
For source code put CurvedSurfacePlugin100-source.zip.
You said:
I am getting some warnings in VS about "architecture mismatches" that do not seem
to cause me any problems, but I am not sure what their significance will be for others.

You could put the source code to analyze the problem?

   Armando


Title: Re: Curved surface script
Post by: Garyhlucas on July 04, 2014, 03:20:57 am
On the subject of doing curved surfaces I have been doing a lot of curved surfaces lately by projecting a polyline like the one in this file on to a curved surface then using engrave with a ball mill.  The most tedious part is drawing this poly line.  It was done in Autocad by drawing an inner and outer arc, then using an array to generate parallel lines and trimming them to the arcs. 

It just hit me that Hatch in CB does it much faster! 

However joining all the lines with short lines to form a complete zigzag path is tedious. If you don't join them into one continuous path CB will insert a lift to safe height then rapid over and feed back down.  I need the tool to stay on the path the whole time.

Wait till you see the size of the part I am doing with my Minimill.  I hope to run the parts tomorrow and I'll post some videos.


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 04, 2014, 04:30:38 am
Dear Lloyd and Armando

I have fixed the problems with the END mill.  I appreciate that using and END mill for this type of work is not ideal, or perhaps even appropriate, but none-the-less I think I have fixed the bug.

With regards to units (inches vs mm) I have not been able to reproduce any of the problems you mentioned, could you explain a little further.  

What I have found, however is that my default parameters are set as mm units and if these were not changed to sensible inch units then strange things can happen.  The new version (1.01) includes the facility to automatically change the default (and current) values depending on the units selected.  While the default is still mm, if you have the CamBam units set to inches, these will be converted to  inch units when the plugin is (re)launched.  This will update the parameters - but not the geometry, of course.    There will be always some small round-off error in this conversion that will need to be adjusted/cleaned to suit.

I will publish the source code once we get most of the obvious/critical bugs sorted.


Geoff

(I have removed the attachment, see later post)



Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 04, 2014, 07:30:33 am
I have just noticed a couple of more bugs: now for V1.02:
  • removes a debug dialog
  • correctly creates a curved pocket along the actual length of the designated geometry seed.  Previously it was twice the length of the polyline.

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 04, 2014, 12:06:38 pm
Geoff, that's quick!

There is still a problem with the 'jaggies', even with a ball-end mill.  I generated one with a depth equal to the radius, knowing that was a singular condition.  I got three results that don't look right.

1) jaggies, still
2) an odd full-circle path at the beginning
3) all paths beginning far below the stock surface, guaranteeing 'rapid collision errors' when doing this in metal with a slow speed spindle.

I then generated one with depth equal to 1/2 radius.   The jaggies went away.  The circular path went away.  The paths below stock surface continued, and show a result that says that it's a sweep problem, with the sweep being only about three radians, but varying some.

The scaling bug seems solved, thanks.
LLoyd


Title: Re: Curved surface script
Post by: BR52 on July 05, 2014, 21:14:04 pm
Geoff,

The name of the DDL, you keep CurvedSurfacePlugin.dll
In the ZIP file, you put the version CurvedSurfacePlugin-1.02.zip

In Visual Studio you go in menu -> Project -> _______ Propeties...
Click on the button "Assembly Information..." and change the version of the your project.
See the image below.

Please put your source code here.
Has two experts in Visual here.

   Armando


Title: Re: Curved surface script
Post by: dh42 on July 05, 2014, 22:21:18 pm
Hello,

Very good and useful job that you do there ! .. congratulations !

++
David


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 07, 2014, 08:02:11 am
Thanks for the various feedback, I now have a new version (1.0.0.3):

(1) Various bug fixes, I keep finding more also; including one that produced multiple identical cut paths in some situations.
(2) Most "glitches" when using an END mill have been avoided, or substantially reduced.  These may still appear when the tool cannot reasonably follow the geometry.

(3) When the first (and last) cut starts below the material surface (for pockets) I have added a vertical lead-in (out).  This means that this path will cut at the specified feedrate (this may be greater than the appropriate plunge rate).  This workaround may be generally OK (or may not?) as the plunge distance is limited to the tool diameter/2.0.
Is there a way of specifying a lead-in for engrave MOPs? If not this may mean I need to manipulate the G-Code directly.
(4) There is now and option to report the cut statistics.

Please keep the bug reports coming, and in particular where the cut paths look odd.

thanks

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 07, 2014, 12:23:22 pm
Geoff,

The curves now look good, and since the plunge for a ball mill is only 1/2D, I see very little problems with it.  The old way, with the cut starts below the surface would have automatically allowed the use of the plunge rate, but it was very confusing to look at and understand.  Maybe I should bow my head and say, "sorry".  You might want to make those lead-ins an option.  (urk!)

The jaggies are still there, even when using a ball mill.
The odd full-circular paths 'above the plane' are still there when depth=radius in a curved pocket.

In my quick test, the Seed line is 2" long, starting at -1,0 and extending to +1,0.
Depth selected is -1  -- so it has a depth exactly equal to the curve's radius.
Ball nose cutter, diameter 0.375"
Stepovers and depth increments of 0.040"
angle of 5

I am confused by one thing.  I fired up your plugin, and the Edit/Intersection Points function became wonky.  It would show intersection points that did not exist.  For instance, select the outermost toolpath created by my test example above.  Without selecting any other lines, do an Edit/intersection points, and one will show up at the begin and end points of the line.  If you rotate the whole array of created curves along X in order to view the lines in the XY plane, it gets even stranger.  Then, intersection points show up at approximately -1/2D (almost where the vertical leadins stop, but not exactly there).  But since these are polylines, there are no 'intersections' there. ???


Lloyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 08, 2014, 00:04:13 am
Dear Lloyd

Thanks for the feedback, I will try to reproduce the problems and try to fix them.

Geoff


Title: Re: Curved surface script
Post by: pixelmaker on July 08, 2014, 11:30:23 am
hello Geoffrey

thank you for this plugin. It is very useful in many situations

If you are sometimes satisfied with this plugin, maybe you could give it  the possibility of translation. Lloyd and David know how to do that, so I understand it.

ralf


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 09, 2014, 09:14:29 am
Dear Lloyd, etc.

I have found the issue with the strange paths - it is do do with have a rather large tool for the size of the pocket.  In vers 1.0.0.4 you will see I have removed the paths that "overlapped" near the centre of the pocket on the basis that this material is in fact removed by the tool, and these paths are not necessary (and confusing).  This may place some stress on the lead-in paths as a full width cut may be required, so all I can suggests is that if a large tool is being used the feed rate needs to be reduced to allow this feed-in to happen without stress.  Perhaps there is a better solution?

There may still be some "glitches" in paths, especially with END mills, though I think I have got most of them - they can be minmised (and possible removed) by using a more accurate surface (i.e smaller accuracy value).

I have not been able to reproduce the "intersection" issue, though this may have related to the "overlapping" paths mentioned above.

I will now look up how to do a multilingual; app and see how I go with that, though help with providing translations will be appreciated.

thanks

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 09, 2014, 12:08:30 pm
Geoff,
Thanks for the update.

I don't think all the paths should be removed from the middle.  I was only referring to the toolpaths that described semicircles ABOVE the work surface.  Those below are appropriate.  Otherwise, as you say, the tool must do a full-width cut at 1/2 the tool diameter deep, and this could be bad. 

However, it's only the FIRST cut that requires that, and none other.  So all the other little short paths of an actual pocket would be wasted.

I guess someone could set up a separate MOp just for that first cut?

If I had my preferences, I'd personally like to see that 'inner cut' put back, but only for the first set of lines of a given width.  For instance, say the width was the tool diameter plus one stepover.  That would result in two sets of curves.  Just do the inner cut on the first.  Everything else will be cut only one stepover wide, so it won't stress a cutter.
---

The curves look good now.  However, there's a math error that has been around for a while, but I just noticed it.  I tried it on V1.0.3, and the same error is there.  With the example below, it makes everything .0001784584534017" larger.  Wider on both ends of the final cut, and deeper at the center by that same amount.  It's almost like an offset to the line that should be formed.

Again, seed line -1,0 to 1,0
Step increments and depth increment of 0.040
Target depth of -1.0
accuracy of 5

On the intersection points:  when you generate the lines, select only the largest one. (or do a "final cut").
Without selecting any other lines, do "edit/intersection points", and with a tolerance of 0.001". (I think I forgot to state the tolerance last time, and that's important)

You should see two points appear, but if you look at the points list, three are generated. I don't know exactly what is the problem that causes the points at all, but I know why there are three:

There is a "recursion" at the very end of the line, where the last point of the curve ends up higher than the start of the leadout.  I think that has to do with the math, also, because the difference is almost 0.008", which is larger than a rounding error or an integer/single/double conversion error.  Both the start point and end point of the line are higher than the ideal 1/2 tool diameter, and by the same amount.

Hope that helps.

LLoyd





Title: Re: Curved surface script
Post by: lloydsp on July 09, 2014, 12:18:43 pm
oops, sorry.

Here's the beginning of the line.  It should start at X-0.8125,Y0, then X-0.8125,Y-.1875.   Instead it starts like this:
-0.8126784584534017   0   0                                   0
-0.8126784584534017   0   -0.17932136486899958   0
-0.80887315654514724   0   -0.26647710761665766   0
-0.79891184150461869   0   -0.33667451662567066   0

And here's the end.  It should end with X0.8125,Y-.1875, then X0.8125,Y0.   But it ends like this.  (note the recursion at the end)

0.80175225167722042   0   -0.32056575005353682   0
0.810298786584156   0   -0.25018208170639944   0
0.8126784584534017   0   -0.17932136486900044   0
0.8125                           0   -0.18750000000000006   0
0.8125                           0   0                                   0
         
LLoyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 09, 2014, 23:57:42 pm
Many thanks, I will have another look at the problem with your data.

Geoff


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 10, 2014, 10:21:38 am
Dear Lloyd

The "error" of 0.0001745.... is caused by the accuracy (or lack of it) selected.  If you reduce the accuracy to, say 1 deg, then the problem goes away.  As the accuracy approaches zero (it can't actually) the error will be zero. The error is caused by the straight line approximations for the curve.  In the next version I will allow smaller accuracy values down to a value that will allow up to 1000 line segments to be generated in a single polyline. This limit could be increase if required, and the expense of computation time.

On the intersection points this issue is related to the fact (I think) that CamBam only tests relative X and Y coordinate values to be within tolerance (not the Z differences).  In this case (and depending on the accuracy level chosen) there may be a few line segments (in the polyline) that seem to "be close", especially those close to the near-vertical edge of the pocket.  If you change the tolerance then different numbers of "intersection points" will be generated.  Also if you decrease the accuracy value (so the curve has lots more segments) then more "intersection points" will be found.

The "recursion" near the end of the cut is also related to the accuracy setting, but it does appear in your sample in the range of 4.9 to 5.0, and not at other values! I will continue to look at this one.  I am also still looking at the odd "reverse" cuts near the centre of the pocket and putting back those central cut paths.

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 10, 2014, 12:13:34 pm
Ok, Geoff, I grok the parts about the intersection points and the recursion, but not the part about the inaccuracy of the start, end, and mid points of the line.

The rest of this is not criticism, just my "thinking out loud", trying to work through a rationalization of the problem.

There's always a price for simulating a curve with segments.  The middle of each segment would sit on a curve of a smaller radius than the end points would, and THAT is controlled by the 'accuracy' (the number of segments.  If you do it for 1000 segments, the difference in radii becomes infinitesimal, but for only two segments (90-degree 'accuracy'), the middles of the segments would describe a much smaller curve than the end points of each segment.   The error should be exactly the difference between the two circles circumscribed about and inscribed within a polygon of 'accuracy*2' segments.

That does not affect the positional accuracy of the end points of each segment.  With the circumscribed example, the end points should always lie exactly on the arc of the curve.

With a ball-nosed cutter,  I'll bet much of that 'rounding' error would go away if the arc started and ended exactly one tool radius below the surface, and exactly one tool radius in from the ends of the seed line, instead of some 'calculated' distances.  In the example I tested, the start and end points were -0.179321364869, which is a LONG way from -0.1875.  It's enough off to suspect that it isn't due to 'segmenting' of the arc; most especially, because the start and end points should be 'fixed', not calculated.

Lloyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 12, 2014, 08:27:17 am
Dear Lloyd and others

I am attaching my latest effort.  I think I have solved the problems with the strange over-cuts when using a larger diameter tool without removing the central cuts (as I did in vers 1.0.0.4), but further testing is required.

The accuracy issue is still there and will stay for the moment as it is a natural part of the method used to approximate the curved shape by a series of straight line segments, and only shows up (noticeably) when making a deep pocket (close to a full half circle) with a large diameter tool (relative to the size of the pocket) and with the accuracy set at a relatively low level (say 5 deg).  Generally the problem becomes insignificant by decreasing the accuracy value (more accurate curves).

I have increased the limits on the size of the generated polylines to allow for more accurate cuts to be made and also placed some reasonable limits on tool sizes to try to pick up extreme combinations.

Please keep the feedback coming as it is only through a active discussion that the bugs can be identified and resolved.

thanks

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 12, 2014, 13:01:54 pm
Geoff,
I'll play with it this evening -- tight work day, today.

However, I wanted you to know that I did some playing with CamBam's native functions to create a 'true' arc, convert it to polylines, and check the accuracy of conversion.

Yours is as good as the native CB functions, so I wouldn't worry much about it.

Lloyd


Title: Re: Curved surface script
Post by: lloydsp on July 13, 2014, 02:30:19 am
Geoff, very nice.  It does everything needed, so far as I can see.

If I had a 'wish' it would be to also set the tool type in the generated MOp.  Otherwise, it's easy to forget, and have to regenerate the g-code (IF I catch it!).

Technically, the tool type is not necessary to get the right code, but it's important to the prompts I get on my control when changing tools.

Lloyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 13, 2014, 03:34:38 am
I am experimenting with a multilingual version of my Curved Surface plugin - trying to see how multilingual forms are handled in VS2010.  The attached version may(?) have a small number of labels in German ( :-[-my poor translation) - not all labels, only some.  In theory if the set language is German these labels should appear.  I cannot test this here as I do not seem to be able to switch languages in my W7pro.

If any one can test/verify this please let me know.  If this works then I will be able to complete the translation task with the help of native speakers out there.

I am attaching the test multilingual version.  I am assuming that all the required resource files are packaged in the DLL.

Geoff


Title: Re: Curved surface script
Post by: dh42 on July 13, 2014, 14:08:47 pm
Hello Geof,

Cambam use a build-in translation system, not the regular Windows method.

You can find more infos and sources here.
http://www.cambam.co.uk/forum/index.php?topic=3553.msg29395#msg29395

then to do the translation file, you use this plugin.
http://www.cambam.info/ref/plugin.translations

++
David


Title: Re: Curved surface script
Post by: lloydsp on July 13, 2014, 22:06:59 pm
Geoff,
I will suggest one 'major' change.  From the standpoint of establishing the geometry, I find no need for a 'seed line'.  It would be so much better (IMHO) if you simply allowed the location, length, width, and depth of the entire object to be specified in the configuration window.  If you wished to leave the seed line capability in there, that would be fine, but I see no need to actually require it.

Obviously, I do not know how that would affect your code, but the parameters are already in the window, so I'm not sure why one could not simply enter them, rather than requiring the seed.  I can change the entries, so why can't I just enter them "from scratch"?

This is not a criticism.  The plugin works nicely.  It's just a 'wish list'.

Lloyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 14, 2014, 01:59:13 am
Dear David

Thanks for the tips, I will follow up.  I only came across the CamBam approach yesterday.

Geoff


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 14, 2014, 08:53:30 am
Here is the next version (1.0.0.6):
  • I have removed the requirement to select a geometry seed before launching the plugin.  This allows the geometry to be just defined in the UI dialog form. If the geometry seed is selected then the options available in the dialog are adjusted to match.  There are some additional warnings to ensure valid data etc.  If any errors are detected please let me know.
  • I have attempted to add the multilingual support as per the CamBam style.  This appears to work but I cannot fully test it.  For example, if I change the CamBam language to Deutsch, then I can see a few of the labels translated in the Form (where common text strings exist) and the others are still in English, and these are blank in the Translation table list. These need to be translated.  When I <right click> on one of these to use Google Translate on an entry I get an error message (as attached).  Any thoughts?  Otherwise the label tagging seems to have worked.  I think have managed to tag all the fields in the form, and passed all other messages through the translator.  If I have missed some please advise.  Once the text strings are translated I am not sure how these are to be distributed to interested users.

Geoff


Title: Re: Curved surface script
Post by: pixelmaker on July 14, 2014, 11:35:43 am
Geoffrey,
thank you very much. If you see at the screenshot all items are marked with a exclamation mark. This means that they are all in the translation list.

I will do the german translation this evening, I am still a bit tired from the party yesterday night.  ;D
The new german translation file comes tomorrow.

Thank you


Title: Re: Curved surface script
Post by: lloydsp on July 14, 2014, 12:17:00 pm
Nice work, Geoff!

Lloyd


Title: Re: Curved surface script
Post by: Bubba on July 14, 2014, 12:26:06 pm
 I am still a bit tired from the party yesterday night
=====================
I understand the reason for the party. Congratulations! ;D ;D

Thanks for your effort Geoff. Fellas like you and others here make CamBam what it is today. Of course Andy layed the foundation  for it.


Title: Re: Curved surface script
Post by: pixelmaker on July 14, 2014, 14:05:50 pm
Bubba,
I deserve no congratulations, I'm just spectator, but it has already pretty dragged to the nerves.

ralf


Title: Re: Curved surface script
Post by: lloydsp on July 14, 2014, 14:34:23 pm
Hmmmm... that must be one of those idioms that do not translate well.

What means "dragged to the nerves", and how does that apply to CamBam?

LLoyd


Title: Re: Curved surface script
Post by: dh42 on July 14, 2014, 15:28:52 pm
Hello,

Thanks for this release ;)

Geoffrey, can you allow more space for the text marked by the arrow ?

++
David



Title: Re: Curved surface script
Post by: pixelmaker on July 14, 2014, 17:01:29 pm
@ David: in the window of the translation plugin you have to mark the "Flag Untranslatet" checkbox. (screenshot).
@ geoffrey: I can increase the UI window, but the content sticks. I have also the problem with the space. The left-aligned text goes behind the option fields. I can use shortened text, but this is not very helpfull. Perhaps a right-aligned text for the options is better.

What you have to know with the translation plugin is, you have to call first every text, before it appear in the text list. If you never see the error warnings, this also not appears in the list.

ralf


Title: Re: Curved surface script
Post by: dh42 on July 14, 2014, 17:29:46 pm
Hello,

Nice job ;)

I've finished the translation for your plugin, except maybe some warnings (they appears in the translation list only if there are displayed at least one time). Now I must translate the PDF.

There is some little problems with the form.

1 - we can display more than one "setting windows" at a time (each time we use the menu)

2 - when CB is minimized, the setting windows stay opened.

3 - the setting windows can by hidden by the cambam windows.

If you want open your Form in modal mode (no other job can be done in cb until the Form is closed) in VB you must use

form.ShowDialog() instead of form.show()

If you want to keep the Form "non modal", you must check if the Form is already opened.


example: My Form is called "GM_Toolbox" (in the (name) property of the Form)

this code (in the 'sub' menu_clicked ) scans if this Form is already opened.

'exit if the Form is already opened

For Each fm As Form In Application.OpenForms
     If fm.Name = "GM_Toolbox" Then Exit Sub
Next fm


this other code attach the new Form to the main cambam Form, and allow the Form to disappear if CB is minimized, and also keep the setting in top of the CB windows.

'attach the Form to the main cambam Form, and open it

Dim f As Form = New GridManager.GM_Toolbox  '(here, GridManager is the Root name space in the project properties)
ThisApplication.TopWindow.AddOwnedForm(f)


f.Show() ' show the Form in non modal state.

++
David

PS: If you want to explore, the source code is here (file GridMng.cb)
http://www.cambam.co.uk/forum/index.php?topic=4189.msg29147#msg29147


Title: Re: Curved surface script
Post by: dh42 on July 14, 2014, 17:41:55 pm
Hello Ralf,

Yes I just find the trick after I write the message ;) thanks.

++
David


Title: Re: Curved surface script
Post by: Bubba on July 14, 2014, 20:03:27 pm
Ralf. I figured the party you mentioned was for the German side winning the world Cup. Sorry for creating confusion. ;D


Title: Re: Curved surface script
Post by: pixelmaker on July 14, 2014, 20:56:35 pm
hello Bubba
last weekend was the motogp weekend at Sachsenring, about 4 km from my house. Once a year 150000 people come to the small town that has just 16000 inhabitants. This party lasts 4 days. This year the party ended with a fantastic football game, which we have looked at the large video walls after the motorcycle race.
It rained in flow, Saturday and Sunday it was after 8 hours watching motocycle race also watch three hours of football. I do not know how I got back this morning. But this evening I found back my bike still at the parking at Sachsenring. It looks as if I had done it on foot.
Too many impressions for a weekend, and too many beer.

@geoffrey. The terms such as tool diameter are in use by CamBam.
It is not possible to use a short cut or a shorter translation without changing it also in Cambam.

ralf


Title: Re: Curved surface script
Post by: dwc on July 14, 2014, 21:17:02 pm
Ralf, that sounds like you must get hardship pay.
The discussion in our house was, do we watch the motogp replays or the final match.
Of course the match won.
Congratulations to Deutschland and Argentina for a very exciting match that didn't let up for the whole time.
And of course to Deutschland for winning (Götze der Verräter auch noch!).
Don


Title: Re: Curved surface script
Post by: Dragonfly on July 14, 2014, 21:18:19 pm
OT, well a bit :)
Sachsenring may be a small town but the name is well known in other places on the globe :)
My first personal memories start with this one :)

And congratulations for the WC title. I was rooting for Germany last night.


Title: Re: Curved surface script
Post by: pixelmaker on July 14, 2014, 21:41:46 pm
I see, this small village is known worldwide.

Quote
(Götze der Verräter auch noch!)
money makes the world go. And what is with Lewandowski.

The best scene for me this night was about 3 hours after the finished game, the Maracanã was empty, the nets from the goals were already suspended. The camera people were packing up together. And Poldi in the goal and his young son shot a penalty after another.
It was not Mario Götze who won this game, it was the one and only functioning team.

ralf


Title: Re: Curved surface script
Post by: BR52 on July 15, 2014, 01:45:58 am
Hello Ralf,

Keep this image on your heart.
Congratulations! here is a Brazilian who speaks.

   Armando


Title: Re: Curved surface script
Post by: Bubba on July 15, 2014, 01:53:44 am
money makes the world go. And what is with Lewandowski.
========
 ???


Title: Re: Curved surface script
Post by: pixelmaker on July 15, 2014, 10:59:56 am
Ok,
you are right Lloyd, back to topic.

Attached the newest translate_de file (german language file).Perhaps Andy can change this in the download.
It works up to CB Version P and includes most of the translatable plugins. I hope I did find all the error messages in the curved surface plugin. As I write, first I have to  provoke this errors before they appear in the language file.
Attached also the translated manual for the curved surface plugin.
I will publish this files also in my german cb forum (http://cambam.pixelmaker.eu/pages/forum/).

ralf


Title: Re: Curved surface script
Post by: lloydsp on July 15, 2014, 11:28:18 am
Ok,
you are right Lloyd, back to topic.
-----------
Oh... no, I wasn't suggesting 'back to topic'.  I was asking what the phrase "dragged to the nerves" means, as you applied it to a discussion of CamBam.

(Already in other sports, a score of 7-to-1 is becoming known as "A Brazilian" [sorry Armando! <G>])


LLoyd


Title: Re: Curved surface script
Post by: pixelmaker on July 15, 2014, 12:39:03 pm
Lloyd,
Quote
I was asking what the phrase "dragged to the nerves" means
Better perhaps "straines to my nerves" or " racks my nerves". Something like nibble down the fingernails and forget everything around.
I don´t use any software or book for translation if I write here. It depends of my daily condition how good they are. And the condition was not the best yesterday. It was the answer to bubbas post before and has nothing to do with cambam and the topic. But sometimes cambam can do this also.

ralf


Title: Re: Curved surface script
Post by: BR52 on July 15, 2014, 14:32:52 pm
Hi LLoyd,

I do not take it badly, us Brazilians we are one cheerful people and festive.

   Armando


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 16, 2014, 10:35:12 am
I am attaching the next version (1.0.0.7) of my CurvedSurfacePlugin

  • The UI has been made modal, this is really the best way to operate - thanks to David for the tip on how to do it.
  • I have added some extra space as required for "Tool Diameter" label.  The German translation seems to just fit now.
  • I have tried out the German translation from Ralf.  I think most of my text strings/ fields are tagged, but there are some more to translate. I have inserted a whole bundle of rather specific warning messages and they will keep popping up as various errors are detected.  There is almost a specific error message for each input field.
  • Are there any tips of the Google translate error I found earlier?

Please keep the comments coming  :)

Geoff


Title: Re: Curved surface script
Post by: pixelmaker on July 16, 2014, 12:16:04 pm
I think there is no automatic google translate since a year, google change something.
If the error message in cambam pops up just hit "continue".
But I can say that the automatic translation gives no useful translations for this technical terms, at least for german translations. There are different words for such terms like stepover in metal working or woodworking and different in the regions. You never find a automatic translation that works.
If you use a different file all other translations are lost.
It makes no sense that there are different translation files for the same language.
My last translation file includes also the translatable plugins.

Quote
I have inserted a whole bundle of rather specific warning messages
That is the challenge. I have to find them. They don´t appear in the language file before they are not opened in cambam one time.


ralf


Title: Re: Curved surface script
Post by: dh42 on July 16, 2014, 15:11:48 pm
Hello,

Thanks for the job ;)

- I don't know for other language, but for French I have a little problème with "Stepover"

This term is already used in the translation list, but with 2 entries.

StepOver -> the stepover in a machining operation ; in French -> Recouvrement.
Stepover -> the stepover in the "spiral" tools (flat spiral, trochoidal path ...) ; in French -> Pas

In the curved surface plugin, I need Stepover = Recouvrement

It will be fine if you can do something for that ...

I think, but I've not tried, that Andy has another way to create an entry in the translation list with a "key" that is not the English term used in the UI to solve the problem explained above ...

- The following texts stay untranslatable ; the type of tool (ball, end ..) and the "about" text.

I add the French translation file in attachment

- Another wish ... Remember the UI windows position in the registry. (look on GM_Toolbox.vb, GetSettings(), SaveSettings())

- Do you think that it's possible to add a way to machine by round trip (like mixed in other mop) ? .. I think that if you "revert" the polyline "on of two", that can do the trick.

- If the "Add mop" is checked, I get an alert "style engrave is missing", because I use Standard-mm style, and there is no "engrave" style in this library (but it exists in the Standard-in style library) ... maybe a field to select the style is needed.

- And I just find a little bug ; we can create more that one mop with the same name:

1 create a curved surface with the default layer name and "add mop" checked
2 delete the layer created by the plugin but don't delete the mop itself
3 redo a curved surface with the same layer name.

a new mop is created with the same name as the previous.

++
David


Title: Re: Curved surface script
Post by: pixelmaker on July 16, 2014, 15:50:32 pm
David,
is "stepover" not "passe latérale" ?

Quote
In the curved surface plugin, I need Stepover = Recouvrement
The value is, as I see, the distance between the toolpath at the outer circle. For me this should be the same then in CB the stepover (passe latérale)

For the german translation it is for stepover "seitliche Zustellung" and final stepover "letzte seitliche Zustellung". The final step over I can shorten in "letzte seitl. Zustellung"
You have luck that you have short words in france and in english.


ralf


Title: Re: Curved surface script
Post by: dh42 on July 16, 2014, 16:01:31 pm
Ah ah

"Passe latéral", yes, but if given in unit (the given value IS the spacing between toolpath), and "recouvrement" if the value is given in % (the value don't reflect the real spacing but a % of tool engagement) ...

And for the spiral tools, I use "Pas", because it's not necessary a "Passe" if it's just used as a drawing

subtleties of language !!  ::) .. I assume you have the same in German ..

++
David


Title: Re: Curved surface script
Post by: Bubba on July 16, 2014, 17:57:23 pm
You have luck that you have short words in france and in english
___________________==============

 ;D ;D LOL. I now what you mean.. ;D


Misspelled word ;D


Title: Re: Curved surface script
Post by: dh42 on July 16, 2014, 18:27:06 pm
Hello,

I find another little "bug".(not really a bug, say a defect)

If I select a circle to do a curved surface after than an arc has been used, the "From/To angle" values stays with the previous values (those of the arc)

++
David


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 19, 2014, 06:58:20 am
I am attaching the next version 1.0.0.8, some changes and probably still more to come.

(1) I have added some more translatable labels, where missed previously, including the contents of the tool type combo.  There are also some new warning messages that will appear at various times.  If it helps I could provide the Word file for the User Guide, if this helps translation.  The version included in the zip has been updated.

(2) The position of the UI form on the screen will now stay at the most recent position when re-launched, within a CamBam session.

(3) I have now introduced a new option to "Round Trip Cut" paths.  Every second cut path is reversed, this will substantially reduce "air" time.  I assume that the setting for "Maximum Cross Over" distance is used to determine if the cutting tool withdraws, or not, between these cuts.  I think it is safe to set the "Maximum Cut Over" to 1.0, or just larger than the Stepover value assuming that for rough cuts the Stepover is likely to be 40-100% of tool diameter.

(4)  I have changed the "remembered" values for "From Angle" and "To Angle" so that if a Circle seed is selected after an Arc then the defaults are 0 and 360 deg., otherwise the last used values are used for the defaults.  I hope this helps.

I am having trouble with two suggestions, and need some help or pointers to sample code:

(1) Currently it is possible to create a second MOP with the same name as an existing one.  CamBam does not object to this, but it would be better to, perhaps, add a sequence number to the name.  I cannot figure out how to discover the names of existing MOPs.

(2) With regards to the missing "engrave" style, could I please have some assistance.  As far as I know the "engrave" style is defined by this name (literally), and is required for this type of machining operation and I would have expected it to be present.  Perhaps I am missing something!


Thanks for all the feedback and suggestions.

Geoff




Title: Re: Curved surface script
Post by: dh42 on July 19, 2014, 16:33:02 pm
Hello,

Thanks for this update  ;)

Quote
(1) Currently it is possible to create a second MOP with the same name as an existing one.  CamBam does not object to this, but it would be better to, perhaps, add a sequence number to the name.  I cannot figure out how to discover the names of existing MOPs.

I'll take a look

Quote
(2) With regards to the missing "engrave" style, could I please have some assistance.  As far as I know the "engrave" style is defined by this name (literally), and is required for this type of machining operation and I would have expected it to be present.  Perhaps I am missing something!

Yes that work , sorry, the pb is just that I've no style with this name in my standard-mm library (the styles names are in French ... and customized )

++
David


Title: Re: Curved surface script
Post by: pixelmaker on July 19, 2014, 17:38:39 pm
David, I have a "engrave" stile in every installation in "standard-mm". It should be a standard style.


ralf


Title: Re: Curved surface script
Post by: dh42 on July 19, 2014, 18:04:44 pm
Hello Ralf,

I've deleted the styles I don't use, or renamed it in French ; it's the reason why I've no engrave style. (except in standard-in that I never use)

++
David


Title: Re: Curved surface script
Post by: dh42 on July 19, 2014, 20:07:24 pm
Hello,

Quote
(1) Currently it is possible to create a second MOP with the same name as an existing one.  CamBam does not object to this, but it would be better to, perhaps, add a sequence number to the name.  I cannot figure out how to discover the names of existing MOPs.

A VB script that show the MOP name in the active part.

Code:
' New CamBam VBScript
' give the name of the MOP in the active part.

sub main

Dim current_part As CAMPart
Dim moplist as MachineOps 'a list of MOP
Dim mop As MachineOp    'a mop

'insure that a part exists to avoid error, create one if none.

CamBamUI.MainUI.CADFileTree.CADFile.EnsureActivePart(False)

'get a pointer to the current part

current_part = CamBamUI.MainUI.CADFileTree.CADFile.ActivePart

'get a pointer to the MOP list in this part

moplist = current_part.MachineOps


'scan the MOPs in the current part and give the name.

For Each mop In moplist
            MsgBox(mop.Name)
Next

end sub

++
David


Title: Re: Curved surface script
Post by: lloydsp on July 19, 2014, 20:13:42 pm
That's a good sub, David!

In the library, now!

<G>
Lloyd


Title: Re: Curved surface script
Post by: dh42 on July 19, 2014, 20:25:20 pm
That's a good sub, David!

In the library, now!

<G>
Lloyd


Added in the Snippet thread ... (I kinda forgot this thread  :-[)
http://www.cambam.co.uk/forum/index.php?topic=3878.0

++
David


Title: Re: Curved surface script
Post by: dh42 on July 20, 2014, 01:08:27 am
Hello,

When we create a spherical surface/pocket with a "seed circle", we get a path that fill all the "seed circle" and with a diameter for the "sphere" that is depending of the "Target depth".

The diameter of the the sphere is the same as the "seed circle" only when "Target depth" is equal to the radius of the "seed circle" ; if "Target depth" is smaller than the radius of the "seed circle", then the diameter of the sphere increases.

This little excel sheet allow calculation of what must be the "seed circle" diameter to obtain a given sphere diameter for a given Target depth. (asked by a guy on a French forum, the goal is to do a "stamp" for a given sphere diameter)

++
David


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 20, 2014, 02:46:37 am
Dear David,

Thanks for the tips on the MOP details. 

I have now included this in the plugin, so that a numerical sequence number is added to the MOP name if a duplicate is found in the active machining part.

Version 1.0.0.9 attached.

If it is of general interest I could easily add a capability to identify (and perhaps adjust) the actual surface curve  radius in the UI as I have this value available in the code.


Geoff


Title: Re: Curved surface script
Post by: dh42 on July 20, 2014, 15:11:54 pm
Hello,

Quote
If it is of general interest I could easily add a capability to identify (and perhaps adjust) the actual surface curve  radius in the UI as I have this value available in the code.

Yes, I think it can be an useful option that increase the power of this nice plugin.

Edit: The type of tool selected in the plugin is not passed to the MOP.

++
David


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 21, 2014, 07:31:57 am
Dear David,

Here is the next version 1.0.0.10, with:

(1) The tool profile name is now placed in the MOP.  Given the tool number will depend on each user's tool library setup I don't think I can reasonably, or reliably (or easily?), set the tool number.

(2) I have added a facility to determine the cut surface radius from the given geometry, and to adjust the geometry (radius or To Point) to suit a nominated cut surface radius - keeping the From Point or Centre fixed.  I have rounded the results to 5 decimal places, hopefully this is adequate for both metric and imperial users.  Converting backwards and forwards will, of course, introduce round off errors.  As far as I can tell the results match your cleaver Excel spreadsheet.

thanks for the feedback

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 21, 2014, 11:50:55 am
Thank you, Geoff!  I know from prior efforts how much work it can be to get a 'clean' plugin that seems to satisfy all the wish-lists.

LLoyd


Title: Re: Curved surface script
Post by: dh42 on July 21, 2014, 14:18:13 pm
Hello,

Thanks for this addition.

The first time I run the plugin, no problem, but after this, even if I close and re open Cambam, the arrows for the new options disappears ... (but are still working)

++
David


Title: Re: Curved surface script
Post by: lloydsp on July 21, 2014, 14:52:18 pm
I get no arrows at all, only little 'box' characters, usually indicating an unprintable character.

And more stuff happens... but I just don't have time right now.  Later.

LLoyd


Title: Re: Curved surface script
Post by: dh42 on July 21, 2014, 17:55:33 pm
Hello Lloyd,

For me the arrows appears on the first run of the plugin, and are replaced by the unprintable ctr when I clik on the radio button to select a surface type ... after this, they never come back ..

++
David


Title: Re: Curved surface script
Post by: Bubba on July 21, 2014, 18:46:19 pm
Nice and practical plugin. Thank you, Geoff!

David, just tried the latest version v 1.0.0.10 and the arrows always show and it generates the toolpath as expected, or I'm not understanding what it supped to do ;) ;D


Title: Re: Curved surface script
Post by: dh42 on July 21, 2014, 18:53:59 pm
Hello Bubba,

Yes, it works well, its just a cosmetic problem ... i'll test on W7 soon, to see if it has something to do with the Windows version (I use XP pro)

++
David


Title: Re: Curved surface script
Post by: dh42 on July 21, 2014, 19:08:21 pm
Re

Tested, no problem with the arrows on W7, it's only on Win XP that they are replaced by a small rectangle ...

Edit: The text "surface curve radius" is not translatable.

++
David


Title: Re: Curved surface script
Post by: lloydsp on July 21, 2014, 19:27:42 pm
It's more likely the font.

The fact that it displays _something_, just not the desired character, is usually an indication of that.

Lloyd


Title: Re: Curved surface script
Post by: Bubba on July 21, 2014, 20:27:11 pm
David, I should have said the plugin was used in Win7 64 bit. Still plying with it and I like what I see. It is a great addition to CB.


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 21, 2014, 23:40:25 pm
Dear All
The two characters are the unicode chars  "\u25b2" and "\u25bc".  There might be an issue with the installed character sets :-\.

If this proves to be an issue I will change them back to something more common like ^ and v (but less fancy!)

thanks

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 22, 2014, 00:09:19 am
That font is a "for fee" font.  If you don't have the particular MS office packages which include it, then it is not on your system.

Microsoft SAYS it's 'automatically included' in XP.  That's just not true.  Maybe _some_ releases of XP, but I don't have it, and I'm current.


LLoyd


Title: Re: Curved surface script
Post by: dh42 on July 22, 2014, 15:43:51 pm
Hello,

Maybe its more easy (and sure) to replace it by picture of arrows instead of character ?

++
David


Title: Re: Curved surface script
Post by: lloydsp on July 22, 2014, 15:55:00 pm
+1
L


Title: Re: Curved surface script
Post by: pixelmaker on July 22, 2014, 16:55:22 pm
+1

This plugin works also with the linux version of CB, but not a unicode font, only tt fonts,

ralf


Title: Re: Curved surface script
Post by: Bubba on July 24, 2014, 20:13:33 pm
Hi Guys. Is it possible to cut ellipse with this plugin? If so, how? Thanks.


Title: Re: Curved surface script
Post by: dh42 on July 24, 2014, 20:23:02 pm
Hello,

The plugin create only circular surface, but maybe you can alter the toolpath with the transformation matrix.

++
David


Title: Re: Curved surface script
Post by: pixelmaker on July 24, 2014, 22:05:35 pm
Bubba,
Draw your ellipse, center it and cut it in a half ellipse.
With ->Edit -> Polyline -> Remove Arcs and a small value change the arc in small straight lines.
Turn the half ellipse around 90° with the matrix
Make a Array copy of this polyline, the Offset is the Step Over, the numbers of copies are the with of the pocket.
Use a engraving toolpath

This way is the same way the plugin works. If the form if different from a half circle you can do this steps "by feet"

ralf


Title: Re: Curved surface script
Post by: Bubba on July 25, 2014, 00:39:13 am
Thank you guys. I try the other options.


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 25, 2014, 09:38:21 am
A number of changes have been made to my CurvedSurfacePlugin including some fixes, version 1.0.0.11 is attached.

(1) The Unicode characters on the buttons to calculate surface radius have been replaced by bitmap images.  These should be more robust across operating systems.

(2) When a particular surface type is selected only the relevant fields are now enabled for input.

(3) An error on surface radius calculation for invalid depths has been corrected.

(4) It is now possible to cut half curved pockets by selecting the first half (a cut from the surface to the target depth) or the second half (a cut from the target depth to the surface) of the pocket.

(5) Lines and PointLists can now be used as geometry seeds.  A line is generated when a rectangle shape is exploded into 4 Lines and one of these can be selected as a seed.  The first two points in a PointList can also be used.  These options improve the number of geometry items that might exist in the CamBam model that can be selected to seed the required surface.

(6) The direction of  the seed line can now be reversed in the UI (i.e. the From and To points can be swapped).

Having created the plugin  I have been testing it by creating various cut combinations from a variety of surface cut types as shown the attached images for a small wooden dish I have made.

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 25, 2014, 11:35:55 am
Geoff,
Those 'cove' cuts will be useful.  Thanks for the update.

Lloyd


Title: Re: Curved surface script
Post by: pixelmaker on July 25, 2014, 17:36:39 pm
Hello Geoff,
you do a lot of work with this plugin for us and I am not happy to tell you that something don´t work.
"A Line is created by drawing a PolyRectangle, then exploding it."

This don´t work for me. Only pointlist and polyline works, but not the line.

ralf


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 26, 2014, 03:30:54 am
Dear Ralf

If you use a PolyRectangle the steps are:

(1) create the rectangle
(2) explode it
(3) deselect it
(4) select one line only

then I think it will work.  If not, please give me some more details.

Geoff


Title: Re: Curved surface script
Post by: dh42 on July 26, 2014, 13:20:55 pm
Hello  ;),

As Ralf I can't works with the Line, I tried with a line from an exploded rectangle, and from an exploded polyline. Nothing happens or the plugin uses the previous values that remained in the boxes.

(with 'line' and in a 'first run' in a CB cession, the boxes stay empty)

++
David


Title: Re: Curved surface script
Post by: dh42 on July 26, 2014, 14:04:13 pm
Re

I just found that the Surface Curved Radius has a problem.

Example: Radius 30, Target depth -20 -> the surface curve radius must be 56.569 and the calculation on the plugin give 32.50000 ... (and only .50000 is visible in the box the 2 first digits are hidden on french version ; I must copy/paste the field to see the full value)

If I try to enter data in the curved surface the 2 first digit entered are also not visible (the first 2 characters) but the calculation seems to be OK (result = 28.28427

The problem with the hidden digits appears only on the french version (and maybe other language); I think it's a problem with the label placement and also text alignment the label cover the field. (when text is at the left side of a field, the alignment of the text must be to the right)

I also add the French translation file.

++
David


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 27, 2014, 02:24:32 am
Many thanks for the feedback, it helps to get things right 8)

I have added some extra space for the label for the "Surface radius" field, this should allow the French translation to fit without running into the text field.  There may be other labels like this, if you let me know I can try to accommodate. 

Otherwise, I think the text (number) fields are sufficiently wide to accommodate number values.  Please suggest improvements if required.

I think you will find the calculated surface radius is correct for a seed radius of 30, and a depth of 20 the surface radius is 32.5, this also matches the earlier provided Excel SS result.  Did I miss something?

I think I have discovered the bug with the "Lines" - a trap for beginners (it was OK in English, but not on other languages ???).  Please try this new version out.

I have also fixed a small bug that allowed invalid surfaces types to be selected by default, if the current seed was different from the previous one.

Geoff



Title: Re: Curved surface script
Post by: dh42 on July 27, 2014, 15:49:39 pm
Hello,

Quote
I think I have discovered the bug with the "Lines" - a trap for beginners (it was OK in English, but not on other languages Huh).  Please try this new version out.

Ok that works ;)

Quote
I think you will find the calculated surface radius is correct for a seed radius of 30, and a depth of 20 the surface radius is 32.5, this also matches the earlier provided Excel SS result.  Did I miss something?

Yes it's OK, it's me that melt radius and diameter  :-[  sorry ..

Good job .. (yesterday I fought two hours without success to make a very simple trick ... A doc of CamBam functions really miss ... it's like exploring a galaxy without map  :o )

++
David


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 30, 2014, 00:07:19 am
I am contemplating releasing the sources for my CurvedSurfacePlugin under the GNU LGPL.  I assume this will mean that it can be freely used without problems together with CamBam, and the the sources will be open for those interested to see some of the programming tricks (and identify any more bugs etc) and use for their own plugin development.

I would appreciate some feedback on whether this is the best or appropriate strategy for CamBam users.

I will proceed with the release if no more bugs are reported in a few days, or if there are no more suggestions for improvements.

thanks

Geoff


Title: Re: Curved surface script
Post by: lloydsp on July 30, 2014, 00:10:26 am
Geoff,
However you release it, thanks for the effort to-date.

The lesser gpl will work, yes.  We'd love to see what you've done.  "Tricks" are most appreciated here!

Lloyd


Title: Re: Curved surface script
Post by: GeoffreyGRoy on August 08, 2014, 03:49:12 am
Dear All

I am now posting a new version of  my CurvedSurfacePlugin (as vers 1.0.1) as well as the sources for information, interest, etc  ;).  There are no real changes, just the addition of the LGPL license information.  There will be some minor text message changes to reflect this, for translation purposes.

The sources are set out as a VS2010 project.  I have removed the Debug and Release folders to keep the size down.

I am quite happy to receive new suggestions for improvements and, of course, any bugs.

thanks

Geoff




Title: Re: Curved surface script
Post by: dh42 on August 10, 2014, 17:36:10 pm
Hello,

Thanks for source file  ;)

++
David


Title: Re: Curved surface script
Post by: GeoffreyGRoy on July 10, 2019, 06:45:29 am
I have found a small bug in this plugin that appears when using Arc objects.  The direction of the Arc definition needs to be counter-clockwise.  The new version of the plugin (1.0.2) will automatically reverse the Arc direction if required.

Also, I have made a small improvement to the naming convention for the new layers that are created for each added surface.  Now, an increasing sequence number is added to the default name to avoid conflicts, if the user does not provide a unique name.

Geoff