Frequently Asked Questions
General
Q1. What is Cut 2D X / Optimization 2D X?
A1. Cut 2D X / Optimization 2D X is an Automation component - within a dll - used for obtaining optimal cutting layouts for two dimensional sheets and parts.
Q2. What is a component?
A2. A component is a set of functions, which can be called by an application. A library cannot be used by an end-user. If you are an end-user customer (wood cutter, glass cutter) please use our Cutting Optimization pro application which can be downloaded from www.cutting-optimization.com
Q3. I need some modifications to the component in order to use it within my application. Can you make these modifications for me?
A3. Probably we can. Please contact us to discuss details.
Q4. What languages can I use for building my application?
A4. All languages that supports Automation. We have tested it with VB6, VB .NET 2005, VC++ .NET 2005, VC# .NET 2005, VJ# .NET 2005, Borland Delphi 6,7, 2007, C++Builder 6, Code Gear Turbo C++ 2006 Profesional.
Licensing
Q1. How many licenses I need for deploying the component to my clients?
A1. First of all you need one license for the computer where you develop your application. Then you need licenses for each computer where you want to deploy your application. Each time you want to sell your application to a new client you have to contact us in order to provide a new Serial Number for the computer where you want to perform the registration.
Q2. What is the difference between the single license and royalty free distribution license?
A2. Single license can be used only on 1 computer whose code you will send us (see ComputerID property). Royalty free distribution allow you to deploy the component to any number of customers without asking for keys from us.
Q3. I need the source code for the components. How can I get them ?
A3. We DO NOT SELL the source code for the components.
Q4. Can I deploy the my application to my clients without asking for a Serial Number each time from Optimal Programs?
A4. Yes, you can. You may buy a special version of the component which can be deployed with your application without any additional costs. Check the Fees page.
Registration
Q1. I get "Class not registered" message. What does it mean?
A1. The component is not registered. To fix this problem you have to locate the optimal2dx.dll and then run the command "regsvr32 optimal2dx.dll" from the Windows Start|Run menu.
Q2. Can I register the component directly from the source code without calling the regsvr32 ?
A2. Yes, you can. See our example here.
Speed, quality and optimization types
Q1. Does Cut 2D X / Optimization 2D X produce the best possible layouts?
A1. No. Cut 2D X / Optimization 2D X gives you only an approximation. There is no guarantee that the solution is the best possible. If you increase the value of OptimizationLevel you might get better results. The cutting optimization is a NP-complete problem. There is no polynomial-time algorithm for solving them. This means that the only method which guarantee the best solution is generating all possible layouts. This can take years if you have 100 different parts. Read more details here.
Q2. How fast the component is?
A2. The speed depends on the number of demand pieces, number of repository pieces and the optimization level. If you increase the OptimizationLevel you will get a better optimization but the application will run longer.
Q3. How many optimization types the component can perform?
A3. Three types:
a) standard guillotine,
b) guillotine in multiple stages,
c) nested.
Q4. What algorithm do you use for performing optimization ?
A4. Many. We use different heuristics for handling various cases. If you increase the optimization level, more heuristics will be used in the process.
Input / Output
Q1. What Cut 2D X / Optimization 2D X requires as input?
A1.
a) The parameters: blade thickness, optimization level, etc.
b) The parts to be cut (demand pieces).
c) The sheets to cut from (repository pieces).
Q2. How the results is given?
A2. For each demand piece you will get the coordinates (inside the repository piece) from where this is cut. Also, the component will give you the coordinates for cuts and for waste parts.
Q3. How can I deal with real-valued length for the pieces to cut?
A3. You have to transform all lengths into integer values, by multiplying them with some powers of 10. For instance if you have two pieces to cut having the lengths: 9.2 and 11.37 you will have to multiply them with 100 in order to obtain integer values (920 and 1137).
Q4. How can I optimize multiple types of materials ?
A4. Just optimize them one by one. When you finish with one type move to the other and so on.
Q5. Can Cut 2D X / Optimization 2D X handle complex shapes for demand and repository pieces?
A5. No. Cut 2D X / Optimization 2D X can handle only rectangular parts and sheets.
Q6. Can Cut 2D X / Optimization 2D X handle sheets with holes ?
A6. Yes, it can. The holes can be specified with the SetRepositoryPiece method and SetRepositoryHole.
Q7. Can Cut 2D X / Optimization 2D X optimize more than one sheet?
A7. Yes. Set the number of sheets with the NumberOfRepositoryPieces method and then set each sheet with SetRepositoryPiece.
Q8. Can I specify trim for a sheet?
A8. Yes. Use the method SetRepositoryPiece which has some parameters for this purpose.
Q9. Can I set the grain direction?
A9. Yes. You can specify if you allow or not rotation for a demand piece. If you enter all repository pieces with the grain (fiber) direction parallel to the length, you can fully control what grain direction will have pieces cut from each sheet. If you want a particular grain direction, just disable rotation for that piece and enter its sizes accordingly.
Q10. Can I set a priority for each part or sheet?
A10. Yes. Use method SetDemandPiece and SetRepositoryPiece. There you will find a parameter which specifies the priority.
Q11. How do I find if 2 or more layouts are identical ?
A11. Simply compare pairs of layouts to see which are identical (have the same size and contain the same pieces - which have the same positions). In some cases the cuts can be different, but it is enough if you compare only the position of pieces.
Q12. Does Cut 2D X / Optimization 2D X recognize DXF files ?
A12. No. All information required by the component is set through its properties and methods. No specific format is supported.
Q13. How do I generate the CNC code from the component output ?
A13. Cut 2D X / Optimization 2D X does not generate CNC code. There is a BasicCNC method which can help you to generate some specific order for a CNC machine for multiple-stage cuts.
Q14. Can I extract the waste obtained after optimization ?
A14. Yes. Use the GetWaste method. For guillotine optimization the wastes are fixed. For nested optimization you may group the wastes in any way you want.
Q15. Can I arrange the Cut 2D X / Optimization 2D X results manually?
A15. Yes. There are several methods and properties for that. Using manual arrange you can improve the quality of layouts after the component has optimized them.
Miscellaneous
Q1. Can you give me a list of customers of Cut 2D X / Optimization 2D X?
A1. No. It is confidential. But we can tell you that we have several hundreds.
Links