Skip to main content

Advertisement

Log in

A web-based CAD/CAPP/CAM system compliant with the STEP-NC standard to manufacture parts with general surfaces

  • Technical Paper
  • Published:
Journal of the Brazilian Society of Mechanical Sciences and Engineering Aims and scope Submit manuscript

Abstract

In recent decades, there have been important advances related to information technology and manufacturing. Quality and manufacturing productivity have been improved through technologies such as multi-axis machining, high-speed machining, and ultra-precision machining. This led to significant changes in manufacturing companies that were based previously on low-cost standardized products, which started to apply elements of modern manufacturing, to provide responsiveness in a context of flexible demand. Despite advances in manufacturing technologies, the language that computer numerical control machines (CNC) use nowadays is the G-code (ISO 6983 standard), which is a set of instructions that contain the movements that the machine has to perform, without any semantic content regarding the part being processed, causing the loss of much information about the product, making it difficult or impossible to share such information across different areas of the company. In contrast, the ISO 14649 standard (known as STEP-NC) provides a high-level data model related to the manufacturing process, and it has been considered adequate to overcome the problems mentioned above. In this paper is described the methodology and implementation of a CAD/CAPP/CAM system fully compliant with the ISO 14649 standard for the design, process planning, and manufacture of parts having general shapes, and it can be executed by anyone through the Internet. The parts are built with the use of features, which can contain general surfaces, enabling the user to design complex parts. The process planning method considers the possibility of using cutting tools with different diameters for removing different amounts of material from the part. The physical STEP-NC file is generated automatically by the system, and it is used as input to the module that simulates graphically the tool paths for machining the part in a three-axis CNC machine.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25

Similar content being viewed by others

