• 회원가입
  • |
  • 로그인
  • |
  • 장바구니
  • News
    뉴스 신제품 신간 Culture & Life
  • 강좌/특집
    특집 강좌 자료창고 갤러리
  • 리뷰
    리뷰
  • 매거진
    목차 및 부록보기 잡지 세션별 성격 뉴스레터 정기구독안내 정기구독하기 단행본 및 기타 구입
  • 행사/이벤트
    행사 전체보기 캐드앤그래픽스 행사
  • CNG TV
    방송리스트 방송 다시보기 공지사항
  • 커뮤니티
    업체홍보 공지사항 설문조사 자유게시판 Q&A게시판 구인구직/학원소식
  • 디렉토리
    디렉토리 전체보기 소프트웨어 공급업체 하드웨어 공급업체 기계관련 서비스 건축관련 업체 및 서비스 교육기관/학원 관련DB 추천 사이트
  • 회사소개
    회사소개 회사연혁 출판사업부 광고안내 제휴 및 협력제안 회사조직 및 연락처 오시는길
  • 고객지원센터
    고객지원 Q&A 이메일 문의 기사제보 및 기고 개인정보 취급방침 기타 결제 업체등록결제
  • 쇼핑몰
1D 시뮬레이션을 위한 카티아 다이몰라
아레스 캐드 2025의 새로운 기능
고지도 데이터베이스
  • 전체
  • 범용
  • 기계
  • 건축
  • 그래픽
  • 기타
