파이프 및 구조물을 관망에 추가할 때 Civil 3D는 템플릿을 사용하여 자동으로 이름을 지정합니다. 일반적으로 초기 배치 시에는 이 정도면 충분하지만 향후 설계가 진행됨에 따라 불가피하게 이름을 변경해야 할 수도 있습니다. 또한 가장 먼 다운스트림 구조물에서 시작하여 관로 내에서 순차적으로 구조물의 이름을 지정하거나 로컬 에이전시의 데이터 스키마에 맞는 이름 지정 패턴을 따르는 등 다양한 이름 지정 패턴이 필요할 수 있습니다. 이 예에서는 Dynamo를 사용하여 모든 유형의 이름 지정 전략을 정의하고 일관되게 적용하는 방법을 보여 줍니다.
경계 상자 작업
List.FilterByBoolMask 노드를 사용하여 데이터 필터링
List.SortByKey 노드를 사용하여 데이터 정렬
문자열 생성 및 수정
이 그래프는 Civil 3D 2020 이상 버전에서 실행됩니다.
먼저 아래의 샘플 파일을 다운로드한 다음 DWG 파일과 Dynamo 그래프를 엽니다.
이 그래프의 논리에 대한 개요는 다음과 같습니다.
도면층별 구조물 선택
구조물 위치 가져오기
간격띄우기를 기준으로 구조물을 필터링한 다음 측점을 기준으로 정렬
새 이름 생성
구조물 이름 바꾸기
그럼 시작하겠습니다!
가장 먼저 해야 할 일은 작업할 모든 구조물을 선택하는 것입니다. 특정 도면층에서 모든 객체를 선택하기만 하면 되므로, 다른 관망에서 구조물을 선택할 수 있습니다(동일한 도면층을 공유한다고 가정할 때).
이 노드를 사용하면 구조물과 동일한 도면층을 공유할 수 있는, 원하지 않는 객체 유형을 실수로 검색하지 않을 수 있습니다.
이제 구조물이 준비되었으므로 공간에서 구조물의 위치를 파악하여 위치에 따라 구조물을 정렬해야 합니다. 이를 위해 각 객체의 경계 상자를 활용하겠습니다. 객체의 경계 상자는 객체의 기하학적 범위를 완전히 포함하는 최소 크기의 상자입니다. 경계 상자의 중심을 계산하면 구조물 삽입점에 대한 근사치를 꽤 정확하게 구할 수 있습니다.
이러한 점을 사용하여 선택한 선형을 기준으로 구조물의 측점 및 간격띄우기를 구할 것입니다.
여기서부터 작업이 조금 까다로워지기 시작합니다. 이 단계에서는 도면층에 지정한 모든 구조물의 큰 리스트가 있고 이를 정렬할 선형을 선택했습니다. 문제는 리스트에 이름을 바꾸고 싶지 않은 구조물이 있을 수 있다는 것입니다. 예를 들어, 그러한 구조물은 관심 있는 특정 실행의 일부가 아닐 수 있습니다.
선택한 선형
이름을 바꾸려는 구조물
무시해야 하는 구조물
따라서 선형에서 특정 간격띄우기보다 큰 구조물은 고려하지 않도록 구조물 리스트를 필터링해야 합니다. 이 작업은 List.FilterByBoolMask 노드를 사용하여 수행하는 것이 가장 좋습니다. 구조물 리스트를 필터링한 후 List.SortByKey 노드를 사용하여 측점 값을 기준으로 구조물을 정렬합니다.
리스트 작업을 처음 해보는 경우 리스트 작업 섹션을 참조하십시오.
구조물의 간격띄우기가 임계값보다 작은지 확인
Null 값을 false 로 대치
구조물 및 측점 리스트 필터링
측점별로 구조물 정렬
마지막으로 해야 할 작업은 구조물의 이름을 새로 생성하는 것입니다. 사용할 형식은 <alignment name>-STRC-<number>
입니다. 원하는 경우 숫자를 0으로 채울 수 있는 몇 가지 추가 노드가 있습니다(예: "1" 대신 "01").
마지막으로, 구조물 이름을 바꾸겠습니다.
다음은 Dynamo 플레이어를 사용하여 그래프를 실행하는 예입니다.
Dynamo 플레이어를 처음 사용하는 경우 Dynamo 플레이어 섹션을 참조하십시오.
최종 결과 대신 그래프의 중간 출력을 시각화하기 위해 Dynamo의 3D 배경 미리보기를 활용하는 것이 도움이 될 수 있습니다. 한 가지 쉬운 방법은 구조물의 경계 상자를 보여주는 것입니다. 또한 이 특정 데이터세트에는 문서에 코리더가 있으므로 코리더 형상선 형상을 Dynamo로 가져와서 구조물이 공간에서 어디에 위치하는지에 대한 컨텍스트를 제공할 수 있습니다. 코리더가 없는 데이터세트에서 그래프를 사용하는 경우 이러한 노드는 아무 작업도 수행하지 않습니다.
이제 간격띄우기를 기준으로 구조를 필터링하는 프로세스가 작동하는 방식을 더 잘 이해할 수 있습니다.
다음은 이 그래프의 기능을 확장하는 방법에 대한 몇 가지 아이디어입니다.
특정 선형을 선택하는 대신 가장 가까운 선형을 기준으로 구조물의 이름을 바꿉니다.
구조물 외에 파이프의 이름을 바꿉니다.
해당 실행을 기준으로 구조물의 도면층을 설정합니다.
선형의 측점 표시를 기반으로 관망 구조물의 이름을 순서대로 바꿉니다.
작업을 완료했습니다!