References

  1. Newman ST, Nassehi XW, Rosso RSU Jr, Wang L, Yusof Y, Ali L, Liu R, Zheng LY, Kumar S, Vichare P, Dhokia V (2008) Strategic advantages of interoperability for global manufacturing using CNC technology. Robot Comput-Integr Manuf 24(6):699–708

    Article  Google Scholar 

  2. Xu X (2007) STEP into distributed manufacturing with STEP-NC.In: Wang L, Shen W (eds) Process planning and scheduling for distributed manufacturing, Springer Series in Advanced Manufacturing, 393–421

  3. ISO 6983 (1982) Numerical control of machines—Program format and definition of address words—Part 1: Data format for positioning, line motion and contouring control systems

  4. Zhang X, Liu R, Nassehi A, Newman ST (2011) A STEP-compliant process planning system for CNC turning operations. Robot Comput-Integr Manuf 27(2):349–356

    Article  Google Scholar 

  5. Yusof Y, Noor DK, Tan NZZ (2011) The development of a new STEP-NC code generator (GEN-MILL). Int J Comput Integr Manuf 24(2):126–134

    Article  Google Scholar 

  6. ISO 14649-1 (2003) Industrial automation systems and integration—physical device control—data model for computerized numerical controllers—Part 1: overview and fundamental principles

  7. Laguionie R, Rauch M, Hascoe JY, Suh SH (2011) An eXtended manufacturing integrated system for feature-based manufacturing with STEP-NC. Int J Comput Integr Manuf 24(9):785–799

    Article  Google Scholar 

  8. Hardwick M, Loffredo D (2001) STEP Into NC. Manuf Eng 126(1):38–50

    Google Scholar 

  9. Suh SH, Lee BE, Chung DH, Cheon SU (2003) Architecture and implementation of a shop-floor programming system for STEP-compliant CNC. Comput Aided Des 35:1069–1083

    Article  Google Scholar 

  10. Suh SH, Chung DH, Lee BE, Cho JH, Cheon SU, Hong HD, Lee HS (2002) Developing an integrated STEP-compliant CNC prototype. J Manuf Syst 21(5):350–362

    Article  Google Scholar 

  11. Chung DH, Suh SH (2008) ISO 14649-based nonlinear process planning implementation for complex machining. Comput Aided Des 40:521–536

    Article  Google Scholar 

  12. Xiao W, Zheng L, Huan J, Lei P (2015) A complete CAD/CAM/CNC solution for STEP-compliant manufacturing. Robot Comput-Integr Manuf 31:1–10

    Article  Google Scholar 

  13. STEP Tools (2015) STEP tools Inc. http://www.steptools.com. Accessed 15 Sept 2015

  14. Rauch M, Laguionie R, Hascoet JY, Suh SH (2012) An advanced STEP-NC controller for intelligent machining processes. Robot Comput-Integr Manuf 28:375–384

    Article  Google Scholar 

  15. Xiao W, Huan J, Dong S (2014) A STEP-compliant industrial robot data model for robot off-line programming systems. Robot Comput-Integr Manuf 30:114–123

    Article  Google Scholar 

  16. Liang H, Li X (2013) Five-axis STEP-NC controller for machining of surfaces. Int J Adv Manuf Technol 68:2791–2800

    Article  Google Scholar 

  17. Hu P, Han Z, Fu H, Han D (2015) Architecture and implementation of closed-loop machining system based on open STEP-NC controller. Int J Adv Manuf Technol: 1–15

  18. ISO 10303-238 (2007) Industrial automation systems and integration—product data representation and exchange—Part 238: application protocol: application interpreted model for computerized numerical controllers

  19. Benavente JCT, Ferreira JCE, Goulart CM, Oliveira VG (2013) A STEP-NC compliant system for the remote design and manufacture of mechanical parts through the internet. Int J Comput Integr Manuf 26(5):412–428

    Article  Google Scholar 

  20. ISO 10303-21 (1994) Industrial automation systems and integration—Product data representation and exchange—Part 21: implementation methods: clear text encoding of the exchange structure

  21. ISO 14649-11 (2002) Industrial automation systems and integration—physical device control-data model for computerized numerical controllers–Part 11: process data for milling

  22. ISO 14649-10 (2003) Industrial automation systems and integration—physical device control—data model for computerized numerical controllers—part 10: general process data

  23. Schulz H, Schützer K (1994) FINDES—feature-based integrated design system. Prod Eng Res Dev I:189–192

    Google Scholar 

  24. Schützer K, Glockner C (1998) Integration of machine operator know-how in a feature based environment—CAD/CAPP/CAM/CNC, Proceedings of first international workshop on intelligent manufacturing systems, Lausanne, Switzerland

  25. Schützer K, Glockner C, Claassen E (1998) Support for the development process chain by manufacturing features. In: Annals of the 3rd International Seminar on High Technology–Distributed Product Development, Santa Bárbara d’Oeste, Brazil

  26. Schützer K, Claassen E, Gyldenfeldt C (2003) Support for the product development chain through manufacturing features. Revista de Ciência Tecnologia 11:19–27

    Google Scholar 

  27. Mokhtar A, Xu X (2011) Machining precedence of 2½D interacting features in a feature-based data model. J Intell Manuf 22(2):145–161

    Article  Google Scholar 

  28. Dipper T, Xu X, Klemm P (2011) Defining, recognising and representing feature interactions in a feature-based data model. Robot Comput Integr Manuf 27:101–114

    Article  Google Scholar 

  29. Oracle Java SE Desktop Technologies Java 3D API (2015) http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138252.html. Accessed 28 May 2015

  30. O’Rourke J (1998) Computational geometry in C. Cambridge University Press, 2nd edn

  31. Zeid I (1991) CAD/CAM theory and practice. McGraw Hill

  32. JUnit (2015) JUnit. http://junit.org/. Accessed 14 Oct 2015

  33. ISO 10303-22 (1998) Industrial automation systems and integration—product data representation and exchange—Part 22: implementation methods: standard data access interface

  34. Elias DM, Yusof Y, Minhat M (2013) CNC machine system via STEP-NC data model and LabVIEW platform for milling operation. In: 2013 IEEE conference on open systems (ICOS), December 2–4, 2013, Sarawak, Malaysia, 27–31

  35. Bouard M, Pateloup V, Armand P (2011) Pocketing toolpath computation using an optimization method. Comput Aided Des 43(9):1099–1109

    Article  Google Scholar 

  36. Held M, Lukacs G, Andor L (1994) Pocket machining based in contour-parallel tool paths generated by means of proximity maps. Comput Aided Des 26(3):189–203

    Article  MATH  Google Scholar 

  37. Sandeep D, Xirouchakis P (2010) Contour parallel milling tool path generation for arbitrary pocket shape using a fast marching method. Int J Adv Manuf Technol 50:1101–1111

    Article  Google Scholar 

  38. Ibaraki S, Yamaji I, Matsubara A (2010) On the removal of critical cutting regions by trochoidal grooving. Precis Eng 34(3):467–473

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to João Carlos Espíndola Ferreira.

