본문 바로가기

Researches8

[ABAQUS] 파이썬을 활용한 아바쿠스 결과 파일(.odb) 분석 자동화 To Do ✅ python을 활용한 ABAQUS .odb 결과 파일 분석 ABAQUS로 구조해석을 하고 나면, 해석을 돌리기 전 지정한 field output 혹은 history output 결과가 .odb 파일 형식으로 출력된다. 요소(element) 숫자가 굉장히 많고 해당 스텝(step)을 마무리하기 위한 프레임(frame)이 많이 있다면, 결과 파일의 용량도 커지고 프로그램 상에서 분석하기가 쉽지 않다. 정해진 메쉬(mesh)이고 하중/경계 조건(load/boundary condition)만 달리하면서 보고자 하는 노드/요소(node/element)가 정해져 있다면 set을 지정하고 그에 해당하는 결과만을 뽑을 수도 있지만, 정해진게 있지 않고 많은 불확실성을 내포하고 있는 모델이라면 특정 조건에.. 2023. 5. 19.
[Rhino | Grasshopper] 파이썬을 이용한 불리언 토글(Boolean Toggle) 닉네임과 값 읽고 쓰기 파라메트릭 모델링(parametric modeling)을 위해서 여러 조합을 생성하려면, 그래스호퍼 컴포넌트에 접근해서 이름과 값을 읽고 내가 원하는 값으로 수정을 할 수도 있어야 한다. 따라서 이번 포스트에서는 그래스호퍼 파이썬을 이용하여 내가 정의한 컴포넌트에 접근하고 쓰는 방법에 대해서 알아보도록 하겠다. 다루는 컴포넌트는 다음과 같다: 불리언 토글(Boolean Toggle) 컴포넌트 값 리스트(Value List) 컴포넌트 그래스호퍼 파이썬(GHpython) 불리언 토글(Boolean Toggle) 컨트롤 현재 초기 값으로 모두 거짓(False)으로 되어 있는데, 아래 파이썬 컴포넌트를 만들면서 이 Boolean Toggle들을 일괄적으로 제어해보려고 한다. 닉네임(Nickname)은 그냥 10.. 2023. 4. 25.
[Rhino | Grasshopper] 원호(arc) 아크 그리기 - 그래스호퍼 3d 파이썬 활용 To Do ✅ 그래스호퍼 3d 파이썬(python)을 활용한 원호(arc) 여러 개 그리기 ✅ 방향 파악을 위한 벡터(vector) 가시화 지난 포스트에서 바운딩 박스(bounding box)를 통해 내가 만들었던 오브젝트의 정확한 크기를 파악하고자 했다. 그 과정에서 원주 방향의 각 개체의 크기를 파악해야 하는데 arc를 그려서 그 길이 파악이 필요했고 그 과정을 기록하려고 한다. rhinoscriptsyntax를 rs로 불러와서 AddArcPtTanPt 메소드를 사용할 건데, 필요한 input은 세 가지: 시작 점(start point) 끝 점(end point) 시작 점에서의 접선 벡터(tangential vector) 일단 성공적으로 내가 원하는 결과를 얻기 위해서는 원통(cylinder) 원주 .. 2023. 4. 7.
[Rhino | Grasshopper] 그래스호퍼 3d 파이썬 - GHpython 활용해보기 To Do ✅ GHpython을 이용한 레이어(Layer) 접근 ✅ GHpython을 이용한 바운딩 박스 만들기 지난 포스트에서 바운딩 박스를 그래스호퍼 컴포넌트를 이용해서 만들어 봤다. https://totheretirement.tistory.com/entry/Rhino-Grasshopper-bounding-box [Rhino | Grasshopper] 원하는 객체의 바운딩 박스(bounding box) - 그래스호퍼 활용 To Do ✅ Grasshopper를 활용한 bounding box 만들기 - 해당하는 객체 인덱싱 - origin point, normal을 이용한 평면 구성 Grasshopper 활용 아마 이 포스트를 보고 있다면 그래스호퍼(Grasshopper)가 라이노(Rhino)에서 tot.. 2023. 3. 29.
[Rhino | Grasshopper] 원하는 객체의 바운딩 박스(bounding box) - 그래스호퍼 활용 To Do ✅ Grasshopper를 활용한 bounding box 만들기 - 해당하는 객체 인덱싱 - origin point, normal을 이용한 평면 구성 Grasshopper 활용 아마 이 포스트를 보고 있다면 그래스호퍼(Grasshopper)가 라이노(Rhino)에서 어떤 플러그인(Plugin)인지 알고 있을 것이다. 간단하게 그래스호퍼가 무엇인지 요약하자면, 파라메트릭 모델링(Parametric modeling)을 할 수 있도록 도와주는 라이노의 강력한 툴이라고 할 수 있겠다. 여러 파라미터를 조작해서 모델링을 하려고 하면 그냥 단순하게 라이노에서 모델링을 하는 것이 아닌 그래스호퍼를 이용해서 모델을 만들면 굉장히 편하다. 나 같은 경우에는 모델링 뿐만 아니라 모델링 이후에 예를 들면 이 모델.. 2023. 3. 27.
PCL(Point Cloud Library: 포인트 클라우드 라이브러리) 활용 To Do ✅ python-pcl 설치 ✅ 라이브러리 활용해보기 python-pcl 설치 하 여러번 시도 끝에 드디어 이 라이브러리를 쓸 수 있는 환경을 만들었다. 아마 이 포스트를 보는 사람들 중에 개고생한 사람들 여럿 있지 않을까 싶다. docker로 빌드는 됐었지만 익숙치 않다보니 다시 설치를 시도해봤다. 설치 성공 경험을 다음과 같이 공유한다. 아래 중국 친구가 csdn에서 설치 경험을 공유해줬는데 나도 성공했다. 중국 친구의 PCL 라이브러리 설치 경험 들으러 가기 설치 세팅이 완료되면, 시각화에 조금 용이한 open3d 라이브러리를 설치해줘야하는데 pip install, conda install 둘 다 안돼서, 다음의 명령어로 설치했다. conda install -c open3d-admin -.. 2023. 2. 22.
[Python] 3차원 영역확장 알고리즘 (3D region growing algorithm) To Do ✅ Pointcloud 탐색 관련 알고리즘 ✅ Region growing 알고리즘 이해 ✅ 관련 python 코드 작성 ✅ 3D point cloud에 segmentation 적용 결과 Point cloud Search(점군 탐색) 포인트 클라우드는 unstructured 데이터이다. 포인트는 x, y, z 좌표로 이루어져 있는데, 그 주위의 이웃하는 점(neighbor point)을 특정하는게 그렇게 사소한 작업(trivial task)은 아니다. 점 간의 거리 계산은 포인트 클라우드나 매쉬(mesh) 분석, 노이즈 제거, 면 다듬기(local smoothing), 모델을 표현하기 위한 점 줄이기(decimation) 등등 많은 부분에 필요한 작업이다. 포인트 클라우드나 매쉬 탐색에는 다음의.. 2023. 2. 14.
pointcloud 머신러닝/AI 트레이닝 데이터셋 전처리(Pre-processing) 기술이야 빠르게 발전하겠지만, 아직까지 civil engineering 분야에서 혹은 적어도 내 분야에서 부족한 부분이라고 생각이 드는 부분은 3D sanner를 활용한 정밀 탐상 자료에 대한 분석, 그 중에서도 점군(pointcloud)의 분류(classification) 문제가 현재 부족하다. 구조공학(structural engineering) 쪽에 몸을 담고 있는 필자는 분류된 데이터를 활용하여 어떤 부분이 구조적으로 취약한지, 앞으로 보수가 더욱 필요할지에 대해서 제시를 할 수 있도록 연구를 하고 있기 때문에 이 post에서는 내가 가지고 있는 pointcloud dataset에 대한 전처리(pre-processing) 과정에 대해서 정리를 해보도록 하겠다. 정답 데이터 (Ground-truth .. 2022. 6. 23.