Archive for May, 2012

Migrating to Real Cut 1D version 9

Saturday, May 19th, 2012

In version 9 of the Real Cut 1D we have changed the order of columns for Demand parts. We did that in order to improve data exchange with Excel.

If you previously saved your data in native files (with extension 1d) you dont have to do anything. Real Cut 1D knows how to load its own files.

However, if you did saved your data in csv or excel files, you will have to modify them by reordering the columns.
Here is what you have to do:

– open the csv or xls file in Excel.
– move the angle1 and angle 2 columns at the right of the existing columns.
– delete the empty columns 3 and 4 which have resulted as effect of moving columns with angles.
– exchange the height column with quantity column.

Here is an example:

– csv file from version 8 or less:



in version 9 this becomes:



Pay a special attention to list separator. In some regions the separator is “,”. In some others is “;”. If the separator is incorrectly set you will get an error.
You may change the separator from menu Start | Control panels | Region and language | Additional settings| List separator of the Windows 7.

Fractional input in Real Cut 2D too

Saturday, May 19th, 2012

now we have fractional inputs in Real Cut 2D starting with version 8 which can be downloaded from here:

Please read this post in order to see the details related to fractional inputs:

Fractional input in Simple Cutting Software

Friday, May 11th, 2012

Starting with version 2 of our Simple Cutting Software we have introduced an important feature: the ability to handle fractional values.

For instance, instead of typing 100.5, you may do this more elegantly with 100 1/2 (please note that blank space between 100 and 1/2).

Width, Height of parts and stock can be typed in as fractional values. Also, the parameters of the optimization can be fractional.

Here is a movie showing the new feature:

You cannot specify any value as fractional. For instance you cannot specify 100 1/3, because this means 100.33333333333… and in real-world you cannot cut with this precision.

So, all fractions will be rounded to some value. The rounding parameter is specified in Settings | Round all fractions to.

Rounding happens as follow:

– parts are rounded up (ex: 1/3 is rounded up to 1/2 – the actual value depends on the rounding parameter).

– stock pieces are rounded down (2/3 is rounded to 1/2).

– cutter thickness is rounded up.

– break size is rounded up.

– maximal cut length is rounded down.

One more thing: You cannot mix fractional values with real values (containing the decimal symbol “.”). For instance you cannot specify both 100 1/2 and 510.34 ! Choose one option only and stick with it!

Delphi 64 bit example for Cut 2D X

Friday, May 11th, 2012

XE2 version of Delphi can finally generate 64bit applications.

We have succeeded in creating a Delphi 64bit example-application for our 64bit version of the Cut2DX. Previously we have integrated our component in 64bit applications created with Visual Studio (C#, C++ and VB).

Delphi XE2 IDE is a 32 bit application. Because of that you cannot install a 64bit component in the Component Palette.  So, this time, you cannot drag the component as you did in the previous editions of Delphi. Instead, you have to manually create an instance of the component at the runtime.

So, here the are steps:

1. Make sure that 64bit edition was previously registered with regsvr32.exe (the one located in system32 folder!).

2. Create a VCL based application.

3. From Project Manager (located in the right side of the screen),  right click the Target Platforms, choose Add Platform | 64 bit Windows.

4. From menu Component select Import Component | Type library.

5. From the list of registered type libraries, select optimal2dx_64Lib, then next.

6. No need to specify a Palette page, because anyway the component will not appear there.

7. Add unit to the current project. Finish.

8. Add optimal2dx_64Lib_TLB to the list of units used the current project.

9. Declare a variable: cut2d64: TCut2DX.

10.  Create an instance of TCut2DX during the FormCreate event:
cut2d64 := TCut2DX.Create(Form1);

11. Create 2 event handlers for OnFinish and OnProgress events. Add the declarations in the interface:

procedure OnFinish(Sender: TObject);
procedure OnProgress(Sender: TObject);

12. Implement them as you need:

procedure TForm1.OnFinish(Sender: TObject);


13. Assign the handlers to the current instance. You may do this just after you have created the instance:

cut2d64.OnFinish := OnFinish;
cut2d64.OnProgress := OnProgress;

14. Destroy the instance of TCut2DX during the OnClose event of the form: