KR101340983B1 - 오프셋 공구경로 생성방법 - Google Patents

오프셋 공구경로 생성방법 Download PDF

Info

Publication number
KR101340983B1
KR101340983B1 KR1020120069894A KR20120069894A KR101340983B1 KR 101340983 B1 KR101340983 B1 KR 101340983B1 KR 1020120069894 A KR1020120069894 A KR 1020120069894A KR 20120069894 A KR20120069894 A KR 20120069894A KR 101340983 B1 KR101340983 B1 KR 101340983B1
Authority
KR
South Korea
Prior art keywords
lines
offset
line
loop
starting point
Prior art date
Application number
KR1020120069894A
Other languages
English (en)
Inventor
김현철
Original Assignee
인제대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인제대학교 산학협력단 filed Critical 인제대학교 산학협력단
Priority to KR1020120069894A priority Critical patent/KR101340983B1/ko
Application granted granted Critical
Publication of KR101340983B1 publication Critical patent/KR101340983B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/013Control or regulation of feed movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/20Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
    • B23Q15/22Control or regulation of position of tool or workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40931Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of geometry
    • G05B19/40935Selection of predetermined shapes and defining the dimensions with parameter input
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40937Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 기존의 윤곽 평행 공구경로 생성방법이 가진 수치적으로 불안정한 부분을 해결하고, 보다 빠르고 정확하게 오프셋을 구할 수 있는 오프셋 공구경로 생성방법에 관한 것으로 발명에 따른 오프셋 공구경로 생성방법은, (a) 가공대상물의 바운더리(bounndary)와 아일랜드(islands)를 입력하는 단계와; (b) 상기 바운더리 및 아일랜드 각각에 대해서 오프셋을 수행하되, 선의 진행 방향에 대해서 두 선분의 각도가 180도 보다 작은 오목형(concave)일 경우와, 두 선분의 각도가 180도 보다 큰 볼록형(convex)일 경우, 두 선분의 각도가 180도인 평행형(parallel)일 경우로 분류하는 단계와; (c) 상기 분류된 각각의 선들에 대해서 이등분선을 기준으로 하여 오프셋되는 선들을 산출하는 단계와; (d) 상기 오프셋된 선들 중 진행 방향이 반대 방향으로 바뀌는 선들을 제거하여 '지역적으로 타당하지 않은 루프'(local invalid loop)를 제거하는 단계와; (e) 상기 지역적으로 타당하지 않은 루프(local invalid loop)가 제거된 오프셋 선들에 대해서 그리드법(grid method)를 이용하여 선들이 교차하는 지에 대한 정보를 저장하는 단계와; (f) 상기 저장된 정보를 이용하여 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 단계와; (g) 상기 바운더리 및 아일랜드 각각에 대해서 구해진 모든 타당하지 않은 루프가 제거된 오프셋 선들을 통합하는 단계를 포함하는 것을 특징으로 한다.

Description