Additional information

Technical Editor: Márcio Bacci da Silva.

Appendix

Appendix

Neutral file generated for the part containing a Bézier surface (Fig. 18c).

ISO-10303-21;

HEADER;

/*GRIMA*/

FILE_DESCRIPTION(

/* description */ (‘Descricao’),

/* implementation_level */ ‘2;1’);

FILE_NAME(

/* name */′′,

/* time_stamp */ ‘2013-05-21T17:39:24’,

/* author */ (‘Jc’),

/* organization */ (‘UFSC’),

/* preprocessor_version */ ‘ST-GENERATOR 5.3’,

/* originating_system */′′,

/* authorization */′′);

FILE_SCHEMA((‘COMBINED_SCHEMA’));

ENDSEC;

DATA;

#1=PROJECT(‘surface’,#95,(#2),$,$,$);

#2=WORKPIECE(‘workpiece’,#7,50.0,$,$,#9,());

#3=AXIS2_PLACEMENT_3D(‘workpiece placement’,#4,#5,#6);

#4=CARTESIAN_POINT(‘‘,(0.0,0.0,0.0));

#5=DIRECTION(‘‘,(0.0,0.0,1.0));

#6=DIRECTION(‘‘,(1.0,0.0,0.0));

#7=MATERIAL(‘SAE 1020’,’ACO SEM LIGA’,(#8));

#8=NUMERIC_PARAMETER(‘Hardness’,250.0,’HB’);

#9=BLOCK(‘piece’,#3,200.0,200.0,100.0);

#10=SETUP(‘setup’,#16,#15,(#20));

#11=AXIS2_PLACEMENT_3D(‘‘,#12,#13,#14);

#12=CARTESIAN_POINT(‘‘,(0.0,0.0,125.0));

#13=DIRECTION(‘‘,(0.0,0.0,1.0));

#14=DIRECTION(‘‘,(1.0,0.0,0.0));

#15=PLANE(‘security plane’,#11);

#16=AXIS2_PLACEMENT_3D(‘origin’,#17,#18,#19);

#17=CARTESIAN_POINT(‘‘,(0.0,0.0,0.0));

#18=DIRECTION(‘‘,(0.0,0.0,1.0));

#19=DIRECTION(‘‘,(1.0,0.0,0.0));

#20=WORKPIECE_SETUP(#2,#21,$,$,());

#21=AXIS2_PLACEMENT_3D(‘‘,#22,#23,#24);

#22=CARTESIAN_POINT(‘‘,(0.0,0.0,0.0));

#23=DIRECTION(‘‘,(0.0,0.0,1.0));

#24=DIRECTION(‘‘,(1.0,0.0,0.0));

#25=BOTTOM_AND_SIDE_ROUGH_MILLING($,$,’Bottom And Side Rough Milling’,5.0,#33,#26,

