Graphisoft®

API Development KitVersion: 18

API_SectionSegment

단면/입면/실내 입면의 한 세그먼트를 의미합니다.

    typedef struct {
        short                              linePen;
        short                              textPen;
        short                              ltypeInd;
        short                              sectPen;
        short                              sectFillPen;
        short                              sectFillBGPen;
        short                              filler_1;
        short                              verticalRangeStoryBaseNumber;
        API_SegmentHorizontalRange         horizRange;
        API_SegmentVerticalRange           vertRange;
        double                             markerSize;
        GS::Bool8                          begMark;
        GS::Bool8                          endMark;
        GS::Bool8                          relativeToStory;
        GS::Bool8                          filler_2;
        GS::Bool8                          useElemPens;
        GS::Bool8                          begLine;
        GS::Bool8                          middleLine;
        GS::Bool8                          endLine;
        double                             lineLength;
        double                             vertMin;
        double                             vertMax;
        GS::uchar_t                        cutPlName [API_UniLongNameLen];
        GS::uchar_t                        cutPlIdStr [API_UniLongNameLen];
        double                             textSize;
        short                              font;
        short                              effectBits;
        short                              shadFill;
        short                              shadFillPen;
        short                              shadFillBGPen;
        short                              limitLinePen;
        short                              limitLtypeInd;
        GS::Bool8                          continuous;
        GS::Bool8                          filler_3;
        double                             sunAngXY;
        double                             sunAngZ;
        double                             depth;
        API_Guid                           begMarkerId;
        API_Guid                           midMarkerId;
        API_Guid                           endMarkerId;
        GS::Bool8                          modelUseElemPen;
        GS::Bool8                          distAreaUseElemPen;
        short                              modelElemPen;
        short                              distAreaElemPen;
        short                              distAreaShadFill;
        short                              distAreaShadFillPen;
        short                              distAreaShadFillBGPen;
        API_CutPlaneUncutSurfaceFillID     distAreaUncutSurfFillType;
        short                              distAreaUncutSurfBGPen;
        GS::Bool8                          distAreaUseUncutSurfFill;
        GS::Bool8                          markedDistArea;
        API_CutPlaneUncutSurfaceFillID     modelUncutSurfFillType;
        short                              modelUncutSurfBGPen;
        GS::Bool8                          modelUseUncutSurfFill;
        GS::Bool8                          transparency;
        short                              nCoord;
        GS::Bool8                          leftDir;
        GS::Bool8                          drawingModeON;
        GS::Bool8                          windOpened;
        GS::Bool8                          active;
        GS::Bool8                          sourceMarker;
        GS::Bool8                          filler_4;
        API_DatabaseUnId                   databaseID;
        API_CutPlanePlanConn               currPlanConn;
        API_CutPlanePlanConn               intPlanConn;
        GS::Bool8                          solidOperationsOnZones;
        GS::Bool8                          exclBlockWalls;
        GS::Bool8                          showCutElements;
        GS::Bool8                          byLimitLines;
        GS::Bool8                          filler_5[4];
        API_StoryHandleAppearance          shAppearance;
        short                              shLinePen;
        short                              shLineType;
        short                              shMarkerPen;
        GS::Bool8                          shUseSymbolPens;
        GS::Bool8                          shLeftMarkerOn;
        GS::Bool8                          shRightMarkerOn;
        GS::Bool8                          shLineOn;
        GS::Bool8                          filler_6[2];
        double                             shLeftMarkerOffset;
        double                             shRightMarkerOffset;
        API_Guid                           shSymbolId;
        short                              shMarkerFont;
        unsigned short                     shMarkerFaceBits;
        double                             shMarkerTextSize;
        double                             shMarkerSize;
        API_BoundaryDisplay                boundaryDisplay;
        short                              boundaryPen;
        short                              boundaryLineType;
        double                             horizontalOffset;
        Int32                              filler_7;
    } API_SectionSegment;

 

멤버

