VIZZARD Document Help

Cable (Pipe) 생성 및 조작

Cable (Pipe) 생성 및 조작 예제

Cable Item

파라미터 설명

Shape

라인

사각형

정점

Shape Id

0

1

2

3

Radius

선두께

반지름

반지름

굵기

Vertex Size

의미 없음(0.0f)

의미 없음(0.0f)

의미 없음(0.0f)

크기

Line Count

라인 개수

라인 개수

라인 개수

정점 개수

Line 별 Vertex 개수

라인별 Vertex 개수

라인별 Vertex 개수

라인별 Vertex 개수

의미 없음

  • Cable Item은 4종류의 Shape 형식(라인, 사각형, 원, 정점)으로 표시가 가능합니다.

  • 기본 생성 코드

private void btnCableItem_Click(object sender, EventArgs e) { // 모델이 있는 경우에만 수행 if (Connector.IsOpenDocument() == false) return; // 렌더링 비활성화 Connector.EnableRender(false); int PIPE1, PIPE2; // PIPE1의 라인별 Vertex 개수 List<int> vertexCount1 = new List<int>(); vertexCount1.Add(2); vertexCount1.Add(3); // PIPE1의 전체 Vertex Point List<float> vertexPoints1 = new List<float>(); // PIPE1, LINE1, POINT1 vertexPoints1.Add(19000.0f); vertexPoints1.Add(1420.0f); vertexPoints1.Add(9000.0f); // PIPE1, LINE1, POINT2 vertexPoints1.Add(24000.0f); vertexPoints1.Add(1420.0f); vertexPoints1.Add(9000.0f); // PIPE1, LINE2, POINT1 vertexPoints1.Add(19000.0f); vertexPoints1.Add(3420.0f); vertexPoints1.Add(9000.0f); // PIPE1, LINE2, POINT2 vertexPoints1.Add(24000.0f); vertexPoints1.Add(3420.0f); vertexPoints1.Add(9000.0f); // PIPE1, LINE2, POINT3 vertexPoints1.Add(24000.0f); vertexPoints1.Add(3420.0f); vertexPoints1.Add(10000.0f); PIPE1 = Connector.AddCableItem( 0 /* GROUP ID */ , Color.Red /* LINE COLOR */ , CableShapeTypes.Line /* SHAPE TYPE */ , 3.0f /* RADIUS */ , 0.0f /* VERTEX SIZE */ , true /* SHOW or HIDE */ , 2 /* LINE COUNT */ , vertexCount1 /* VERTEX COUNT */ , vertexPoints1 /* VERTEX POINT */ ); // PIPE2의 라인별 Vertex 개수 List<int> vertexCount2 = new List<int>(); vertexCount2.Add(2); vertexCount2.Add(2); // PIPE2의 전체 Vertex Point List<float> vertexPoints2 = new List<float>(); // PIPE2, LINE1, POINT1 vertexPoints2.Add(19000.0f); vertexPoints2.Add(5420.0f); vertexPoints2.Add(9000.0f); // PIPE2, LINE1, POINT2 vertexPoints2.Add(24000.0f); vertexPoints2.Add(5420.0f); vertexPoints2.Add(9000.0f); // PIPE2, LINE2, POINT1 vertexPoints2.Add(19000.0f); vertexPoints2.Add(7420.0f); vertexPoints2.Add(9000.0f); // PIPE2, LINE2, POINT2 vertexPoints2.Add(24000.0f); vertexPoints2.Add(7420.0f); vertexPoints2.Add(9000.0f); PIPE2 = Connector.AddCableItem( 0 /* GROUP ID */ , Color.Black /* LINE COLOR */ , CableShapeTypes.Line /* SHAPE TYPE */ , 7.0f /* RADIUS */ , 0.0f /* VERTEX SIZE */ , true /* SHOW or HIDE */ , 2 /* LINE COUNT */ , vertexCount2 /* VERTEX COUNT */ , vertexPoints2 /* VERTEX POINT */ ); Connector.UseCableItemDepthTest( true ); // 깊이버퍼 사용 Connector.EnableRender(true); }
  • 깊이 버퍼 사용유무(UseCableItemDepthTest)를 지정하여, 화면에 추가한 Cable Item을 원근감 있게 표현할 수 있습니다.

// 깊이버퍼 사용 Connector.UseCableItemDepthTest( true ); // 깊이버퍼 미사용 Connector.UseCableItemDepthTest( false ); // 현재 깊이버퍼 설정 상태 반환 bool use = Connector.IsUseCableItemDepthTest();
  • 추가된 Cable Item은 개별 ID를 통해 보이기/숨기기 상태를 변경하거나, 추가 시 지정한 GROUP ID를 통해 GROUP 단위로 보이기/숨기기 상태를 변경할 수 있습니다.

// PIPE(1) 항목 보이기 Connector.ShowCableItem(1, true); // PIPE(1) 항목 숨기기 Connector.ShowCableItem(1, false); // GROUP(2) 단위로 보이기 Connector.ShowCableItemByGroupID(2, true); // GROUP(2) 단위로 숨기기 Connector.ShowCableItemByGroupID(2, false); // 전체 항목 보이기 Connector.ShowAllCableItem(true); // 전체 항목 숨기기 Connector.ShowAllCableItem(false);
  • Cable Item 개별 ID를 통해 삭제하거나, GROUP 단위로 삭제할 수 있습니다.

// PIPE(1) 항목 삭제 Connector.DeleteCableItem(1); // GROUP(2) 삭제 Connector.DeleteCableItemByGroupID(2); // 전체 항목 삭제 Connector.DeleteAllCableItem();
Last modified: 04 3월 2024