#31,#32,$,#34,#35,#38,5.0,20.0,0.0,0.0);

#26=MILLING_CUTTING_TOOL(‘R216.34-20050-AK38H’,#27,(#29),$,$,$);

#27=FACEMILL(#28,4,.LEFT.,$,79.0);

#28=MILLING_TOOL_DIMENSION(25.0,0.0,0.0,38.0,0.0,0.0,0.0);

#29=CUTTING_PART(125.0,#30,$,$,$);

#30=MATERIAL(‘P’,’CARBIDE’,());

#31=MILLING_TECHNOLOGY(0.073,.TCP.,145.0,2307.0,$,.F.,.F.,.F.,$);

#32=MILLING_MACHINE_FUNCTIONS(.T.,$,$,.T.,$,(),.T.,$,$,());

#33=CARTESIAN_POINT(‘start point’,(0.0,0.0,0.0));

#34=PLUNGE_TOOLAXIS(#36);

#35=PLUNGE_TOOLAXIS(#37);

#36=DIRECTION(‘approach strategy direction’,(0.0,0.0,1.0));

#37=DIRECTION(‘retract strategy direction’,(0.0,0.0,-1.0));

#38=CONTOUR_PARALLEL(5.0,.T.,.CCW.,.CONVENTIONAL.);

#39=REGION_SURFACE_LIST(‘‘,#2,(#25,#62,#77),#40,(#44));

#40=AXIS2_PLACEMENT_3D(‘ placement’,#41,#42,#43);

#41=CARTESIAN_POINT(‘‘,(0.0,0.0,100.0));

#42=DIRECTION(‘‘,(0.0,0.0,1.0));

#43=DIRECTION(‘‘,(1.0,0.0,0.0));

#44=BÉZIER_SURFACE(‘surface - ‘,4,4,((#45,#46,#47,#48),(#49,#50,#51,#52),(#53,#54,

#55,#56),(#57,#58,#59,#60)),.UNSPECIFIED.,.F.,.F.,$);

#45=CARTESIAN_POINT(‘control vertex ‘,(0.0,0.0,80.70195959557736));

#46=CARTESIAN_POINT(‘control vertex ‘,(0.0,66.66666666666667,0.0));

#47=CARTESIAN_POINT(‘control vertex ‘,(0.0,133.33333333333334,0.0));

#48=CARTESIAN_POINT(‘control vertex ‘,(0.0,200.0,75.06244525515102));

#49=CARTESIAN_POINT(‘control vertex ‘,(66.66666666666667,0.0,0.0));

#50=CARTESIAN_POINT(‘control vertex ‘,(66.66666666666667,66.66666666666667,76.69159506129179));

#51=CARTESIAN_POINT(‘control vertex ‘,(66.66666666666667,133.33333333333334,75.50688946724576));

#52=CARTESIAN_POINT(‘control vertex ‘,(66.66666666666667,200.0,0.0));

#53=CARTESIAN_POINT(‘control vertex ‘,(133.33333333333334,0.0,0.0));

#54=CARTESIAN_POINT(‘control vertex ‘,(133.33333333333334,66.66666666666667,80.0770010866116));

#55=CARTESIAN_POINT(‘control vertex ‘,(133.33333333333334,133.33333333333334,77.56827099442718));

#56=CARTESIAN_POINT(‘control vertex ‘,(133.33333333333334,200.0,0.0));

#57=CARTESIAN_POINT(‘control vertex ‘,(200.0,0.0,79.02632526999986));

#58=CARTESIAN_POINT(‘control vertex ‘,(200.0,66.66666666666667,0.0));

#59=CARTESIAN_POINT(‘control vertex ‘,(200.0,133.33333333333334,0.0));

#60=CARTESIAN_POINT(‘control vertex ‘,(200.0,200.0,73.37351061746433));