linePen
라인의 펜 속성 인덱스입니다.
textPen
텍스트의 펜 속성 인덱스입니다.
ltypeInd
라인 타입 속성 인덱스입니다.
sectPen
외곽들에 대하여 단면에서 사용되는 펜 속성 인덱스입니다. (useElemPens에 의해 오버라이드 되지 않았을 때)
sectFillPen
채우기들에 대하여 단면에서 사용되는 펜 속성 인덱스입니다. (useElemPens에 의해 오버라이드 되지 않았을 때)
sectFillBGPen
절단 요소들의 배경 채우기의 펜 속성 인덱스입니다. (useElemPens에 의해 오버라이드 되지 않았을 때)
verticalRangeStoryBaseNumber 17
relativeToStorytrue일 때, 층 번호에 상대적인 vertMinvertMax입니다.
horizRange
세그먼트의 수평 범위입니다:
API_SegmentHorizontalRange 의미
APIHorRange_Infinite 수평 범위에서 제한이 없습니다.
APIHorRange_Limited 수평 범위가 제한되어 있습니다; 제한은 depth 안에 있습니다.
APIHorRange_ZeroDepth 단면 또는 입면의 깊이는 0입니다.
vertRange
세그먼트의 수직 범위입니다:
API_SegmentVerticalRange 의미
APIVerRange_Infinite 수직 범위에서 제한이 없습니다.
APIVerRange_Limited 수직 범위가 제한되어 있습니다; 제한은 vertMinvertMax 안에 있습니다.
APIVerRange_FitToZoneRange 만약 구역(zone)이 존재하면, 구역의 꼭대기/바닥 레벨을 제한으로 사용합니다. (실내 입면 전용)
markerSize
마커 크기입니다.
begMark
마커를 시작점에 둡니다.
endMark
마커를 끝점에 둡니다.
relativeToStory 17
수직 제한 범위는 홈 층에 상대적이거나 프로젝트 원점에 절대적입니다.
useElemPens
요소들에서 정의된 펜들을 사용합니다.
begLine
시작점에서 라인을 보여줍니다.
middleLine
중간점에서 라인을 보여줍니다.
endLine
끝점에서 라인을 보여줍니다.
lineLength
라인의 길이입니다.
vertMin
수직 제한 - 최소 높이입니다.
vertMax
수직 제한 - 최대 높이입니다.
cutPlName Featuring API 11
단면의 Unicode 이름입니다.
cutPlIdStr Featuring API 11
단면의 Unicode 레퍼런스 ID입니다. 만약 텍스트가 '/' 문자를 포함하고 있으면, 텍스트는 시작 마크와 끝 마크 사이에서 분리됩니다.
textSize
마커 텍스트의 텍스트 크기입니다. [mm]
font
마커 텍스트에 대한 글꼴 속성 인덱스입니다.
effectBits
3D 뷰의 설정입니다. 다음 값들을 가질 수 있습니다:
APICutPl_VectorHatch 벡터 3D 해칭을 생성합니다.
APICutPl_VectorShadow 벡터 태양 그림자를 생성합니다.
APICutPl_SunFrom3D 태양의 파라미터들은 3D 창과 동일합니다.
shadFill
그림자 채우기의 채우기 속성 인덱스입니다.
shadFillPen
그림자 채우기의 펜 속성 인덱스입니다.
shadFillBGPen
그림자 채우기의 배경 펜 속성 인덱스입니다.
limitLinePen
수평 제한 라인의 라인 펜입니다.
limitLtypeInd
수평 제한 라인의 라인 타입입니다.
continuous 11
true이면 연속적입니다. 그 외에는 분절(segmented)되어 있습니다.
sunAngXY
절단면에 상대적인 커스텀 태양 방위각입니다.
sunAngZ
절단면에 상대적인 커스텀 태양 고도입니다.
depth
요소들을 선택하기 위한 깊이입니다. (horizRangeAPIHorRange_Limited일 때)
begMarkerId 17
단면 라인의 시작점에 있는 Section Marker 객체의 guid입니다.
midMarkerId 17
단면 라인의 중심점에 있는 Section Marker 객체의 guid입니다.
endMarkerId 17
단면 라인의 끝점에 있는 Section Marker 객체의 guid입니다.
modelUseElemPen
단면/입면 뷰에서 모든 요소들에 대하여 1가지 펜을 사용합니다.
distAreaUseElemPen
단면/입면 뷰의 먼 영역에 있는 모든 요소들에 대하여 1가지 펜을 사용합니다.
modelElemPen
모델 비절단 표면 채우기의 전경 펜입니다.
distAreaElemPen
단면/입면 뷰의 먼 영역에 있는 요소들의 펜 속성 인덱스입니다.
distAreaShadFill
단면/입면 뷰에서 사용하는 그림자 폴리곤들에 대한 채우기 속성 인덱스입니다.
distAreaShadFillPen
단면/입면 뷰에서 사용하는 그림자 폴리곤들에 대한 채우기 펜 인덱스입니다.
distAreaShadFillBGPen
단면/입면 뷰에서 사용하는 그림자 폴리곤들에 대한 채우기 배경 펜 인덱스입니다.
distAreaUncutSurfFillType
단면/입면의 먼 영역에 있는 비절단 표면들의 채우기들을 표시하기 위한 방법입니다. (distAreaUseUncutSurfFilltrue일 때 유효함)
API_CutPlaneUncutSurfaceFillID 의미
APICutPl_PenColor 모든 비절단 표면들의 채우기들에게 균일한 펜 컬러를 적용합니다.
APICutPl_MaterialColorShaded 셰이딩을 가진 요소들의 고유 재질 컬러들을 이용하여 비절단 채우기들을 표시합니다.
APICutPl_MaterialColorNonShaded Featuring API 11 셰이딩을 제외한 요소들의 고유 재질 컬러들을 이용하여 비절단 채우기들을 표시합니다.
distAreaUncutSurfBGPen
단면/입면의 먼 영역에 있는 모든 비절단 표현들의 채우기들에 적용할 펜 컬러입니다. (Distant Area Options에서 균일한 펜 컬러를 선택했을 때)
distAreaUseUncutSurfFill
단면/입면의 먼 영역에서 표시된 비절단 표면들에 채우기들을 적용합니다.
markedDistArea
마크 거리 영역입니다.
modelUncutSurfFillType
단면/입면의 비절단 표면들(Model Effects)의 채우기들을 표시하기 위한 방법입니다. (modelUseUncutSurfFilltrue일 때에 유효함)
distAreaUncutSurfFillType 파라미터에서 API_CutPlaneUncutSurfaceFillID 값들을 보십시오.
modelUncutSurfBGPen
단면/입면의 모든 비절단 표면들의 채우기들에게 적용할 펜 컬러입니다. (Model Effects 패널에서 균일한 펜 컬러를 선택했을 때)
modelUseUncutSurfFill
단면/입면에서 표시되는 비절단 표면들에게 채우기들을 적용합니다.
transparency Featuring API 11
이 변수는 단면, 입면, 실내 입면 창들에 대한 투명도를 제어합니다. 지금까지 3D Windows Settings 다이얼로그의 Transparency in Shading 옵션이 동일한 효과를 달성했습니다.
nCoord
좌표들의 개수입니다. (좌표들은 memo 안에 있습니다)
leftDir
왼쪽을 보십시오.
drawingModeON
단면이 도면 모드 중에 있습니다.
windOpened
단면/입면/실내 입면 창이 열렸습니다.
active
끄기 또는 활성화.
sourceMarker Featuring API 12
이 세그먼트가 소스 마커입니다? (출력 전용/기본값 없음)
databaseID
전환하고자 하는 데이터베이스 ID입니다. (API_DatabaseUnId를 보십시오)
currPlanConn
현재 도면 연결성입니다. (읽기 전용) 단면/입면 창의 상태를 보여줍니다. 단면/입면 창이 활성화되었을 때 이 멤버는 intPlanConn의 값을 가져오게 될 것입니다. 필요한 경우 단면/입면이 모델로부터 재생성될 것입니다.
intPlanConn
계획된 도면 연결성입니다. 도면 상의 요소의 상태를 보여줍니다. 이것의 단면/입면 창의 상태와 다를 수 있습니다. (currPlanConn)
solidOperationsOnZones Featuring API 11
구역(zone)들에 대한 솔리드 동작들을 사용합니다. (실내 입면 전용)
exclBlockWalls Featuring API 11
뷰를 차단하는 벽들을 제외합니다. (실내 입면 전용)
showCutElements
절단 요소들을 보여줍니다. (실내 입면 전용)
byLimitLines Featuring API 12
관련된 요소들이 제한 라인들에 의해서만 감지됩니다. (실내 입면 세그먼트들에 대해서만 사용됨)
shAppearance
단면/입면 상의 층 라인들을 표시하기 위한 옵션들입니다.
API_StoryHandleAppearance 의미
APICutPl_SHANone 층 라인들이 단면/입면에서 표시되지 않습니다.
APICutPl_SHADisplayOnly 층 라인들이 화면에만 나타나고 인쇄 출력물에는 나타나지 않습니다.
APICutPl_SHAAll 층 라인들이 화면과 인쇄 출력물에 모두 나타납니다.
shLinePen
층 레벨 라인들의 펜 컬러 인덱스입니다.
shLineType
층 레벨 라인들의 라인 타입 인덱스입니다.
shMarkerPen
층 핸들 마커들의 펜 컬러 인덱스입니다. (shUseSymbolPens에 의해 오버라이드 되지 않았을 때에만 유효함)
shUseSymbolPens
층 핸들 마커 (Story Handle Marker) 객체의 고유 컬러들을 사용합니다.
shLeftMarkerOn
왼쪽에 층 핸들 마커(Story Handle Marker)들을 표시합니다.
shRightMarkerOn
오른쪽에 층 핸들 마커(Story Handle Marker)들을 표시합니다.
shLineOn
층 핸들 라인이 켜져 있거나, 꺼져 있음을 의미합니다.
shLeftMarkerOffset
왼쪽의 단면/입면의 한계를 초과하는 층 레벨 라인의 오프셋입니다.
shRightMarkerOffset
오른쪽의 단면/입면의 한계를 초과하는 층 레벨 라인의 오프셋입니다.
shSymbolId 17
층 핸들 마커 (Story Handle Marker) 객체 요소 인스턴스의 guid입니다. (API_ObjectType)
shMarkerFont
층 핸들 마커(Story Handle Marker)의 글꼴 인덱스입니다.
shMarkerFaceBits
층 핸들 마커(Story Handle Marker)의 텍스트 스타일입니다.
shMarkerTextSize
층 핸들 마커(Story Handle Marker)의 텍스트 크기입니다. [mm]
shMarkerSize
층 핸들 마커(Story Handle Marker)의 크기입니다. [mm]
boundaryDisplay 13
경계 외곽 표시 모드입니다. 가능한 값들은 다음과 같습니다: APIBound_UncutContours, APIBound_NoContours, 그리고 APIBound_OverrideContours.
boundaryPen 13
경계 외곽 펜입니다.
boundaryLineType 13
경계 외곽 라인 타입입니다.
horizontalOffset 18
수평 범위 타입이 제한되어 있는 경우, 수평 깊이입니다. (실내 입면 세그먼트들에 대해서만 사용됨)

 