오프셋 공구경로 생성방법{Method for Generating Offset Tool Path}
본 발명은 절삭 가공시 공구 경로를 생성하는 방법에 관한 것으로, 더욱 상세하게는 황삭 가공시 공구의 윤곽 평행 공구경로('등고선 공구 경로'라고도 함)를 빠르고 효율적으로 생성하는 방법에 관한 것이다.
절삭가공은 전통적인 기계가공 방법으로 대부분의 기계업체에서 이용하는 모든 가공방법 중 70 ~ 80% 이상의 비중을 차지하고 있다. 기계가공에서 황삭가공은 최종형상에서 일정한 가공여유만을 남기고 원소재를 가능한 빨리 제거하는 것을 목적으로 한다. 황삭가공은 Z축에 평행한 높이가 다른 각각의 가공면들에서 독립적으로 이루어지며, 크게 윤곽 평행 공구경로(contour parallel tool path)와 직선 평행 공구경로(direction parallel tool path)로 두 가지 공구경로를 통해 가공된다.
윤곽 평행 공구경로는 주어진 외곽 경계곡선의 순차적인 오프셋(offset)으로 얻어지고, 직선 평행 공구경로는 평행한 직선 패턴들로 경계곡선 내부를 채우는 것으로 지그재그 공구경로로 알려져 있다.
윤곽 평행 공구경로 생성을 위해서는 도 1과 같이 경계(boundary)와 아일랜드(islands)를 오프셋(offset; 주어진 곡선/곡면으로부터 일정한 거리만큼 떨어진 점들의 궤적으로 정의됨)하는 알고리즘이 필요하다. 오프셋하는 방법에는 크게 2가지 방법이 있다. 첫번째 방법은 도 2에 도시된 것과 같은 pair-wise offset approach로, (A)에 도시된 것처럼 모든 선들을 오프셋양만큼 오프셋한 후에, (B)에 도시된 것과 같이 갭(gap)을 매꾸고, (C)에 도시된 것처럼 타당하지 않은 루프(invalid loop)를 제거하는 방법이다. 이 방법은 모든 선들을 오프셋한 후에 교차점을 찾는 단계가 시간 소모가 너무 크며, 갭을 메꾸고 모든 타당하지 않은 루프(invalid loop)을 제거하는 단계 또한 쉽지 않은 단계로 이에 대한 해결책들이 많이 제시된 상태이다. 그러나, 이러한 방법에 따르면 곡선 구간을 직선으로 보간 할 경우 아주 미세한 선들의 집합으로 곡선이 표시되게 된다. 이러한 부분에 기존의 pair-wise offset approach를 사용할 경우는 도 3과 같이 무수히 많은 선들이 오프셋되게 된다. 이러한 오프셋된 선들을 처리하는 방법은 기존의 방법들로는 수치적으로 매우 불안정하며, 정확한 결과를 기대하기도 사실상 힘들다.
두번째 방법은 보로노이 다이어그램 접근법(voronoi diagram approach)으로 도 4에 도시된 것과 같이 선들이 오프셋될 영역을 미리 분할하여 보로노이 다이어그램을 미리 만들고 이 영역 안에서 오프셋하는 방법이다. 이 방법은 보로노이 다이어그램을 만드는 과정만 완성되면, pair-wise offset approach에 비해 수치적으로 안정하고, 비교적 쉽게 오프셋을 할 수 있다. 하지만, 이 방법도 pair-wise offset approach에서 해결하기 어려웠던 미세한 선들로 이루어진 곡선부분을 처리하는데 비슷한 문제가 발생한다. 보로노이 다이어그램을 완성하기 위해서는 선들의 이등분선의 교점들을 계산하고 이를 처리하는 과정이 필요하다. 하지만, 미세한 직선으로 이루어진 곡선부분에 대해서 이등분선들을 구해보면 도 5와 같이 매우 복잡한 선들을 얻게 된다. 이러한 이등분선들을 처리하는 문제는 앞에서의 방법에서와 마찬가지로 수치적으로 매우 불안정하며, 정확한 결과를 기대하기가 어렵다.
본 발명은 상기와 같은 문제를 해결하기 위한 것으로, 본 발명의 목적은 기존의 윤곽 평행 공구경로 생성방법이 가진 수치적으로 불안정한 부분을 해결하고, 보다 빠르고 정확하게 오프셋을 구할 수 있는 오프셋 공구경로 생성방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명은, (a) 가공대상물의 바운더리(bounndary)와 아일랜드(islands)를 입력하는 단계와; (b) 상기 바운더리 및 아일랜드 각각에 대해서 오프셋을 수행하되, 선의 진행 방향에 대해서 두 선분의 각도가 180도 보다 작은 오목형(concave)일 경우와, 선의 진행 방향에 대해서 두 선분의 각도가 180도 보다 큰 볼록형(convex)일 경우, 선의 진행 방향에 대해서 두 선분의 각도가 180도인 평행형(parallel)일 경우로 분류하는 단계와; (c) 상기 분류된 각각의 선들에 대해서 이등분선을 기준으로 하여 오프셋되는 선들을 산출하는 단계와; (d) 상기 오프셋된 선들 중 진행 방향이 반대 방향으로 바뀌는 선들을 제거하여 '지역적으로 타당하지 않은 루프'(local invalid loop)를 제거하는 단계와; (e) 상기 지역적으로 타당하지 않은 루프(local invalid loop)가 제거된 오프셋 선들에 대해서 그리드법(grid method)를 이용하여 선들이 교차하는 지에 대한 정보를 저장하는 단계와; (f) 상기 저장된 정보를 이용하여 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 단계와; (g) 상기 바운더리 및 아일랜드 각각에 대해서 구해진 모든 타당하지 않은 루프가 제거된 오프셋 선들을 통합하는 단계를 포함하는 것을 특징으로 하는 오프셋 공구경로 생성방법을 제공한다.
본 발명에 따르면, 이등분선을 이용한 새로운 오프셋 알고리즘을 사용하여 오프셋 선들을 산출함으로써 직접 보로노이 다이어그램(voronoi diagram)을 만들지 않고도 각 선들이 오프셋되는 정보를 알 수 있고, 따라서 후처리 작업을 크게 줄일 수 있다. 또한, 오프셋된 후에 없어지는 선에 대한 정보 또한 알 수 있으므로, 이를 처리해주는 알고리즘만을 사용하여 미세한 직선들이 갖는 수치적으로 불안정한 부분을 해결할 수 있다. 즉, 본 발명에서는 초기에 지역적으로 타당하지 않은 루프(local invalid loop)가 제거된 오프셋된 선들을 쉽고 빠르게 얻을 수 있으므로, 기존의 등고선 가공경로 생성방법보다 더욱 빠르고 효과적으로 공구경로를 생성할 수 있다.
도 1은 생성된 윤곽 평행 공구경로의 일례를 나타낸 도면이다.
도 2는 종래의 pair-wise offset approach의 과정의 일례를 순차적으로 나타낸 도면이다.
도 3은 종래의 pair-wise offset approach를 수행할 때 미소직선으로 이루어진 곡선부분에서 발생하는 문제를 나타낸 도면이다.
도 4는 종래의 보로노이 다이어그램 접근법(voronoi diagram approach)에 의한 경로 생성 과정을 나타낸 도면이다.
도 5는 보로노이 다이어그램 접근법을 수행할 때 미소직선으로 이루어진 곡선부분에서 발생하는 문제점을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 오프셋 공구경로 생성방법을 나타내는 순서도이다.
도 7은 본 발명의 오프셋 공구경로 생성방법을 수행하기 위하여 입력으로 들어오는 바운더리와 아일랜드의 일례를 나타낸 도면이다.
도 8은 본 발명의 절삭 공구 경로 생성 과정에서 각도에 따른 오프셋(offset)한 선들의 분류 형태를 나타낸 도면이다.
도 9는 도 8에서 분류된 각각의 형태에서의 오프셋 점(offset point)을 계산하는 과정을 나타낸 도면이다.
도 10은 본 발명의 절삭 공구 경로 생성 과정에서 오프셋 선 산출후 없어지는 선들에 대해서 처리하는 과정을 나타낸 도면이다.
도 11은 본 발명의 절삭 공구 경로 생성 과정에서 전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 단계에 의해 생성된 오프셋 선들을 나타낸 도면이다.
도 12는 본 발명의 절삭 공구 경로 생성 과정에서 바운더리와 아일랜드에 대해서 구해진 오프셋 선들을 하나로 통합하는 과정을 나타낸 도면이다.
이하 첨부된 도면을 참조하여 본 발명에 따른 오프셋 공구경로 생성방법의 바람직한 실시예를 상세히 설명한다.
도 6을 참조하면, 본 발명에 따른 오프셋 공구경로 생성방법은 가공대상물의 바운더리(bounndary)와 아일랜드(islands)를 입력하는 단계(단계 S1)와; 상기 바운더리 및 아일랜드 각각에 대해서 오프셋을 수행하되, 선의 진행 방향에 대해서 두 선의 각도가 180도 보다 작은 오목형(concave)일 경우와, 선의 진행 방향에 대해서 두 선의 각도가 180도 보다 큰 볼록형(convex)일 경우, 선의 진행 방향에 대해서 두 선의 각도가 180도인 평행형(parallel)일 경우로 분류하는 단계(단계 S2)와; 상기 분류된 각각의 선들에 대해서 이등분선을 기준으로 하여 오프셋되는 선들을 산출하는 단계(단계 S3)와; 상기 오프셋된 선들 중 진행 방향이 반대 방향으로 바뀌는 선들을 제거하여 '지역적으로 타당하지 않은 루프'(local invalid loop)를 제거하는 단계(단계 S4)와; 상기 지역적으로 타당하지 않은 루프(local invalid loop)가 제거된 오프셋 선들에 대해서 그리드법(grid method)를 이용하여 선들이 교차하는 지에 대한 정보를 저장하는 단계(단계 S5)와; 상기 저장된 정보를 이용하여 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 단계(단계 S6)와; 상기 바운더리 및 아일랜드 각각에 대해서 구해진 모든 타당하지 않은 루프가 제거된 오프셋 선들을 통합하는 단계(단계 S7)와; 상기 통합된 오프셋 선들을 하나로 연결하는 단계(단계 S8)를 포함한다.
각각의 단계에 대해서 더욱 구체적으로 설명하면 다음과 같다.
도 7을 참조하면, 가공대상물의 최외곽선을 형성하는 바운더리(bounndary)()와 가장 내측선을 형성하는 아일랜드(islands)()를 입력한다(단계 S1). 이 때, 입력되는 바운더리는 반시계방향으로, 아일랜드는 시계방향으로 서로 반대 방향으로 진행한다.
도 8에 도시된 것과 같이, 상기 바운더리와 아일랜드 각각에 대해서 선의 진행 방향에 대해서 두 선의 각도가 180도 보다 작은 오목형(concave)일 경우와, 선의 진행 방향에 대해서 두 선의 각도가 180도 보다 큰 볼록형(convex)일 경우, 선의 진행 방향에 대해서 두 선의 각도가 180도인 평행형(parallel)일 경우로 분류하여 오프셋을 수행한다(단계 S2). 도 7에서는 ■ 로 표시된 점은 오목형(concave)이고, ●로 표시된 점은 볼록형(convex)이다.
상술한 것과 같이 바운더리와 아일랜드의 선들을 상기 오목형(concave)과 볼록형(convex) 및 평행형(parallel)으로 분류하고, 분류된 각각의 선들에 대해서 이등분선을 기준으로 하여 오프셋되는 선들을 산출한다(단계 S3).
도 9를 참조하면, 상기 오목형(concave)과 볼록형(convex) 및 평행형(parallel)으로 분류된 선들 중, 오목형(concave)의 경우 오프셋되는 점은 아래의 수학식 1과 같이 산출되며, 볼록형(convex)의 경우 수학식 2, 평행형(parallel)의 경우 수학식 3과 같이 산출된다.
Figure 112012051732511-pat00001
Figure 112012051732511-pat00002
Figure 112012051732511-pat00003
상기 수학식 1~3에서 Q는 점 P 가 오프셋된 후의 점을 나타내고, θ는 진행하는 두 선의 각도, R은 오프셋 거리로서 공구 직경에 해당하며, e는 바운더리 또는 아일랜드의 두 점 간의 거리를 나타낸다.
상기와 같은 수학식 1~3을 통해 바운더리와 아일랜드의 각 점(P)에 대해서 오프셋된 점(Q)들을 구하여 연결하면 오프셋 선이 생성된다.
이와 같이 이등분선을 기준으로 하여 오프셋 선들을 구한 다음, 도 10에 도시된 것과 같이 오프셋된 선들 중 진행 방향이 반대 방향으로 바뀌는 선들을 제거하는 '지역적으로 타당하지 않은 루프'(local invalid loop)를 제거하는 단계를 실행한다(단계 S4). 이 때, 없어진 선 앞과 뒤를 검색(search)하여 찾은 두 선들의 교차점으로 두 선을 갱신시켜 준다. 만일, 두 선의 교차점이 없을 경우는, 없어지는 선과 두 선들의 교차점으로 두 선을 갱신시키고 두 선을 연결해 준다. 이 과정은 기존의 오프셋(offset) 방법들이 갖고 있는 미세한 직선으로 이루어진 곡선을 처리하는 수치적인 문제점을 해결해 준다. 즉, 오프셋되었을 때 사라지는 선들을 사전에 제거해 주므로 기존의 방법들이 갖는 처리의 어려움의 문제들을 해결해 준다.
다음으로, 상술한 과정을 통해 얻어진 '지역적으로 타당하지 않은 루프'(local invalid loop)가 제거된 오프셋 선들에 대해서 그리드법(grid method)을 이용하여 선들이 교차하는 지의 정보를 모두 저장한다. 어떤 선이 몇 번째 선의 어디서 만나는 지의 정보를 모두 저장하고 이는 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 단계(단계 S6)에서 사용된다.
상기 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 단계(단계 S6)는 다음과 같이 이루어진다. 먼저, 시작점을 저장한다. 그리고, 시작점에서부터 선들에 부여된 방향을 따라 선들을 추적(trace)하면서 선들의 끝점이 시작점과 일치하는 지를 체크하고 시작점과 같게 될 때 지금까지 추적한 선들을 반환한다. 이렇게 반환된 선들은 하나의 루프(loop)를 형성한다. 이 때 선들을 추적하는 과정은 다음과 같다. 선들을 추적할 때는 각 선에 다른 선과 교차점이 있는가를 검사한다. 교차점이 없는 경우는 방향에 따라 다음 선으로 이동하고, 교차점이 있는 경우는 그 교차점을 다음 루프를 찾는 시작점으로 스택(stack)에 저장하고 그 선과 교차한 다른 선으로 추적하는 방향을 이동한다. 이런 과정을 거쳐 추적한 선이 처음 시작점과 일치하게 되면 하나의 loop이 형성된다.
다음으로, 스택에 더 이상 시작점이 없을 때까지 다음 시작점을 스택에서 꺼내어 위의 과정을 반복한다. 이렇게 얻어진 루프들 중에서 방향이 오프셋하기 전의 방향과 같은 루프만이 적합한 루프이고 방향이 반대인 루프들은 제거되어야 한다. 이렇게 제거되어야 할 타당하지 않은 루프(invalid loop)를 알아내는 방법은 아래와 같다.
모든 도형의 외각의 합은 360도 이고 시계방향이냐, 반시계 방향이냐에 따라서 부호가 바뀌게 된다. 이를 이용하여 오프셋하기 전과 오프셋한 후의 외각의 합의 부호가 반대인 루프를 제거해 주면 된다. 지금까지의 과정을 통해서 오프셋된 결과는 도 11과 같다.
다음으로, 바운더리와 아일랜드에 대해서 위의 과정을 통해 구해진 모든 타당하지 않은 루프가 제거된 오프셋 선들을 하나로 통합하는 과정이 필요하다(단계 S7). 이를 구현하는 방법은 전술한 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 과정과 유사하다. 우선 모든 선들에 대해서 교차점의 정보를 찾아서 저장하고, 타당하지 않은 루프를 제거하는 방법과 같은 방법으로 루프들을 찾아낸다. 이렇게 찾아낸 루프가 바운더리인지 아일랜드인지를 판단하는 방법은 다음과 같다. 우선 추적(trace)된 선들 중에서 바운더리가 포함이 되어 있다면, 이 루프는 바운더리가 되고 바운더리가 하나도 포함되지 않을 경우는 아일랜드가 된다. 그리고, 아일랜드는 반드시 바운더리 안에 포함이 되므로 찾아진 아일랜드가 어떤 바운더리에 포함되는 지에 한 판단은 바운딩박스(bounding box)를 이용하여 구한다. 지금까지 기술한 과정에 대해서 아일랜드를 포함한 바운더리를 오프셋한 결과는 도 12와 같다.
마지막으로 등고선 가공 경로를 생성하기 위해서, 위에서 구한 최종적인 오프셋 선들을 하나로 연결하는 과정이 필요하다. 이를 위해서는 오프셋된 선들을 어떻게 저장할 지에 대한 자료구조가 필요하다. 하나의 바운더리가 오프셋된 후에는 여러 개의 바운더리가 생성될 수 있고, 각각의 바운더리는 계속해서 오프셋이 되어야 하므로 이를 표현할 수 있는 자료구조로는 트리(tree) 구조가 적합하다. 그리고, 오프셋된 선들을 연결하는 과정은 트리 트래버스(tree traverse)로 완성할 수 있다.
전술한 것과 같은 방법으로 수치적으로 안정하고, 빠르고 효율적인 등고선 가공경로를 생성할 수 있다.
상술한 본 발명의 오프셋 공구경로 생성방법은 소프트웨어 프로그램 등으로 구현될 수 있다. 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 이라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
B : 바운더리(bounndary) I : 아일랜드(islands)