#61=MACHINING_WORKINGSTEP(‘WS Desbaste_WS Desbaste’,#15,#39,#25,$);

#62=BOTTOM_AND_SIDE_ROUGH_MILLING($,$,’Bottom And Side Rough Milling’,5.0,#70,#63,

#68,#69,$,#71,#72,#75,5.0,20.0,0.0,0.0);

#63=MILLING_CUTTING_TOOL(‘R215.38-20050-AC38H’,#64,(#66),$,$,$);

#64=ENDMILL(#65,4,.LEFT.,$,79.0);

#65=MILLING_TOOL_DIMENSION(25.0,0.0,0.0,38.0,0.0,0.0,0.0);

#66=CUTTING_PART(104.0,#67,$,$,$);

#67=MATERIAL(‘P’,’CARBIDE’,());

#68=MILLING_TECHNOLOGY(0.066,.TCP.,155.0,2466.0,$,.F.,.F.,.F.,$);

#69=MILLING_MACHINE_FUNCTIONS(.T.,$,$,.T.,$,(),.T.,$,$,());

#70=CARTESIAN_POINT(‘start point’,(0.0,0.0,18.55271739953931));

#71=PLUNGE_TOOLAXIS(#73);

#72=PLUNGE_TOOLAXIS(#74);

#73=DIRECTION(‘approach strategy direction’,(0.0,0.0,1.0));

#74=DIRECTION(‘retract strategy direction’,(0.0,0.0,-1.0));

#75=CONTOUR_PARALLEL(5.0,.T.,.CCW.,.CONVENTIONAL.);

#76=MACHINING_WORKINGSTEP(‘WS Desbaste_WS Desbaste’,#15,#39,#62,$);

#77=FREEFORM_OPERATION($,$,’Free form Operation’,5.0,$,#78,#83,#84,$,#85,#86,#89);

#78=MILLING_CUTTING_TOOL(‘R216.42-20030-AC32P’,#79,(#81),$,$,$);

#79=BALL_ENDMILL(#80,4,.RIGHT.,$,68.0);

#80=MILLING_TOOL_DIMENSION(20.0,0.0,0.0,32.0,10.0,10.0,0.0);

#81=CUTTING_PART(104.0,#82,$,$,$);

#82=MATERIAL(‘P’,’CARBIDE’,());

#83=MILLING_TECHNOLOGY(0.175,.TCP.,660.0,10504.226244065092,$,.F.,.F.,.F.,$);

#84=MILLING_MACHINE_FUNCTIONS(.T.,$,$,.T.,$,(),.T.,$,$,());

#85=PLUNGE_TOOLAXIS(#87);

#86=PLUNGE_TOOLAXIS(#88);

#87=DIRECTION(‘approach strategy direction’,(0.0,0.0,1.0));

#88=DIRECTION(‘retract strategy direction’,(0.0,0.0,-1.0));

#89=UV_STRATEGY(.ZIGZAG.,.CONVENTIONAL.,#90,$,#91,#92);

#90=TOLERANCES(0.05,0.05);

#91=DIRECTION(‘u direction’,(1.0,0.0,0.0));

#92=DIRECTION(‘v direction’,(0.0,1.0,0.0));

#93=MACHINING_WORKINGSTEP(‘WS Free Form’,#15,#39,#77,$);

#94=WORKPLAN(‘workplan setup XY’,(#61,#76,#93),$,#10,$);

#95=WORKPLAN(‘Main workplan’,(#94),$,$,$);

ENDSEC;

END-ISO-10303-21;

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ferreira, J.C.E., Benavente, J.C.T. & Inoue, P.H.S. A web-based CAD/CAPP/CAM system compliant with the STEP-NC standard to manufacture parts with general surfaces. J Braz. Soc. Mech. Sci. Eng. 39, 155–176 (2017). https://doi.org/10.1007/s40430-016-0528-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s40430-016-0528-4

Keywords

Navigation