설명

상응하는 단면/입면/실내 입면 데이터베이스에 접근, 동작하기 위해 APIDb_ChangeCurrentDatabaseID 함수를 참조하십시오.

절단면 요소 관련 메모 데이터에 대해서는 ACAPI_Element_GetMemo 함수를 보십시오.

API_CutPlaneType에 저장된 해당 마커 인덱스들을 적용하여 ACAPI_Element_GetACAPI_Element_GetMemo 함수들을 사용하여 단면 마커(Section Marker)와 층 핸들 마커(Story Handle Marker) 객체를 가져올 수 있습니다. 그러나 당신은 그것들을 직접 생성하거나 변경할 수 없습니다. 당신은 ACAPI_Element_CreateExtACAPI_Element_ChangeExt 함수를 이용하여 절단면 요소와 함께 마커 객체들을 정의하고 변경할 수 있습니다.
ACAPI_Element_GetDefaultsExtACAPI_Element_ChangeDefaultsExt 함수들을 사용하여 마커들의 기본 설정에 접근할 수 있습니다.

당신은 APIDb_DrawStoryControlID 데이터베이스 함수와 함께 주어진 단면/입면 데이터베이스의 층 레벨 라인들의 도면 프리미티브들을 열거할 수 있습니다.

 

요구사항

버전: API 11 또는 이후
헤더: APIdefs_Elements.h

 

참고사항

API_Elem_Head, API_Coord, API_CutPlanePlanConn, API_DatabaseUnId
API_ObjectType, API_Element
ACAPI_Element_CreateExt, ACAPI_Element_ChangeExt
ACAPI_Element_GetDefaultsExt, ACAPI_Element_ChangeDefaultsExt
APIDb_ChangeCurrentDatabaseID, APIDb_DrawStoryControlID
요소 관리자, API 타입