Claims (5)

  1. (a) 가공대상물의 바운더리(bounndary)와 아일랜드(islands)를 입력하는 단계와;
    (b) 상기 바운더리 및 아일랜드 각각에 대해서 오프셋을 수행하되, 선의 진행 방향에 대해서 두 선분의 각도가 180도 보다 작은 오목형(concave)일 경우와, 선의 진행 방향에 대해서 두 선분의 각도가 180도 보다 큰 볼록형(convex)일 경우, 선의 진행 방향에 대해서 두 선분의 각도가 180도인 평행형(parallel)일 경우로 분류하는 단계와;
    (c) 상기 분류된 각각의 선들에 대해서 이등분선을 기준으로 하여 오프셋되는 선들을 산출하는 단계와;
    (d) 상기 오프셋된 선들 중 진행 방향이 반대 방향으로 바뀌는 선들을 제거하여 '지역적으로 타당하지 않은 루프'(local invalid loop)를 제거하는 단계와;
    (e) 상기 지역적으로 타당하지 않은 루프(local invalid loop)가 제거된 오프셋 선들에 대해서 그리드법(grid method)를 이용하여 선들이 교차하는 지에 대한 정보를 저장하는 단계와;
    (f) 상기 저장된 정보를 이용하여 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 단계와;
    (g) 상기 바운더리 및 아일랜드 각각에 대해서 구해진 모든 타당하지 않은 루프가 제거된 오프셋 선들을 통합하는 단계를 포함하는 것을 특징으로 하는 오프셋 공구경로 생성방법.
  2. 제1항에 있어서, 상기 (c) 단계에서, 바운더리 또는 아일랜드의 선분이 오목형(concave)인 경우, 수학식
    Figure 112012051732511-pat00004
    에 의해 오프셋된 점을 산출하며;
    볼록형(convex) 인 경우 수학식
    Figure 112012051732511-pat00005
    에 의해 오프셋된 점을 산출하며;
    평행형(parallel)인 경우 수학식
    Figure 112012051732511-pat00006
    에 의해 오프셋된 점을 산출하되,
    상기 수학식에서 Q는 점 P 가 오프셋된 후의 점을 나타내고, θ는 진행하는 두 선의 각도, R은 오프셋 거리로서 공구 직경에 해당하며, e는 바운더리 또는 아일랜드의 두 점 간의 거리를 나타내는 것을 특징으로 하는 오프셋 공구경로 생성방법.
  3. 제1항에 있어서, 상기 (g) 단계를 수행한 후 상기 통합된 오프셋 선들을 하나로 연결하는 단계를 더 수행하는 것을 특징으로 하는 오프셋 공구경로 생성방법.
  4. 제1항에 있어서, 상기 (f) 단계에서 '전역적으로 타당하지 않은 루프'(global invalid loop)를 제거하는 과정은,
    (f-1) 시작점을 저장하는 단계와,
    (f-2) 상기 시작점에서부터 선들에 부여된 방향을 따라 선들을 추적(trace)하면서 선들의 끝점이 시작점과 일치하는 지를 체크하고 시작점과 같게 될 때 지금까지 추적한 선들을 반환하여 루프를 형성하는 단계와,
    (f-3) 상기 루프들 중에서 방향이 오프셋하기 전의 방향과 반대인 타당하지 않은 루프(invalid loop)를 제거하는 단계로 구성된 것을 특징으로 하는 오프셋 공구경로 생성방법.
  5. 제4항에 있어서, 상기 (f-2) 단계에서는, 각 선에 다른 선과 교차점이 있는가를 검사하여 교차점이 없는 경우는 방향에 따라 다음 선으로 이동하고, 교차점이 있는 경우는 그 교차점을 다음 루프를 찾는 시작점으로 스택(stack)에 저장하고 그 선과 교차한 다른 선으로 추적하는 방향을 이동하며, 상기 추적한 선이 처음 시작점과 일치하게 되면 하나의 루프를 형성하게 되며, 이후 스택에 더 이상 시작점이 없을 때까지 다음 시작점을 스택에서 꺼내어 상술한 과정을 반복하는 것을 특징으로 하는 오프셋 공구경로 생성방법.
