안녕하세요.
어제 포스팅에 이은 2번째 ABAQUS를 위한 Python 관련 포스팅입니다.
요즘에는 갑자기 일이 많아져서 포스팅을 길게는 쓰지 못할 것 같습니다. 하지만, 최대한 부지런히 써보려고 노력 중입니다. 또한, 길게는 못써서 저번 포스팅에 있는 것을 분할해서 설명을 드릴려고 합니다. 나중에 들어오시는 분들은 포스팅 흐름대로 공부하시면 될 것 같으나, 계속 보시는 분들 중에 포스팅이 느리다고 생각하시면 코드를 아에 이메일로 보내드릴 생각입니다.
추후에 댓글로 한번 문의를 주시면 전 포스팅에 있는 코드를 보내드릴 수 있도록 하겠습니다. 하지만, 복잡한 과정은 아니고 py파일로 Beam 예제를 풀이를 한 것이기 때문에 기초 과정이라고 생각하시면 될 것 같습니다.
제목에서와 같이 Python을 이용한 ABAQUS 해석 자동화 과정 중 Sketch와 Part 관련 포스팅입니다. 기존에 Python을 많이 써보신 분들은 금방 이해할 수 있을 것이라고 생각합니다.
import sketch
import part
먼저 ABAQUS 모듈에는 다양하게 존재합니다. 예를 들어 Sketch, Part, Material, Step, Interaction 등 더 많은 모듈들이 있습니다. (이 모듈에 대한 설명은 ABAQUS CAE Documentation에서 Context Bar 부분을 확인하면 더 좋으실 것 같습니다.) 이런 모듈을 사용하기 위해서는 위와 같이 Import와 같은 명령어로 모듈을 불러와주는 과정이 필요합니다. 그 과정을 정의해주는 것이라고 생각하시면 될 것 같습니다.
s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=200.0)
Sketch 모듈로 들어가는 것은 MDB(Model Database)에서 모델, 그 안의 Constrained Sketch라는 곳으로 들어가서 설정을 해주어야한다. 그리고 그 안의 여러 기능을 사용하기 위해서 위와 같이 들어가는 과정을 's'라는 변수로 Sketch 모듈까지 들어가는 과정을 치환해줄 수 있다.
Constrained Sketch의 세부 옵션은 이름을 정의하는 부분과 Sheet Size를 넣을 수 있습니다. 먼저 첫번째 'name'은 이름을 정의해주는 부분이고, sheetSize는 Sketch의 모눈 한칸의 길이를 정의합니다.
g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
s.setPrimaryObject(option=STANDALONE)
setPrimaryObject의 Option은 STANDALONE과 SUPERIMPOSE가 있습니다.
STANDALONE이라는 부분은 새로운 Sketch를 그릴때 사용되어지며 SUPERIMPOSE는 그 반대의 경우에 사용되어진다고 생각하시면 됩니다.
s.rectangle(point1=(0.0, 0.0), point2=(L, H))
사각형을 그릴 때 사용되어지는 명령어로써 두점을 찍는 것에 따라서 사각형의 크기를 결정할 수 있다. 처음 사각형의 순서쌍이 0,0의 좌표값이라고 한다면 L은 x축 길이, H는 y축 길이라고 생각하시면 됩니다.
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D, type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['Part-1']
p.BaseSolidExtrude(sketch=s, depth=W)
s.unsetPrimaryObject()
위의 코드는 파트를 형성하는 과정으로서 파트의 이름, 차원, 타입을 결정할 수 있으며, 이 파트 안의 Extrude, Revolve 기능을 이용할 때는 Sketch를 이용하여 깊이나 각도를 설정하는 옵션이 있으니 Abaqus Documentation 2016에서 확인해보시면 될 것 같습니다.
중요한 부분만 설명하고 넘어가면 금방 쓸 수 있을 것이라고 생각했는데, 생각보다 포스팅 속도가 안 나네요.
아무튼 꾸준히 포스팅을 올릴 수 있도록 하겠습니다.
'Program > ABAQUS' 카테고리의 다른 글
ABAQUS를 위한 Python Code 만들기 03 (Assembly와 Step) (0) | 2017.04.03 |
---|---|
ABAQUS를 위한 Python Code 만들기 02 (Material와 Section) (0) | 2017.04.02 |
ABAQUS를 위한 PYTHON 예제 01 (PYTHON 구성) (3) | 2017.03.31 |
ABAQUS 기초 예제 01 (KEYWORD) (0) | 2017.03.30 |
ABAQUS MPC 조건 적용하기 (KEYWORD) (0) | 2017.03.29 |
댓글