직스캐드의 포인트 클라우드 기능
복잡한 모델에서 인사이트를 얻고 설계 의사결정을 돕는 직스캐드 (2)   직스캐드(ZYXCAD)는 2022년 처음 출시한 국내 자체 개발 범용 CAD 솔루션 프로그램으로, 가격 경쟁력을 높이는 한편으로 처리 속도를 빠르게 해 사용자 편의성을 높인 것이 특징이다.  이번 호에서는 혁신적인 디자인 경험을 제공할 수 있는 직스캐드 2024의 포인트 클라우드(point cloud, 점군) 기능에 대해 살펴본다.   ■ 이소연 직스테크놀로지 기술지원팀의 대리로 직스캐드의 기술지원 및 교육을 맡고 있다. 이메일 | tech@zyx.co.kr 홈페이지 | https://zyx.co.kr   그림 1. 포인트 클라우드의 예시   직스캐드 2024 버전에서는 디자인 및 엔지니어링 분야의 혁신이 더욱 확대되었다. 이번에 추가된 포인트 클라우드 기능은 사용자들에게 새로운 차원의 디자인 경험을 제공하며, 디자인 작업을 보다 직관적이고 효율적으로 만들어낸다. 포인트 클라우드 기능은 물체나 환경을 3차원 공간 상에 좌표로 표현한 데이터를 쉽게 가져와서 디자인 작업에 활용할 수 있다. 이는 레이저 스캐너나 카메라를 통해 취득된 데이터를 직스캐드에서 쉽게 작업하여 설계자들이 사진에 담을 수 없었던 현장을 그대로 볼 수 있게 됐다. 이 기능을 통해 사용자들은 건축물의 외형을 분석하고 수정하는데 사용할 수 있으며, 제조 엔지니어는 제품의 형태와 치수를 분석하여 제조 공정을 최적화할 수 있다. 또한, GIS 전문가는 지형 분석 및 지리 정보 시스템에 포인트 클라우드 데이터를 쉽게 통합하여 지형 모델링을 수행할 수 있다. 이 외에도 포인트 클라우드 기능은 다양한 산업 분야에서 활용될 수 있으며, 사용자들에게 더욱 직관적이고 효율적인 경험을 제공한다. 직스캐드 2024의 새로운 포인트 클라우드 기능은 디자이너들의 창의성을 끌어올리고 혁신적인 디자인을 만들어내는데 도움이 될 것이다.   포인트 클라우드 사용하기 데이터 취득 포인트 클라우드를 만들기 위해서는 먼저 데이터가 필요하다. 레이저 스캐너, 구조 광 프로젝터, 드론 또는 스테레오 카메라와 같은 장비를 사용해야 된다. 이러한 장비로 물체나 환경을 촬영하고 측정하여 3D 좌표를 생성한다.   데이터 처리 현재 직스캐드 2024 버전에서는 6개의 확장자를 지원한다. (*.rcs, *.rcp, *.e57, *.las, *.laz, *.pts) 취득한 데이터를 변환하는 작업을 거치면 모델을 확인할 수 있다.   그림 2. 포인트 클라우드 변환   포인트 클라우드 시각화 데이터가 처리되면 포인트 클라우드를 시각화하여 확인할 수 있다.    분석 및 편집 시각화된 포인트 클라우드를 통해 색상 및 단면, 점의 크기와 세밀도를 필요에 따라 편집할 수 있다.   그림 3. 포인트 클라우드 편집   시뮬레이션 및 검증 디자인이 완료되면 시뮬레이션을 통해 제품이나 구조물의 특징을 확인할 수 있다. 이를 통해 디자인의 품질과 안정성을 확보할 수 있다.     ■ 자세한 기사 내용은 PDF로 제공됩니다.
이소연 작성일 : 2024-05-02 조회수 : 926
오픈AI CLIP 모델의 이해/코드 분석/개발/사용
BIM 칼럼니스트 강태욱의 이슈 & 토크   이번 호에서는 생성형 AI의 멀티모달 딥러닝 기술 확산의 계기가 된 오픈AI(OpenAI)의 CLIP(Contrastive Language-Image Pre-Training, 2021) 코드 개발 과정을 분석하고, 사용하는 방법을 정리한다.    ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 이메일 | laputa99999@gmail.com 페이스북 | www.facebook.com/laputa999 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | http://www.facebook.com/groups/digestpodcast CLIP은 구글이 개발한 자연어 번역 목적의 트랜스포머 모델, 비전 데이터 변환에 사용되는 VAE(Variational Autoencoder) 개념을 사용하여 멀티모달 학습 방식을 구현하였다. 이번 호에서는 그 과정을 설명하고 파이토치로 직접 구현하는 과정을 보여준다. CLIP을 이용하면 유튜브, 넷플릭스와 같은 영상에서 자연어로 질의해 해당 장면을 효과적으로 검색할 수 있다. 참고로, CLIP에서는 트랜스포머가 핵심 컴포넌트로 사용되었다. CLIP과 같이 트랜스포머가 자연어 번역 이외에 멀티모달의 핵심 기술이 된 이유는 비정형 데이터를 연산 가능한 차원으로 수치화할 수 있는 임베딩 기술의 발전과 트랜스포머의 Key, Query, Value 입력을 통한 여러 학습 데이터 조합이 가능한 특징이 크게 작용했다.    그림 1. 멀티모달 시작을 알린 오픈AI의 CLIP 모델(Learning Transferable Visual Models From Natural Language Supervision, 2021)   트랜스포머와 VAE를 이용한 멀티모달 CLIP 네트워크를 좀 더 깊게 파헤쳐 보도록 한다. 앞서 설명된 트랜스포머, 임베딩과 관련된 개념에 익숙하다면, CLIP을 이해하고 구현하는 것이 그리 어렵지는 않을 것이다.    CLIP에 대한 이해 오픈AI에서 개발한 CLIP 모델은 공유 임베딩 공간 내에서 이미지 및 텍스트 형식을 통합하는 것을 목표로 했다. 이 개념은 기술과 함께 이미지와 텍스트를 넘어 다른 양식을 수용한다.(멀티모달) 예를 들어, 유튜브 등 비디오 애플리케이션 내에서 텍스트 검색 성능을 개선하기 위해 공통 임베딩 공간에서 비디오 및 텍스트 형식을 결합하여 모델을 학습시켰다. 사실, 임베딩 텐서를 잠재 공간(Latent Space)으로 이기종 데이터를 변환, 계산, 역변환할 수 있다는 아이디어는 VAE 기술, 구글의 트랜스포머 논문(2017)을 통해 개발자들 사이에 암시되어 있었다. 이를 실제로 시도해본 연구가 CLIP이다.  참고로, CLAP(Contrastive Language-Audio Pretraining)은 동일한 임베딩 공간 내에서 텍스트와 오디오 형식을 통합하는 또 다른 모델로, 오디오 애플리케이션 내에서 검색 기능을 개선하는 데 유용하다. CLIP은 다음과 같은 응용에 유용하다. 이미지 분류 및 검색 : CLIP은 이미지를 자연어 설명과 연결하여 이미지 분류 작업에 사용할 수 있다. 사용자가 텍스트 쿼리를 사용하여 이미지를 검색할 수 있는 보다 다양하고 유연한 이미지 검색 시스템을 허용한다. 콘텐츠 조정 : CLIP은 부적절하거나 유해한 콘텐츠를 식별하고 필터링하기 위해 이미지와 함께 제공되는 텍스트를 분석하여, 온라인 플랫폼의 콘텐츠를 조정하는 데 사용할 수 있다. 참고로, 메타 AI(Meta AI)는 최근 이미지, 텍스트, 오디오, 깊이, 열, IMU 데이터 등 6가지 양식에 걸쳐 공동 임베딩을 학습하는 이미지바인드(ImageBind)를 출시했다. 두 가지 모달리티를 수용하는 최초의 대규모 AI 모델인 CLIP은 이미지바인드 및 기타 다중 모달리티 AI 시스템을 이해하기 위한 전제 조건이다. CLIP은 배치 내에서 어떤 N×N(이미지, 텍스트) 쌍이 실제 일치하는지 예측하도록 설계되었다. CLIP은 이미지 인코더와 텍스트 인코더의 공동 학습을 통해 멀티모달 임베딩 공간을 만든다. CLIP 손실은 트랜스포머의 어텐션 모델을 사용하여, 학습 데이터 배치에서 N개 쌍에 대한 이미지와 텍스트 임베딩 간의 코사인 유사성을 최대화하는 것을 목표로 한다.  다음은 이를 설명하는 의사코드이다. 1. img_en = image_encoder(I)   # [n, d_i] 이미지 임베딩 인코딩을 통한 특징 추출  2. txtxt_emdn = textxt_emdncoder(T)    # [n, d_t] 텍스트 임베딩 인코딩을 통한 특징 추출 3. img_emd = l2_normalize(np.dot(img_en, W_i), axis=1)    # I×W 결합(조인트) 멀티모달 임베딩 텐서 계산 4. txt_emd = l2_normalize(np.dot(txtxt_emdn, W_t), axis=1)  # T×W 결합(조인트) 멀티모달 임베딩 텐서 계산 5. logits = np.dot(img_emd, txt_emd.T) * np.exp(t)   # I×T * E^t 함수를 이용한 [n, n]코사인 유사도 계산 6. labels = np.arange(n) 7. loss_i = cross_entropy_loss(logits, labels, axis=0)  # 이미지 참값 logits과 예측된 label간 손실 8. loss_t = cross_entropy_loss(logits, labels, axis=1)  # 텍스트 참값 logits과 예측된 label간 손실 9. loss = (loss_i + loss_t)/2   # 이미지, 텍스트 손실 평균값   실제 오픈AI 논문에는 <그림 2>와 같이 기술되어 있다.(동일하다.)   그림 2     ■ 자세한 기사 내용은 PDF로 제공됩니다.
강태욱 작성일 : 2024-05-02 조회수 : 951
캐디안 2024의 스크립트 기능
새로워진 캐디안 2024 살펴보기 (5)   ■ 최영석 캐디안 기술지원팀 부장으로 기술지원 업무 및 캐드 강의를 담당하고 있다. 이메일 | cad@cadian.com 홈페이지 | www.cadian.com 카페 | https://cafe.naver.com/ilovecadian 지난 연재를 통해 오토캐드와 양방향으로 호환되는 국산 CAD인 캐디안(CADian) 2024 버전에서 이용 가능한 몇 가지 부가 기능에 대해서 알아보았다. 이번 호에서는 이전 버전부터 계속 지원되던 스크립트(script) 기능을 알아보고, 활용 방법에 대해서 살펴보도록 하겠다.    스크립트 기능 소개 캐디안을 사용하여 도면 작업을 진행할 때 동일한 명령을 수차례 또는 수 백차례 반복하는 경우, 키보드와 마우스를 이용해서 명령어 또는 좌표를 일일이 직접 입력하려면 많은 시간과 노력이 소모된다. 이렇게 유사한 반복되는 일련의 작업을 자동으로 실행하도록 마련된 기능이 스크립트(script)이다. 스크립트 파일의 오토캐드 사용자 인터페이스에서 일련의 명령을 실행하는 대신, 스크립트 파일을 사용하여 동일한 입력을 사용하는 명령 시퀀스를 실행할 수 있다.    SCR 파일 형식 캐디안 스크립트 파일의 확장자는 *.SCR이다. 일반적으로 스크립트 파일은 텍스트 형식으로 작성되며, 사용자가 수행하려는 명령을 포함한다. 사용자가 직접 메모장을 열어서 스크립트를 작성해도 정상적으로 이용이 가능하다.   명령 자동화 캐디안의 스크립트 기능을 사용하면 사용자가 수동으로 일일이 입력하거나 실행해야 하는 일련의 명령 및 좌표 입력, 수치 입력을 모두 자동화할 수 있다. 이를 통해서 사용자들의 입력 실수를 줄일 수 있고, 반복적이고 지루한 작업을 보다 빠르게, 자동으로 처리할 수 있다.   반복 작업 처리 스크립트 기능을 사용하면 동일한 명령을 여러 번 또는 수십, 수백번 반복 실행하여 작업을 처리할 수 있다. 작업자가 수동으로 일일이 입력하거나 실행하는 것보다 속도도 빠를 뿐 아니라, 오타나 잘못된 값을 입력해서 생기는 문제를 미연에 방지할 수도 있다.   배치 처리 스크립트 기능을 사용하면 여러 파일이나 도면에 대해 동일한 작업을 일괄 처리할 수 있다. 특정한 폴더에 있는 여러 장의 도면에 특정한 부분에 문자를 수정하거나 좌표를 입력하는 등의 작업을 진행할 수 있어서, 대규모 프로젝트의 일괄 처리 기능을 통한 작업 효율 증대가 가능하다.   스크립트 작성하기 캐디안을 사용하면서 마우스와 키보드 입력을 그대로 따라하도록 스크립트를 작성하는 실제 사례를 확인하도록 하겠다. 다음과 같은 순서대로 진행하는 경우 도면의 0, 0 지점에 지름 100인 원을 자동으로 작도하는 스크립트를 작성할 수 있다. 차후에 다른 도면을 연 상태에서 작성한 스크립트를 로딩하여 실행하면 0, 0 지점에 지름 100인 원을 자동으로 작도하게 된다.   1. 리본 메뉴에서 도구 → 응용프로그램 → 스크립트 기록 항목을 선택하거나, 명령창에 ‘recscript’를 입력하여 스크립트 기록을 실행한다.      2. 스크립트 파일을 저장할 폴더와 파일명을 입력한 뒤 ‘저장’ 버튼을 클릭한다.     3. 좌표 0, 0에 지름 100인 원을 그리기 위해서 다음과 같이 명령 및 옵션, 좌표를 입력한다. 명령창에 circle 입력 → 원의 중심점 : 0, 0 입력 → d 옵션 입력 → 지름 : 100을 입력하는 순서로 진행한다.     4. 스크립트 기록을 종료하기 위해서 녹화 중지 기능을 실행해야 한다. 리본 메뉴에서 도구 → 응용프로그램 → 녹화 중지 항목을 선택하거나, 명령창에 ‘stopscript’를 입력하여 스크립트 기록을 중지한다.      5. 그림과 같이 스크립트가 작성된다.       ■ 자세한 기사 내용은 PDF로 제공됩니다.
최영석 작성일 : 2024-05-02 조회수 : 929
아레스 캐드 2025의 새로운 기능
데스크톱/모바일/클라우드를 지원하는 아레스 캐드 2025 (1)   DWG 호환 CAD인 독일 그래버트(Graebert)의 아레스 캐드(ARES CAD)는 PC 기반의 아레스 커맨더(ARES Commander), 모바일 기반의 아레스 터치(ARES Touch), 클라우드 기반의 아레스 쿠도(ARES Kudo) 모듈로 구성되어 있다. 이 모듈은 상호 간에 동기화되므로 이를 삼위일체형(trinity) CAD라고 부른다. 이번 호에서는 오토캐드와 호환되는 데스크톱 PC 기반의 아레스 커맨더 2025 버전과 아레스 제품군의 새로운 기능을 간단하게 알아보도록 하겠다.   ■ 천벼리 인텔리코리아 3D 솔루션 사업본부 대리로 기술영업 업무를 담당하고 있다.   이메일 | ares@cadian.com 홈페이지 | www.arescad.kr 블로그 | https://blog.naver.com/graebert  유튜브 | www.youtube.com/GraebertTV   오토캐드 호환성 - 전환을 용이하게 하는 개선된 UI 명령어 : OPTIONS     옵션 대화 상자는 모든 설정을 한데 모아 단위 및 사용자 설정을 포함해 쉽게 접근할 수 있다. 검색 기능이 강화되어 필요한 설정을 손쉽게 찾을 수 있게 개선되었다. 또한, 치수 스타일을 더욱 빠르게 조정할 수 있는 새로운 대화 상자가 추가되어 오토캐드처럼 세부 사항을 사용자 맞춤 설정할 수 있다. 검색 도구에는 사용자가 입력하기 시작하면 사라지는 ‘설정 검색’ 힌트 텍스트가 포함된 입력 상자가 있어, 정확하거나 부분적으로 일치하는 설정을 쉽게 찾을 수 있다. 사용자가 제안된 옵션 위로 마우스를 가져가면 해당 선택을 확인할 수 있는 상세 정보가 표시된다.  이번 버전에서는 오토캐드 사용자가 아레스로 부드럽게 전환할 수 있도록 치수 스타일 편집 기능이 오토캐드 인터페이스와 유사하게 개선되어, 사용자 정의가 더욱 직관적이고 간편해졌다.   인공지능 - 아레스 AI 어시스트 명령어 : ARESAIASSIST     오픈AI(OpenAI) 기반의 아레스 AI 어시스트(A3)는 다양한 언어로 아레스 사용자를 지원하는 인공지능이다. 기능 사용 방법 설명, 인터페이스 탐색, 질문 응답, 사용자 인터페이스 맞춤화, 변환 및 계산, 다양한 언어로의 텍스트 번역 등을 수행한다.  A3는 기본적으로 활성화되어 있으며, 필요에 따라 켜거나 끌 수 있다. 모든 사용자에게 유용하며, 특히 새 사용자는 트리니티(Trinity) 협업 기능과 BIM 기능 학습에서 도움을 받을 수 있다.   상호 운용성 - 아레스 커맨더의 시빌 3D 지원     오토데스크 시빌 3D(Civil 3D) 엔티티 지원을 새롭게 도입하여, 아레스 환경 내에서 시빌 3D 엔티티의 시각화를 가능하게 한다. 초기 버전은 제한된 기능을 제공하지만, 향후 릴리스를 통해 이 기능은 지속적으로 발전될 예정이다. 이러한 발전은 아레스 커맨더와 시빌 3D 간의 상호 운용성을 강화하여, 토목 공학 및 인프라 프로젝트의 설계와 문서화에 종합적인 솔루션을 제공할 것이다.   상호 운용성 - DWG에서 DGN으로 내보내기 명령어 : EXPORTDGN(DGNEXPORT)     DWG 파일을 DGN 형식으로 내보낼 수 있는 기능을 제공한다.  이 기능은 특히 벤틀리 시스템즈의 마이크로스테이션(MicroStation) 사용자나 프로젝트와이즈(ProjectWise)와 작업하는 고객에게 유용하며, 이를 통해 상호 운용성이 향상된다. DGN 파일은 토목 공학, 건축 등 다양한 분야에서 사용되며, 마이크로스테이션 및 인터그래프 소프트웨어의 주요 파일 형식이다. 아레스 커맨더의 이 기능은 단순한 파일 변환을 넘어 DWG와 DGN 형식 간 스타일 차이를 조정하고 이러한 설정을 저장하는 매핑 설정을 제공하여, 사용자가 더 세밀한 변환을 할 수 있도록 지원한다.     ■ 자세한 기사 내용은 PDF로 제공됩니다.
천벼리 작성일 : 2024-05-02 조회수 : 936
[무료다운로드] 직스캐드 2024의 최신 기능 업데이트
복잡한 모델에서 인사이트를 얻고 설계 의사결정을 돕는 직스캐드 (1)   직스캐드(ZYXCAD)는 2022년 처음 출시한 국내 자체 개발 범용 CAD 솔루션 프로그램으로, 가격 경쟁력을 높이는 한편으로 처리 속도를 빠르게 해 사용자 편의성을 높인 것이 특징이다. 이번 호부터 직스캐드 2024에서 업그레이드된 주요 기능을 소개할 예정이다. 이번 호에서는 사용자에게 더 많은 유연성과 제어 기능을 제공하는 동적블록의 활용도를 알아보고, 건축 설계에서 동적블록의 실제 활용사례를 확인해보자.   ■ 이소연  직스테크놀로지 기술지원팀의 대리로 직스캐드의 기술지원 및 교육을 맡고 있다. 이메일 | tech@zyx.co.kr 홈페이지 | https://zyx.co.kr   동적 블록 기능 소개   그림 1. 동적 블록 설정   직스캐드 2024 버전에서는 이전 버전에서 지원되지 않던 동적 블록 생성 및 편집 기능이 추가되었다. 동적 블록은 형상에 매개변수 및 구속 조건, 동작을 추가하여 블록을 분해하지 않아도 유연하게 수정하여 사용할 수 있는 기능이다.   편리한 관리 동적 블록은 정적인 구성 요소를 뛰어넘어 사용자에게 더 많은 제어와 유연성을 제공한다. 이 기능을 통해 하나의 블록에 필요에 따라 동적으로 변할 수 있는 속성을 부여할 수 있다. 이는 다양한 디자인 요소에 적용할 수 있어, 블록 기능을 더욱 다채롭게 표현할 수 있게 한다.   시간 절약 및 효율성 동적 블록은 작업 속도를 높여주는 장점이 있다. 한 번의 디자인 작업으로 여러 상황에 대응할 수 있기 때문에, 반복적인 프로세스에서 작업 시간을 단축할 수 있다. 또한, 동적 블록의 업데이트가 필요할 때 한 번의 수정으로 모든 인스턴스를 한꺼번에 업데이트할 수 있어 불필요한 수고를 덜어준다.   동적 블록 사용하기   그림 2. 동적 블록 설정   블록 생성 동적 블록은 블록을 생성한 후 블록 편집기에서 속성을 부여할 수 있다.   속성 정의 동적으로 사용할 객체를 선택한 후 속성을 정의한다. 예를 들면 크기, 위치, 배열 등을 동적 속성으로 지정 가능하다.   속성 값 할당 설정된 매개 변수값에 동작을 추가한 후 범위를 지정한다. 이러한 값은 나중에 블록을 사용할 때 동적으로 변경된다.   블록 목록화 블록을 뷰에 따라 설정하고 동적으로 변경될 수 있는 속성을 부여하면 목록으로 구성하여 사용할 수 있다.    동적 속성 수정 블록의 동적 속성을 필요에 따라 수정 가능하다. 블록을 선택하고 해당 속성을 조정하여 자유롭게 편집할 수 있다.   블록 업데이트 블록의 원본을 수정하여 업데이트하면 원본 객체와 관련된 모든 블록을 한 번에 수정할 수 있다.   그림 3. 동작 범위 설정     ■ 자세한 기사 내용은 PDF로 제공됩니다.
이소연 작성일 : 2024-04-01 조회수 : 2186
로컬 호스트 LLM 오픈소스 기반 BIM 전문가 챗봇 서비스 만들어보기
BIM 칼럼니스트 강태욱의 이슈 & 토크   요즘 LLM 모델을 사용하는 방법이 점차 간편해지고 있어 자체적으로 LLM을 구축해 챗봇, 전문가 시스템 등을 자신의 서버에서 제공하는 경우가 많아지고 있다. 이번 호에서는 GPU가 있는 PC에서 직접 실행해 볼 수 있도록, 로컬 호스트 LLM(대규모 언어 모델) 오픈소스 기반의 BIM 전문가 챗봇 서비스를 간단히 개발해 본다.   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 이메일 | laputa99999@gmail.com 페이스북 | www.facebook.com/laputa999 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | http://www.facebook.com/groups/digestpodcast   이번 호에서는 기존의 BIM PDF 파일을 검색해 학습하고, LLM에 RAG(Retrieval-augmented generation) 증강 학습한 후, 이를 간단한 UI로 웹 서비스하는 과정을 간략히 따라해 본다. 이번 호의 내용은 로컬 LLM의 편한 개발을 지원하는 올라마(Ollama), LLM 프롬프트 엔지니어링 프레임워크인 랭체인(LangChain), 텍스트 임베딩 벡터 데이터베이스 크로마(Chroma), 손쉬운 웹 앱 개발 지원 도구인 스트림릿(Streamlit)을 사용한다. 이를 이용해 간단하게 BIM 전문 지식을 PDF로 학습한 챗봇을 개발한다.   그림 1. 로컬 호스트 LLM 챗봇 아키텍처   그림 2. 구현된 BIM 지식 챗봇 서비스   LLM에 관련된 깊은 내용은 다음의 링크를 참고한다. 이 글은 여러 참고 자료를 이용해 작성된 것이다. 상세 내용은 레퍼런스를 참고하기 바란다. Facebook LLAMA-2 paper : https://daddynkidsmakers.blogspot.com/2024/02/llama-2.html Facebook LLAMA-2 installation : https://daddynkidsmakers.blogspot.com/2023/09/llama2.html LLM은 빅테크 업체 간 경쟁이 심한 분야이다. 이와 관련해서 젬마(Gemma), MPT-7B과 같은 LLM 모델이 오픈소스로 공개되고 있어 선택지가 많아지고 있다. 이와 관련해서는 다음을 참고한다.  Google Gemma : https://github.com/google/gemma_pytorch Blooom : https://huggingface.co/bigscience/bloom   설치 설치를 위해서는 엔비디아 드라이버, CUDA, 텐서플로(TensorFlow), 파이토치(PyTorch) 등 기본 딥러닝 개발 환경이 설치되어 있어야 한다.(최소 구동을 위한 GPU RAM은 6GB이다.) TensorFlow 설치 : https://www.tensorflow.org/install/pip?hl=ko#windows-native_1 Start Locally | PyTorch 설치 : https://pytorch.org/get-started/locally/ 설치 순서는 다음과 같다.  1. 기본 패키지를 설치한다. LLM 모델 기반 서비스 개발 지원 라이브러리 랭체인, 웹 앱 UI 개발을 지원하는 스트림릿, 텍스트 임베딩 벡터 데이터베이스 크로마 DB 등을 설치한다. pip install langchain streamlit streamlit_chat pypdf fastembed chardet pip install chromadb==0.4.15   그림 3. 다양한 LLM 모델을 이용한 서비스 개발을 지원하는 랭체인 패키지   그림 4. 간단한 코드로 웹 앱 개발을 지원하는 UI 라이브러리 패키지 streamlit.io   혹은 pip와 유사한 패키지 설치 관리자인 poetry를 설치한 후, 다음 사용 패키지들을 pyproject.toml 이름으로 저장하고 설치한다.     ■ 자세한 기사 내용은 PDF로 제공됩니다.
강태욱 작성일 : 2024-04-01 조회수 : 2219
캐디안 2024의 구성선 및 자유선 기능
새로워진 캐디안 2024 살펴보기 (4)   이번 호에서는 오토캐드와 양방향으로 호환되는 국산 CAD인 캐디안(CADian) 2024 버전에서 이용 가능한 몇가지 부가 기능들에 대해서 알아보겠다. 특히 캐디안 2022 버전부터 지원되던 구성선(cline)과 기본 기능 중 하나인 자유선(freehand) 기능을 알아보고, 그 활용 방법에 대해서 살펴보도록 하겠다.    ■ 최영석 캐디안 기술지원팀 부장으로 기술지원 업무 및 캐드 강의를 담당하고 있다. 이메일 | cad@cadian.com 홈페이지 | www.cadian.com 카페 | https://cafe.naver.com/ilovecadian   구성선(Cline) 구성선은 전면이나 측면도의 투영을 만들기 위해 빠른 제도 기술이 필요할 때 일반적으로 사용되는 특수한 유형의 무한선이다. 무한선과 유사하게 구성선은 주어진 점을 통과하는 선으로 3차원 공간에서 지정된 각도로 향하고 양방향으로 무한대로 확장된다. 구성선은 무한대로 확장되기 때문에 도면 범위의 일부로 계산되지 않는다. 구성선은 기본적으로 CLINE이라는 자체 레이어에 자동으로 그려진다. 이렇게 하면 구성선의 모양을 쉽게 변경할 수 있다. 색상, 투명도 등과 같은 레이어의 속성을 변경하기만 하면 된다. 또한 CLINELAYER 시스템 변수를 사용하여 구성선을 찾기 위해 다른 레이어를 지정할 수 있다.   1. 리본 메뉴에서 2D 그리기 → 구성선을 클릭하거나 또는 메뉴에서 그리기 → 구성선을 클릭한 뒤 세부항목 중에서 원하는 그리기 항목을 선택하거나, 명령창에 ‘cline’을 입력하여 구성선 그리기를 실행한다.      2. 구성선 그리기의 세부항목은 그림과 같이 준비되어 있다. 원하는 기능을 클릭하여 선택하거나 ‘cline’을 입력한 경우, 세부항목의 단축키(예 : 수평 구성선은 H)를 입력한다.     3. 수평, 수직, 수평 및 수직 구성성의 경우, 구성선의 위치를 마우스로 클릭하거나 키보드로 좌표를 입력하면 해당 위치에 하늘색의 구성선이 즉시 작도된다.     4. 각도 구성선의 경우, 명령창에 ‘각도 입력:’ 메시지가 표시될 때 각도를 입력(예 : 45)한 뒤 위치를 마우스로 클릭하거나 키보드로 좌표를 입력하면 해당 위치에 하늘색의 각도 구성선이 즉시 작도된다.        ■ 자세한 기사 내용은 PDF로 제공됩니다.
최영석 작성일 : 2024-04-01 조회수 : 2208
아레스 커맨더의 사용자 인터페이스
데스크톱/모바일/클라우드를 지원하는 아레스 캐드 2024 (12)   DWG 호환 CAD 프로그램인 독일 그래버트(Graebert)의 ARES CAD는 PC 기반의 아레스 커맨더(ARES Commander), 모바일 기반의 아레스 터치(ARES Touch), 클라우드 기반의 아레스 쿠도(ARES Kudo) 모듈로 구성되어 있다. 이 세 가지 모듈은 상호간에 동기화되므로 이를 ‘삼위일체형(Trinity) CAD’라고 부른다. 이번 호에서는 오토캐드와 호환되는 데스크톱 PC 기반의 아레스 커맨더가 어떻게 오토캐드 사용자에게 친숙한 동시에 차별화되었는지를 중심으로, 아레스 커맨더의 사용자 인터페이스(UI)에 대해 소개한다.   ■ 천벼리 캐디안의 3D 솔루션 사업본부 대리로 기술 영업 업무를 담당하고 있다.  이메일 | ares@cadian.com 홈페이지 | www.arescad.kr 블로그 | https://blog.naver.com/graebert  유튜브 | www.youtube.com/GraebertTV   리본 인터페이스    그림 1. 아레스 커맨더의 그래픽 유저 인터페이스   아레스 커맨더와 오토캐드는 사용자가 필요한 기능을 빠르게 찾아낼 수 있도록 도구와 명령을 일련의 탭과 패널로 구성하는 리본 인터페이스를 사용한다. 이 리본 인터페이스로 작업의 속도와 효율을 크게 향상시킨다.   맞춤형 작업 공간    그림 2. 아레스 커맨더의 작업 공간   아레스 커맨더는 왼쪽 상단의 콤보 박스를 통해 작업 스타일에 맞게 작업 공간 간에 전환할 수 있는 기능을 제공한다.   그림 3. 클래식 작업 공간   드롭 다운 메뉴와 툴바로 작업하는 것을 선호한다면 클래식(Classic) 작업 공간을 선택할 수 있다.   명령 호환성   그림 4. 아레스 커맨더의 작업 공간   아레스 커맨더는 오토캐드 사용자가 쉽게 전환할 수 있도록 오토캐드의 명령과 시스템 변수를 지원한다. 별칭 시스템을 통해 오토캐드에서 익숙한 명령을 아레스 커맨더에서도 사용할 수 있다. 예를 들어, 오토캐드의 MTEXT 명령에 해당하는 아레스 커맨더의 NOTE 명령을 사용할 수 있는 기능을 포함한다.   ■ 참고 ‘별칭’이란 원래 이름이나 공식적인 명칭 대신에 사용되는 다른 이름을 의미한다. 예를 들어 소프트웨어에서는 특정 명령어나 함수에 대한 더 짧거나 기억하기 쉬운 이름을 제공하기 위해 별칭을 사용할 수 있다.     ■ 자세한 기사 내용은 PDF로 제공됩니다.
천벼리 작성일 : 2024-04-01 조회수 : 2097
생성형 AI 데이터 학습에 사용되는 딥러닝 강화학습의 개념과 구조
BIM 칼럼니스트 강태욱의 이슈 & 토크   이번 호에서는 생성형 AI 모델 학습과 같이 현재도 다양한 곳에서 필수로 사용되는 강화학습 딥러닝 기술의 기본 개념, 이론적 배경, 내부 작동 메커니즘을 확인한다.   ■ 강태욱 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다. 이메일 | laputa99999@gmail.com 페이스북 | www.facebook.com/laputa999 홈페이지 | https://dxbim.blogspot.com 팟캐스트 | http://www.facebook.com/groups/digestpodcast   강화학습은 바둑, 로봇 제어와 같은 제한된 환경에서 최대 효과를 얻는 응용분야에 많이 사용된다. 강화학습 코딩 전에 사전에 강화학습의 개념을 미리 이해하고 있어야 제대로 된 개발이 가능하다. 강화학습에 대해 설명한 인터넷의 많은 글은 핵심 개념에 대해 다루기보다는 실행 코드만 나열한 경우가 많아, 실행 메커니즘을 이해하기 어렵다. 메커니즘을 이해할 수 없으면 응용 기술을 개발하기 어렵다. 그래서 이번 호에서는 강화학습 메커니즘과 개념 발전의 역사를 먼저 살펴보고자 한다. 강화학습 개발 시 오픈AI(OpenAI)가 개발한 Gym(www.gymlibrary.dev/index.html)을 사용해 기본적인 강화학습 실행 방법을 확인한다. 참고로, 깃허브 등에 공유된 강화학습 예시는 대부분 게임이나 로보틱스 분야에 치중되어 있는 것을 확인할 수 있다. 여기서는 CartPole 예제로 기본적인 라이브러리 사용법을 확인하고, 게임 이외에 주식 트레이딩, 가상화폐, ESG 탄소 트레이딩, 에너지 활용 설비 운영과 같은 실용적인 문제를 풀기 위한 방법을 알아본다.   그림 1. 강화학습의 개념(출처 : Google)   강화학습의 동작 메커니즘 강화학습을 개발하기 전에 동작 메커니즘을 간략히 정리하고 지나가자.   강화학습 에이전트, 환경, 정책, 보상 강화학습의 목적은 주어진 환경(environment) 내에서 에이전트(agent)가 액션(action)을 취할 때, 보상 정책(policy)에 따라 관련된 변수 상태 s와 보상이 수정된다. 이를 반복하여 총 보상 r을 최대화하는 방식으로 모델을 학습한다. 정책은 보상 방식을 알고리즘화한 것이다. <그림 2>는 이를 보여준다. 이는 우리가 게임을 하며 학습하는 것과 매우 유사한 방식이다.   그림 2. 강화학습 에이전트, 환경, 액션, 보상 개념(출처 : towardsdatascience)   강화학습 설계자는 처음부터 시간에 따른 보상 개념을 고려했다. 모든 시간 경과에 따른 보상치를 동시에 계산하는 것은 무리가 있으므로, 이를 해결하기 위해 DQN(Deep Q-Network)과 같은 알고리즘이 개발되었다. 모든 강화학습 라이브러리는 이런 개념을 일반화한 클래스, 함수를 제공한다. 다음은 강화학습 라이브러리를 사용한 일반적인 개발 코드 패턴을 보여준다.   train_data, test_data = load_dataset()  # 학습, 테스트용 데이터셋 로딩 class custom_env(gym):  # 환경 정책 클래스 정의    def __init__(self, data):       # 환경 변수 초기화    def reset():       # 학습 초기 상태로 리셋    def step(action):       # 학습에 필요한 관찰 데이터 변수 획득       # 액션을 취하면, 그때 관찰 데이터, 보상값을 리턴함 env = custom_env(train_data)  # 학습환경 생성. 관찰 데이터에 따른 보상을 계산함 model = AgentModel(env)      # 에이전트 학습 모델 정의. 보상을 극대화하도록 설계 model.learn()                       # 보상이 극대화되도록 학습 model.save('trained_model')    # 학습된 파일 저장 # 학습된 강화학습 모델 기반 시뮬레이션 및 성능 비교 env = custom_env(test_data)  # 테스트환경 생성 observed_state = env.reset() while not done:    action = model.predict(observed_state) # 테스트 관찰 데이터에 따른 극대화된 보상 액션    observed_state, reward, done, info = env.step(action)    # al1_reward = env.step(al1_action) # 다른 알고리즘에 의한 액션 보상값과 성능비교    # human_reward = env.step(human_action) # 인간의 액션 보상값과 성능비교   ■ 상세한 기사 내용은 PDF로 제공됩니다.
강태욱 작성일 : 2024-03-05 조회수 : 2508
캐디안 2024의 슈퍼해치, SetZ 기능 소개
새로워진 캐디안 2024 살펴보기 (3)   오토캐드와 양방향으로 호환되는 국산 CAD인 캐디안(CADian) 2024 버전에서는 몇 가지 새로운 기능이 추가되었다. 이번 호에서는 캐디안 2024 버전에 추가된 새로운 기능 중 슈퍼해치(SuperHatch)와 SetZ(모든 Z 값 수정) 기능에 대해서 살펴보도록 하겠다.   ■ 최영석 인텔리코리아 기술지원팀 부장으로 기술지원 업무 및 캐드 강의를 담당하고 있다. 이메일 | cad@cadian.com 홈페이지 | www.cadian.com 카페 | https://cafe.naver.com/ilovecadian   슈퍼해치 기존에 제공되던 해치(Hatch) 기능의 경우 지정된 무늬만 이용이 가능하지만, 캐디안 2024에서 새로 추가된 슈퍼해치(SuperHatch) 기능은 이미지, 블록, 텍스처, 외부참조 등 다양한 객체를 무늬로 이용하여 해치 작업을 할 수 있게 되었다. 슈퍼해치 기능을 이용하여 이미지를 무늬로 이용하여 해칭하는 방법을 알아보도록 하겠다.   1. 메뉴에서 Express Tools → 슈퍼해치를 클릭하거나, 명령창에 ‘superhatch’를 입력하여 슈퍼해치를 실행한다.     2. 슈퍼해치 창이 표시되면 해치에 사용할 이미지를 선택하기 위해서 위쪽의 ‘이미지’ 버튼을 클릭한다.     3. 이미지 파일(JPG, BMP 등)이 저장된 폴더로 이동한 뒤, 해치에 사용할 이미지 파일을 클릭하여 선택한다. 그 후 아래쪽의 ‘열기’ 버튼을 클릭한다.     4. 오른쪽 상단의 이미지 미리보기를 확인한 후 왼쪽 하단의 ‘삽입점’ 항목을 확인한다. 화면에 지정 항목을 체크할 경우, 이미지를 삽입할 때 마우스 클릭이나 좌표 입력으로 이미지의 위치를 지정할 수 있다. 체크하지 않을 경우 이미지가 삽입될 위치(좌표)를 즉시 지정할 수 있다.     ■ 상세한 기사 내용은 PDF로 제공됩니다.
최영석 작성일 : 2024-03-05 조회수 : 2254
총 게시글 726