KR1020120069894A 2012-06-28 2012-06-28 오프셋 공구경로 생성방법 KR101340983B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120069894A KR101340983B1 (ko) 2012-06-28 2012-06-28 오프셋 공구경로 생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120069894A KR101340983B1 (ko) 2012-06-28 2012-06-28 오프셋 공구경로 생성방법

Publications (1)

Publication Number Publication Date
KR101340983B1 true KR101340983B1 (ko) 2013-12-12

Family

ID=49988185

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120069894A KR101340983B1 (ko) 2012-06-28 2012-06-28 오프셋 공구경로 생성방법

Country Status (1)

Country Link
KR (1) KR101340983B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020053116A (ko) * 2000-12-26 2002-07-05 이계안 지그재그 공구경로 생성방법
KR20070047738A (ko) * 2004-04-29 2007-05-07 서프웨어, 인크 물림 밀링

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020053116A (ko) * 2000-12-26 2002-07-05 이계안 지그재그 공구경로 생성방법
KR20070047738A (ko) * 2004-04-29 2007-05-07 서프웨어, 인크 물림 밀링

Similar Documents

Publication Publication Date Title
CN104793560A (zh) 用于生成轨迹的方法和系统
CN102621928B (zh) 一种快速生成五轴刀具姿角可行域的方法
US9811759B2 (en) NC program searching method, NC program searching unit, NC program creating method, and NC program creating unit
CN103454972B (zh) 基于ug nx api的刀具五轴数控磨削加工自动编程的方法
US20030130758A1 (en) Design support apparatus and method
JP6850116B2 (ja) 切り欠きの検出
US8255077B2 (en) Apparatus, method and program for creating tool reference plane
CN107622530A (zh) 一种高效鲁棒的三角网切割方法
Balabokhin et al. Iso-scallop tool path building algorithm “based on tool performance metric” for generalized cutter and arbitrary milling zones in 3-axis CNC milling of free-form triangular meshed surfaces
CN110955934A (zh) 面向加工实时监控的切削仿真实现方法
JPH0749960A (ja) ソリッドモデル合成装置及び合成方法
Tapie et al. Topological model for machining of parts with complex shapes
US9740189B2 (en) Machining program creating apparatus, machining program creating method, and machining program creating program
CN112230602B (zh) 型腔二次开粗刀具路径规划方法、装置及存储介质
JP2002207504A (ja) 3次元形状データ生成方法及び3次元形状データ生成装置
KR101340983B1 (ko) 오프셋 공구경로 생성방법
CN113253675B (zh) 一种面向二维的三轴刀位点运算方法及系统
CN106094732B (zh) 一种所见即所得的加工轨迹生成方法
JP2002059271A (ja) 溶接打点データの作成方法
Xu et al. Quasi-optimal tool trajectories for high speed 2.5 D process based on morphological transformation
Anamova et al. Multiprocessing and correction algorithm of 3D-models for additive manufacturing
Fayzrakhmanov et al. Cutting time optimization using technology for CNC machines
JP2021179861A (ja) 形状認識装置、および形状認識方法
JP5383230B2 (ja) Ncデータの修正方法及び装置
JP2008112337A (ja) 工具参照面データの作成装置と作成方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161025

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee