Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - EddyCurrent

Pages: [1] 2 3 ... 7
1
Members Projects / Cambam section now at MYCNCUK
« on: May 26, 2025, 14:23:17 pm »
Lee, the main man at MYCNCUK was kind enough to add a Cambam section at my request.
It's an alternative to cnczone if anyone desires that.

https://www.mycncuk.com/forums/350-CamBam

2
Scripts and Plugins / New Plugin - QR Code generator
« on: July 22, 2023, 11:17:09 am »
In the zip file there are three files;

QR4CB.dll - this is the plugin
QRCoder.dll - this is a pre-built library by a third party
LICENSE.txt - this is the licence file for QRCoder

The third party QRCoder software came from here; https://github.com/codebude/QRCoder

The files must be placed in the correct folders;

QR4CB.dll - this goes into the "Plugins" folder as usual (be sure to "Unblock" it first, https://cambamcnc.com/forum/index.php?topic=5986.msg50892#msg50892 )
QRCoder.dll - this goes into the same folder as CamBam.exe
LICENSE.txt - tthis goes into the same folder as CamBam.exe

Once installed the plugin will appear in CamBam's Plugins menu as "QR Code"

1. Select the output type, Pointlist, circles, squares, you can choose more than one option.
2. Set the width / height of the QR Code
3. Enter some text such as a URL, a preview is shown in the form
4. Press the "Generate QR Code" button when ready, or Cancel.

A new layer is created with the selected output geometry in it, it's colour is set to Black.
The QRcode has a border of 4 blocks.

The idea is to create pockets from the circles or squares that can later be filled with black paint etc. or use a 3 ply laminate with contrasting centre layer.
Using the pointlist or cirlces it is possible to use a drilling operation to highlight the QR code blocks.

Point your phone at the attached image to read my message. ( it's nothing bad, just some text  ;D )

I would like to expand it for use with a laser but currently the problem is how to easily and quickly fill the black blocks with solid colour.

3
Members Projects / Andy talking about robots
« on: March 04, 2023, 10:38:58 am »
For your entertainment, here is a video of Andy talking about robots.
He starts at about 24:45 minutes in.

https://www.youtube.com/watch?v=mNsf3dwmfZA


4
CamBam plus feedback / Future of CamBam ?
« on: July 06, 2022, 13:39:48 pm »
It looks to me like Andy has new interests.

"Andy will talk about how robots took over his life ..."

https://www.warwickdc.gov.uk/info/20832/spark/1773/spark_speaker_bioss

scroll down the page about 2/3 rds.


5
Members Projects / The first vacuum table ?
« on: March 02, 2022, 20:16:53 pm »
I've been reading the autobiography of Sir Henry Bessemer, I hadn't realised he put forward a method of holding plate glass using a vacuum table and this was displayed at the 1851 Great Exhibition.
It looked just like a modern vacuum table and my question is , was this the first appearance of such a device ?

6
Scripts and Plugins / Formatted Rename for MOP names in the Tree view
« on: February 19, 2022, 12:36:56 pm »
In response to this feature request; https://cambamcnc.com/forum/index.php?topic=9584.msg74188#msg74188
this plugin can be used to bulk rename MOP Names in the Tree view using a "Format String" enabling various parameters to be included in the name.

Install the plugin as usual.

It will appear in two places, Plugins->Formatted Rename
and the Right-Mouse-Click ContextMenu when on a selected MOP Names(s) in the Tree view.

THE KEY POINT IS, you can rename ALL the selected MOPs according to your "format" with one mouse-right-click and a left click.

PLEASE READ THE INSTRUCTIONS BELOW

Instructions.

This plugin appears in 2 places;
1.  Plugins->Formatted Rename
2. Right-Mouse-Click ContextMenu when on a selected MOP Names(s) in the Tree view.

Using plugins->Formatted Rename, a Form will appear, see attached image.
This is used to set the format of a text string that will replace the existing MOP Name(s).
Once this has been set the Form can be closed and any text entered will be saved in Windows' Registry.
There is no need to revisit this Form unless you want to change the format.

To use this plugin in the future, all you need to do is select any MOPs to rename in the Tree view and Right-Mouse-Click, you can
select multiple MOPs to rename.
Choose from the context menu, "Formatted Rename" and all selected MOP names will be changed to the format previously set in the Form.

If these are not as required, Ctrl+Z Undo will revert back or you can reopen the Form and change the format if that was the problem.

Formatting the Text
-------------------------

The format string consists of a series of upper case characters separated by your choice of delimiter.
Obviously the delimiters have to be valid for use in the MOP Name and can also consist of lower case text.
On the Form is a "key" showing the upper case commands.
There is a text box for Custom Text if required.

Example1

T P,D Y
will yield something like, "5 End Mill,6 Profile"

Example2

If custom text is "Version 1" and the cb file is called "Widget One.cb"

F S-C T/D
will yield something like, "Widget One My Style1-Version 1 35/0.25"

Example3

S , Y , tool-T , diaD , A / G
will yield something like, "My Style 2 , Pocket , tool-20 , dia1.5 , Part1 / G-CODE"

Example4

If you have already renamed the MOP there is an "N" option to include the current name.

EDIT.

Version 2 attached

Added option "G", if this letter is included in the format string it will check to see if any code has been inserted in "Custom MOP Footer" or "Custom MOP Header"
If code was found then the word "G-CODE" will be added to the MOP Name as an indication that custom code was added to that MOP. (see Example 3 above)
This is in reply to this feature request by Bob, https://cambamcnc.com/forum/index.php?topic=9103.msg71459#msg71459

7
Bug Reports / Draw->Pointlist->Divide Geometry bug
« on: December 26, 2021, 11:24:49 am »
See attached cb file.

With polyline 1 use, Draw->Pointlist->Divide Geometry, try a value of 20, it works fine.
Now with polyline 2 ( it's been rotated 90 degrees so it's standing vertical in Z) do the same thing, it does not work correctly.

The problem seems to be that CamBam does not calculate "polyline perimeter" correctly with polyline 2 and hence cannot divide the geometry correctly.

The good news is that the Pointlist can be rotated successfully so that's the workaround.

8
Scripts and Plugins / New Plugin - 2 Rail Sweep
« on: December 25, 2021, 11:17:30 am »
Merry Christmas !

A "2 rail sweep" is a common function in 3D graphics software.
Two 'rails' are selected and then a 'cross section', the plugin will create a surface between the rails using the cross section as a profile shape. It will scale the cross section according to the distance between rails.

1. following installation of the plugin it will appear in the Plugins menu as "Sweep2"
2. run the plugin, it will ask to select 2 rails.
use the normal method of selecting two objects, i.e. select one then while pressing Ctrl select the other, now press Enter.
3. it will ask to select a cross section object, select one then press Enter
4. the surface will be created.

Tips for use.
1. the rails must have their start points at the same end otherwise the surface will be twisted.
2. it's best to draw the rails and profile lines starting at the left hand end.
3. if things are not as you wish, Ctrl + Z will undo the operation.
4. if the surface is black use, Edit->Surface->Invert faces
5. if the surface is concave rather than convex,  rotate it 180 degrees.

A sample cb file is attached.

Objects selected can be, polyline, spline, circle, arc, rectangle
the plugin will convert them to polylines internally.

Edit: 27 Dec. 2021

Version 2 attached
1. added an options form, when the "Save" button is pressed all parameters are saved to Windows' Registry for subsequent operations.
2. it will appear in the Plugins menu as "Sweep2 Options"

The options are;

"Rail Resolution" : this is the number of surface facets along the rails, higher value gives smoother surface but keep it as low as possible. (default is 100)
"Cross Section Resolution":  this is the number of surface facets along the cross section, higher value gives smoother surface but keep it as low as possible. (default is 100)
"Height" : the height of the cross section and hence the surface at any point.
"Scaled" : the height is scaled according to the distance between rails at that point.
"As Cross Section" : the height will remain constant throughout at the actual height of the cross section object.

Edit:
version 3 attached.
1. A value can now be entered for the height of the surface.

9
Related Softwares / Rhino8 work in progress
« on: December 06, 2021, 20:40:19 pm »
McNeel have the next version of their 3D graphics software, Rhino (Rhino8) available as a beta work in progress.

One of the things I like about it is that scripting has been implemented in C# and Python using a built in editor.

10
Scripts and Plugins / PseudoGrid new plugin to make a custom size grid
« on: October 28, 2021, 19:02:31 pm »
Following on from this thread; https://cambamcnc.com/forum/index.php?topic=9339.msg72908#msg72908

Please find attached version 1.0 of the PseudoGrid plugin for CamBam v1.0


1. Once installed the plugin will appear in CamBam's "Tools" menu as "PseudoGrid"
2. clicking on this will open a form allowing these options;

Bottom left corner X of grid
Bottom left corner Y of grid
Width of grid
Height of grid
X spacing
Y spacing
Add a Pointlist to the intersections
Choose colour of the grid

3. On the first run some default values are used, change these to suit before clicking the "Ok" button.
The new values will be saved in Windows Registry and will be used on the next use.

4. The option to add a pointlist is to ensure a snap point exists at each intersection, without it there would be no snap point
The "Snappy" plugin could be used to allow snapping to the intersections without a pointlist but does not work if the layer is "locked"

5. The grid layer is "locked" to prevent the user selecting any part of it.

6. You should hide the real grid for clarity and enable 'snap to object', I will put these two actions into the next version of the plugin.

7. Following a click of the "Ok" button the grid will be produced, you should now drag the new Layer called"Grid" to the top of the Layer list, this will ensure it is at the 'back' so that all other layers will draw on top of it.

******   If anyone knows how to achieve moving the layer to the top of the Treeview via the plugin, please let me know.

Edit: version 2.0 attached


11
While working on the fret slots plugin I discover how to draw a Spline curve that follows part of the perimeter of a circle. It has it's limitations though and the user is responsible for choosing sensible and feasible values.
e.g. you can't have a length of 100 in a 40 radius circle, also it would not produce a semicircle but is fine for more gentle curves.

It's just a 3 point spline or a "degree 2" curve and that's where the limitations come in.

we need to know in advance;

"length". this represents a straight line distance between the spline end points, same as the chord of a circle.
"radius", this is the radius of an imaginary circle that the spline curve should follow.

"height" is calculated first then passed to the DrawSpline method.

Code: [Select]

 public double CalcHeight(double length, double radius)
        {
            double half = length / 2;
            double length1 = Math.Sqrt((radius * radius) - (half * half)); ;
            double height = radius - length1;

            return height;
        }

 public Spline DrawSpline(double length, double height)
        {
            // need to start with a Polyline,  Spline(Polyline, tolerance)
            Polyline plist = new Polyline();
            plist.Closed = false;
            plist.Add(-length/2, 0, 0);
            plist.Add(0, height, 0);
            plist.Add(length / 2, 0, 0);

            // using a large tolerance produces a smooth spline, thanks David (dh42)
            Spline sp = new Spline(plist, 1000);

            return sp;
        }


12
Scripts and Plugins / New Plugin to cut fret slots for guitar fretboards
« on: August 15, 2021, 20:21:23 pm »
In response to this thread; https://cambamcnc.com/forum/index.php?topic=9258.msg72365#msg72365
I could not resist creating a new plugin as it's also going to help me.

Fret Slots plugin

Please download the attached "Fretslots_v1.zip" file, unzip it, unblock it, install it, restart CamBam
Once installed it appears in the "Plugins" Menu as "Fret Slots"

How to install a plugin; https://cambamcnc.com/forum/index.php?topic=5986.msg50892#msg50892

The form defaults to mm values on the first run but once changed and the "Ok" button pressed any new values are stored in Windows Registry.

1. populate the form to suit then press the "Ok" button.
2. The fret slots will be created in the Y axis, they will be Splines rotated through 90 degrees, aligned so the very top  = Z0, and spread out according to the scale length used.
The zero fret or nut position is at Y0.
All of the curves can be selected and rotated into Y if required and/or moved to a new location.
3.  "Slot over/under cut" this allows the slot to either extend beyond the sides of the fretboard (+ve value) or stop short of the sides (-ve value)
4. "Zero Fret ?" if the checkbox is checked it means, insert a  zero fret, the slot for this will be cut along with all the others.
    if the checkbox is unchecked it means, no zero fret, and a flat bottom slot will be cut using a Profile Mop to indicate the front position of the NUT.

*IMPORTANT, the Profile Mop is set to "Inside", in my tests this puts it to the headstock side of the fretboard which is correct but YOU MUST verify this before cutting by checking the created toolpaths !
5. Each time the "Ok" button is pressed a new Layer is created and a new Part, their names contain some of the parameter values for reference.
6. Under each Part a Engrave Mop is created for the fret slots, and if no zero fret is required, a Profile Mop for the nut position.
7. Number of frets can be 12 to 24

Please give it a try and feedback as necessary.

Edit: 07 December 2021

Version 2.0 attached

Added "Compound Radius" checkbox.
A compound radius is based upon a cone and uses various parameters with calculations to determine the radius at all fret positions.
If a compound radius fretboard is selected then CamBam will draw the fret slots accordingly and will also report the radius at each fret in the bottom message window for reference.

Works for inches or mm

Edit:
Version 3.0 attached

13
Specifically for these parameters;

Text Curve Tolerance
Spline to Polyline Tolerance
Arc Display Degrees
Arc Fit Tolerance
Spline Curve Steps
STEP Resolution

Thank you.

14
In response to some recent posts, please find attached a plugin that allows the user to choose which object to select when there are several objects placed exactly on top of each other.

I got the idea from Rhino CAD so I used a similar look for the user interface.

A sample cb file is also attached for testing purposes.

Download and install the plugin as usual, it will NOT appear in any menu.

To use;

Please refer to the attached image.

1. While pressing the "X" key on the keyboard, left click the mouse and drag a small selection window over the required geometry.
Note: you do not need to fully enclose the required geometry in order to select it, I have used a "crossing window" method for selection.
2. If there are multiple objects superimposed on top of each other, a small window will open showing the Primitive IDs of those objects along with a checkbox for each.
3. Tick the checkbox for those objects you wish to select, either one or multiple.
4. click the OK button on the pop up window and those objects will now be selected as you would normally expect.

It should work for; polylines, circles, polyrectangles, arcs, lines, splines.

This is for CamBam v1.0 only.
 

15
Related Softwares / Rhino7 now on sale.
« on: November 27, 2020, 15:42:03 pm »
I have no connection with Rhino or McNeel other than a user.
After using the Rhino7 work in progress version for a while, I can report that the release candidate is available for purchase or upgrade from a previous version.

The main selling point is the inclusion of SubD objects.

Pages: [1] 2 3 ... 7