티스토리 뷰

프로그래밍/SolidWorks

SOLIDWORKS API

.가끔은 2021. 10. 4. 13:24
반응형

SOLIDWORKS API(Application Programming Interface)는 프로그래밍 방식으로 SOLIDWORKS 기본 명령을 호출하기 위해 타사 소프트웨어에서 사용할 공용 기능을 사용하는 라이브러리 세트입니다.

소프트웨어 개발자는 SOLIDWORKS와의 사용자 상호 작용을 에뮬레이션하여 자동화 루틴을 구현하거나 응용 프로그램에 새 명령을 추가하여 SOLIDWORKS 기능을 보완할 수 있습니다.

SOLIDWORKS API는 사소한 예외를 제외하고 SOLIDWORKS의 거의 모든 기능을 다룹니다(이 경우 API 구현은 일반적으로 향후 릴리스에서 계획됨). 따라서 사용자가 인터페이스에서 SOLIDWORKS로 할 수 있는 모든 작업을 코드에서 에뮬레이션할 수 있다고 말할 수 있습니다.

애플리케이션

  • 반복 작업을 줄이기 위한 자동화 소프트웨어(예: 일괄 처리, 명령 그룹화)
  • 전문 소프트웨어(예: 렌더링, CAM, 애니메이션, 강철 제작, 목재 제작 등)
  • 추가 명령

노트

  • SOLIDWORKS의 모든 패키지(예: Standard, Professional 및 Premium)에 포함된 SOLIDWORKS API.
  • SOLIDWORKS API 도움말은 온라인에서 사용할 수 있습니다. 
  • SOLIDWORKS 자체와 마찬가지로 API는 이전 버전과 호환되지만 이후 버전과 호환되지 않습니다. 즉, 이전 버전의 매크로 및 애드인은 향후 SOLIDWORKS 버전과 호환되지만 그 반대는 불가능합니다.

SOLIDWORKS API는 모든 COM 호환 언어(예: C++, C#, VB.NET 및 Visual Basic)에서 사용할 수 있습니다. SOLIDWORKS API를 사용하여 개발할 수 있는 다양한 유형의 응용 프로그램이 있습니다. 

 


SOLIDWORKS API 개체 모델에는 수백 개의 인터페이스와 수천 개의 메서드 및 속성이 포함되어 있습니다. 모든 인터페이스에는 다른 개체 메서드 또는 속성을 통해 특정 개체에 액세스할 수 있는 관계가 있습니다.

 

메서드 첫글자 i 유무의 차이

SOLIDWORKS API 도움말의 메서드, 속성 및 개체(인터페이스)는 2가지 버전으로 제공됩니다.

  •  I 사용 (예: ISldWorks, IModelDoc2, IAnnotation, ISldWorks::IActiveDoc)
  •  I 없이 (예: SldWorks, ModelDoc2, Annotation, SldWorks::ActiveDoc)

이러한 대안은 모두 동일한 개체 또는 메서드에 해당합니다. 주요 차이점은

  • I 버전의 메서드는 이벤트를 노출하지 않습니다.

SldWorks로 선언된 변수의 사용 가능한 멤버에 대한 스냅샷입니다 . 

이벤트 있음.

ISldWorks 로 선언된 변수의 사용 가능한 멤버에 대한 다음 스냅샷입니다 . 

이벤트 없음.

  • 메서드의 IVersions는 일반적으로 개체 또는 IDispatch 대신 인터페이스의 형식 안전 버전을 반환합니다. 즉, 컴파일 시간에 형식 안전성을 적용하는 언어(예: C#)에는 명시적 캐스트가 필요하지 않습니다.
ISldWorks app;
...
IModelDoc2 model = app.IActiveDoc; //정상
IModelDoc2 model = app.ActiveDoc; //오류
IModelDoc2 model = app.ActiveDoc as IModelDoc2; //정상

 

메서드 이름의 규칙성

SOLIDWORKS API(및 SOLIDWORKS)는 모두 이전 버전과 호환되므로 이전 버전의 API가 최신 버전의 SOLIDWORKS와 호환됩니다. 즉, 새 버전이 출시될 때 API 메서드의 서명 및 동작이 변경되지 않아야 합니다. 이를 위해 SOLIDWORKS는 메서드 및 인터페이스 이름에 대한 개정 시스템을 도입했습니다. API의 새 버전을 사용할 수 있을 때마다 클래스 다이어그램에 MethodName Last Revision + 1 로 추가됩니다 . 예를 들어 ISldWorks::OpenDoc6  ISldWorks::OpenDoc5 메서드 의 최신 버전입니다 . 

더 이상 사용되지 않는 메서드 및 인터페이스

SOLIDWORKS는 이전 버전과 호환되며 모든 버전이 작동해야 하지만 SOLIDWORKS 대상 프로그램이 지원해야 하는 최소 버전과 호환되는 최신 버전을 활용하는 것이 좋습니다.

반응형
댓글