프리캐스트 샵드로잉 명령용 API에 대해 알아보기
프리캐스트 샵드로잉 명령은 프리캐스트 구성에 지정된 유형별 설정을 기준으로 프리캐스트 요소의 도면을 작성합니다. 일반적으로 한 요소에 샵드로잉이 둘 이상 필요한 경우(예: 거푸집과 철근 배근에 각각 하나씩 있는 경우)는 많지 않습니다. 샵드로잉 태그 지정 및 치수기입에 대한 다양한 요구 또한 한 요소입니다.
프리캐스트 API의 각 부분이 단일 dll에 구현되고 API의 사용자가 프리캐스트에서 이 단일 dll을 제외한 어느 것도 참조할 필요가 없습니다. 프리캐스트 자체는 어떤 식으로도 프리캐스트 API에서 아무 것도 사용하지 않습니다. 심지어 API dll 자체의 존재조차 사용하지 않습니다.
샵드로잉 작성 시작. API에서 샵드로잉 작성을 호출할 때 프리캐스트 구성에서 사용한 것과 동일한 설정을 제공할 수 있습니다. API에 지정되어 있지 않은 설정이 프리캐스트 구성에서 사용됩니다. 이렇게 하려면 create 메서드에 IShopDrawingOptions 인터페이스의 인스턴스가 필요합니다. 호출자가 어떤 클래스에서나 구현할 수 있고 정의할 옵션과 정의하지 않을 옵션을 나타내도록 할 수 있습니다. API는 프리캐스트 구성이 필요하지 않거나 액세스할 수 없습니다. API 호출자가 설정을 정의하지 않은 경우 내부 코드가 구성을 읽습니다. 프리캐스트 구성은 사용자가 UI 도구를 통해서만 액세스할 수 있습니다.
Revit 프리캐스트에서, 샵드로잉을 작성하는 클래스는 각 종류의 요소에 맞게 특수화되어 있습니다. 예를 들어, 속 빈 코어 샵드로잉 작성자와 솔리드 벽 샵드로잉 작성자가 있습니다. 이 모두는 공통 기준 클래스에서 상속됩니다. API는 공장 클래스와 공개 API에 표시될 클래스의 일부를 정의하는 해당 클래스에 의해 구현된 공용 인터페이스를 사용하여 클래스를 보여줍니다.
샵드로잉 작성 이벤트. 샵드로잉 작성 프로세스는 뷰 및 뷰포트를 작성하고, 상세 설정하고, 이동하는 단계로 구성되어 있습니다. 상세 뷰는 뷰 치수기입 및 태그 지정으로 구성됩니다. 각 단계에는 연관된 사전 및 사후 이벤트가 있으며, 여기서 이벤트 핸들러로 사전 이벤트를 취소할 수 있습니다. 이벤트 핸들러는 원한다면 그 작업 자체를 수행하거나 전혀 수행하지 않을 수 있습니다.
이벤트 핸들러를 등록할 때, 프리캐스트 API는 공개 API에 표시되지 않는 내부 이벤트에 자체 등록합니다. 그런 다음 등록된 타사 이벤트 핸들러로 이동하여 자체 하위 트랜잭션에서 모든 이벤트 핸들러를 안전하게 보호합니다.
여기에서 이벤트 핸들러 매개변수가 인터페이스로 정의되어 프리캐스트 API를 내부 문제에서 효과적으로 디커플링할 수 있고 나중에 프리캐스트 API에 영향을 주지 않고 내부 코드를 쉽게 변경할 수 있습니다.