본문으로 건너뛰기
  1. Posts/

Expression Tip.03

·3 분· loading · loading ·
작성자
NX_Man
A tech Engineer who like GUNDAM.

NX Expression Tip. 03
#

안녕하세요

이번에는 NX Expression Tip.02에서 작업한 용기모델링을 그럴듯한 편집설계 모듈로 구성해 보겠습니다

image-20240129155400497

이전 포스트에서 소개한 관련 항목을 산출하는 방법을 이용하여 설계에 필요한 설계 SPEC을 입력하고 나머지 항목은 계산에 의해 결정되어 적용되도록 추가 Expression을 등록 및 수정한다.

신규 Expression 등록

Input_DIA = 1
Input_H = ! Input_DIA
KeyIn_DIA = 20
KeyIn_H = 48

기존의 Expression Name을 변경한다.

DIA -> Real_DIA
H -> Real_H
vol -> DIA_Area

추가 Expression을 등록한다.

DIA_0 = Volume/pi()/KeyIn_H
DIA = Ceil(sqrt(DIA_0)*2)
H = Ceil(Volume/DIA_Area)

변경된 Expression 수정

Real_DIA = IF(Input_DIA=1) KeyIn_DIA Else DIA
Real_H = IF(Input_H=1) KeyIn_H Else H
DIA_Area = (Real_DIA/2)^2*pi()

이러한 복잡한 절차를 거치는 이유는

image-20240129155719999

기존의 Sketch를 수정없이 그대로 활용할 수 있고

image-20240129155733356

Expression Formula에는 등록된 Expression만 입력이 가능하기 때문이다.

수정된 Expression을 상세하게 설명 드리면 원형용기의 용량이 결정된 상태에서

Input_DIA = 1         --> 직경을 입력한다는 의미이며 [ 1 ]= On /[ 0 ]= Off를 의미한다.
Input_H = ! Input_DIA --> !는 해당 값의 반대 값을 의미.
                          Input_DIA가 [ 1 ]이므로 Input_H는 [ 0 ]이 된다.
KeyIn_DIA = 20        --> 입력하는 직경 값
KeyIn_H = 48          --> 입력하는 높이 값

추가 Expression은 입력된 값에 의해 계산되는 값으로

DIA_0 = Volume/pi()/KeyIn_H ) --> 결정된 용량(Volume)을 높이와 원주율로 나눠 반지름의 
                                  제곱값을 구한다. 
DIA = Ceil(sqrt(DIA_0)*2)  --> sqrt()함수는 제곱근을 구하는 함수이며 DIA_0의 제곱근을
                               구하고 x2를 하여 직경을 구한다.
H = Ceil(Volume/DIA_Area)) --> 결정된 용량(Volume)을 면적값으로 나눠 용기의 높이를 구한다.

Name을 변경한 Expression은 아래와 같이 수정하는데

Real_DIA = IF(Input_DIA=1) KeyIn_DIA Else DIA
Real_H = IF(Input_H=1) KeyIn_H Else H

이는 직경( 혹은 높이 )값을 입력( 혹은 계산)하는 방식을 Input_DIA와 Input_H를 이용하여 결정하기 위하여 IF문을 이용하여 조건을 정의한다.

image-20240129160443888

모든 Expression의 수정과 등록이 완료되면 용기 용량에 해당하는 객체의 Volume을 Measure Feature로 저장한다. ( Expression Name은 [ Real_vol ]로 한다. )

NX에서의 수정작업이 완료되면 PTS 모듈을 실행하여 아래와 같이 모든 Expression을 등록한다.

image-20240129160807844

등록된 PTS 객체의 설정을 변경한다.

image-20240129160917773

  1. Input_DIA는 [ On / Off ]개념으로 작동하는 객체이므로 Display Style을 [Checkbox]로 설정한다.

image-20240129161046400

  1. Input_DIA가 [ On ]일 경우 KeyIn_DIA 항목이 활성화 되도록 하기 위해 Dependencies 항목을 위와 같이 설정한다.

image-20240129161158629

  1. Input_DIA가 [ Off ]되면 KeyIn_H 항목을 활성화 하여 입력이 가능하도록 KeyIN_H의 설정을 변경 한다.

image-20240129161247217

  1. 추가로 Real_DIA와 Real_H, Real_Vol값은 Display Style을 [ Readonly Text ]로 설정하여 생성결과를 실시간으로 확인하는 용도로 활용한다.

모든 설정이 완료되면 PTS를 저장한다.

image-20240129161320300

Assembly Navigator에서 Edit Reusable Component를 선택하여 PTS Library 실행하고

image-20240129161331228

원형 용기의 용량을 20으로 변경하면

image-20240129161350001

원형용기 직경을 20mm로 설정하였기에 해당 용기의 직경과 높이, 실제 용적을 확인할 수 있다.

image-20240129161400722

이때 용기 직경을 25mm로 변경하면 해당 용기의 직경과 높이, 실제 용적이 변경된다.

image-20240129161414457

두번째 조건으로 원형용기 직경 입력을 [ Off ]하면 운형 용기의 높이를 입력할 수 있게 되며 높이 [ 48mm ]를 입력하게 되면 용량 20cc에 해당하는 직경 값이 계산되어 표시된다.

관련 글

Expression Tip.02
·2 분· loading · loading
NX Expression Tip. 02 # 안녕하세요 이번에 소개해드릴 NX 팁은 액체를 담는 용기를 설계하는 작업을 진행하면서 용기의 용량을 확인하는 방법과 원하는 용량을 입력하면 용기의 Size를 자동으로 계산하여 생성하는 방법입니다. 이런 형상의 용기를 설계한다고 가정하고 모델링을 시작 합니다. 먼저 Expression 기능을 실행하여 사용하고자 하는 변수를 등록합니다. DIA = 10 [ Unit : / Dimensionality : Unitless / Type : Number ] H = 48 [ Unit : / Dimensionality : Unitless / Type : Number ] T = 1 [ Unit : / Dimensionality : Unitless / Type : Number ] 등록된 Expression을 이용하여 Sketch를 생성합니다.
NX Expression Tip. 01
·2 분· loading · loading
NX Expression Tip. 01 # 안녕하세요 NX Expression은 그냥 특정 변수를 등록하고 계산하고 반영하는 단순사용이 대부분이지만 사용하기에 따라서 API프로그램을 이용한 자동화 모듈처럼 사용이 가능합니다. 이러한 활용에 대한 NX Expression관련 팁을 알려 드립니다. 위와 같은 형상이 있고 두 객체 사이를 연결하는 부품을 설계한다고 가정했을때 보통은 두 형상 사이의 거리를 측정하여 측정된 거리 값으로 설계를 하게 됩니다.
PTS 응용 - Line Vector 추출
·4 분· loading · loading
PTS 응용 - Path Vector 추출 # 특정 Library의 경우 X 방향과 Y방향에 해당하는 Reference 요소를 지정해줘야 생성이 가능하기에 Reference 선택 단계가 추가되는 경우가 많다. 특히나 NX의 좌표 체계에 각각 직교하는 축 방향을 가지는 CSYS를 생성하고 활용해야 하는 상황에서 축 방향 Reference를 중복 선택 할 경우 에러가 발생하게 된다.