텍스트 필드

텍스트 필드는 텍스트와 지시선을 위한 기능입니다. 텍스트 필드는 Rhino가 실행되는 동안 평가되는 수식이며, 결과가 텍스트로 표시됩니다. 모든 텍스트 필드는 %<필드와 옵션>% 구문 형식을 갖습니다. 수식이 평가되지 못할 때에는 #### 와 같은 오류 문자열로 표시됩니다.

수학 지원

숫자를 계산하는 모든 텍스트 필드 함수(예: Area, BlockInstanceCount, CurveLength, NumPages, PageNumber, Volume)는 수학 공식에 함께 사용할 수 있습니다.

예제:

%<2*3>% 계산 결과는 6 입니다.

모델에 4개의 레이아웃 페이지가 있는 경우, %<NumPages()-1>% 계산 결과는 3 입니다.

문자열 서식

Python과 .NET 문자열 서식 함수가 지원됩니다.

예:
숫자 앞에 0 추가

모델에 2개의 레이아웃 페이지가 있다면, %<'{:03}'.format(NumPages())>%는 2를 002로 변환합니다.

대소문자 변환

%<ModelUnits().upper()>%는 예를 들어 millimeters와 같은 소문자인 모델 단위를 대문자인 MILLIMETERS로 변환합니다.

Python과 .NET의 대소문자 변환 함수

Python:

upper(), lower(), and capitalize()

.NET:

ToUpper() and ToLower()

.NET에는 직접적인 대문자화 함수가 없습니다.

함수

면적

닫힌 커브 (반드시 평면적이어야 함), 해치, 서피스, 폴리서피스, 메쉬, 또는 SubD의 면적을 계산합니다.

구문:

주석 스타일 단위를 사용합니다.

%<Area("ObjectID")>%

단위를 지정합니다.

%<Area("ObjectID","Unit")>%

AttributeUserText

주어진 개체 /키 조합을 위한 사용자_텍스트.

구문:

%<UserText("ObjectID","Key")>%

값을 검색하는 User Text입니다.

개체 선택

Attribute User Text 키를 검색할 개체를 선택합니다.

  • 이 페이지는 개체 속성 > 특성 사용자 텍스트와 동일한 기능을 제공합니다.

  • 주석은 "(null)"로 자체 참조될 수 있습니다. 방법 안내...

  • UserText()는 숫자로 변환하지 않으면 계산에 사용할 수 없는 문자열을 반환합니다. 방법 안내...

BlockAttributeText

특성 사용자 텍스트블록 인스턴스에 포함되도록 정의합니다.

구문:

%<UserText("block","Key","Prompt","Value")>%

  • Keyvalue는 블록 인스턴스에 저장되는 특성 사용자 텍스트입니다.
  • Prompt는 블록을 삽입하는 동안 대화상자로 표시됩니다.
  • Valueprompt는 선택 사항입니다.

실행 방법:

  1. Text 명령을 사용하여 텍스트 개체를 만듭니다.

  2. 텍스트 대화상자에서 fx 단추를 클릭합니다.

  3. 왼쪽에서 BlockAttributeText를 선택합니다.

  4. Key, Prompt, Value의 텍스트 문자열을 입력합니다.

  5. 블록 특성 텍스트를 포함하는 블록 정의를 만듭니다.

  6. Insert 명령을 사용하여 블록을 뷰포트에 추가합니다.

  7. 프롬프트가 표시되면 값을 입력하거나, fx 단추를 클릭하여 다른 텍스트 필드를 사용합니다.

이 예에서는 이름, 나이, 성별과 같은 블록 특성 텍스트가 있는 테이블을 기준으로 "Data Table" 블록 정의가 만들어집니다.

이 블록은 다른 두 명의 사람 아래 위치로 뷰포트에 삽입됩니다. Insert 명령을 실행하면 해당 정보를 입력하는 프롬프트가 표시됩니다.

샘플 모델 다운로드하기...

BlockDescription

뷰포트에서 블록 인스턴스를 선택하여 블록 정의의 설명을 검색합니다.

구문:

%<BlockDescription("Block Instance ID")>%

BlockInstanceCount

지정된 이름을 가진 블록의 개수를 표시합니다.

구문:

%<BlockInstanceCount("BlockName")>%

BlockName

뷰포트에서 블록 정의를 선택하여 블록 정의의 이름을 검색합니다.

구문:

%<BlockName("Block Instance ID")>%

%<BlockName("Block")>% 은 텍스트 필드 문자열을 직접 포함하고 있는 블록 정의의 이름을 반환합니다.

CurveLength

커브의 길이입니다.

구문:

주석 스타일 단위를 사용합니다.

%<CurveLength("ObjectID")>%

단위를 지정합니다.

%<CurveLength("ObjectID","Unit")>%

날짜

현재 날짜와 시간입니다.

Date format:

목록에서 날짜와 시간 형식을 선택합니다.

Region:

목록에서 지역을 선택합니다. 날짜에 적합한 언어가 선택됩니다.

구문:

%<Date("Format", "Region")>%

예:

%<Date("M/d/yyyy", "en-US")>% = 12/17/2020

%<Date("M/d/yyyy h:mm tt", "en-US")>% = 12/17/2020 4:48 PM

%<Date("dddd, MMMM dd, yyyy", "en-US")>% = Thursday, December 17, 2020

DateModified

이 파일이 마지막으로 저장된 날짜와 시간입니다.

Date format:

목록에서 날짜와 시간 형식을 선택합니다.

Region:

목록에서 지역을 선택합니다. 날짜에 적합한 언어가 선택됩니다.

구문:

%<DateModified("Format", "Region")>%

예:

%<DateModified("M/d/yyyy", "en-US")>% = 12/17/2020

%<DateModified("M/d/yyyy h:mm tt", "en-US")>% = 12/17/2020 4:48 PM

%<DateModified("dddd, MMMM dd, yyyy", "en-US")>% = Thursday, December 17, 2020

DetailScale (평행 디테일 뷰에만 해당)

선택된 디테일 뷰의 서식이 지정된 배율값을 표시합니다.

구문:

%<DetailScale("DetailID","Format")>%

서식의 예

Noformatting = 0.1

#:1 = 0.1:1

1:# = 1:10

1=# = 1" = 10'

#=1 = 1/8" = 1'

#=1-0 = 1/8" = 1'-0"

디테일 특성 이름 사용

GUID 가 아닌, 개체 속성의 이름을 사용하여 디테일 뷰를 참조합니다.

DocumentUserText

모델의 문서 사용자 텍스트.

구문:

%<DocumentText("Key")>%

값을 검색하기 위한 Document User Text입니다.

FileName

파일로의 경로입니다.

구문:

%<FileName>%

%<FileName>% - 모델로의 전체 경로를 만듭니다.

%<FileName("0")>% - 모델로의 전체 경로를 만듭니다.

%<FileName("1")>% - 짧은 파일 이름 (파일 확장자 포함)

%<FileName("2")>% - 모델로의 전체 경로 (파일 확장자 없음)

%<FileName("3")>% - 짧은 파일 이름 (파일 확장자 없음)

숫자 매개변수는 일부 피처에서 켜지는 마스크입니다:

1 = 짧은 파일 이름

2 = 확장자 없음

1+2 = 3 = 짧은 파일 이름 + 확장자 없음

LayerName

선택된 레이어의 이름을 반환합니다.

구문:

%<LayerName("LayerID")>%

LayoutUserText

레이아웃에 저장된 User Text 키 값을 반환합니다.

구문:

현재 레이아웃의 Layout User Text 키 값입니다.

%<LayoutUserText("Key")>%

지정된 레이아웃의 Layout User Text 키 값입니다.

%<LayoutUserText("LayoutID","Key")>%

ModelUnits

현재 모델 단위.

구문:

%<ModelUnits()>%

Notes

노트의 내용입니다.

구문:

%<Notes()>%

NumPages

문서의 레이아웃 페이지 수입니다.

구문:

%<NumPages()>%

ObjectLayer

선택된 개체의 레이어 이름을 반환합니다.

구문:

%<ObjectLayer("ObjectID")>%

ObjectName

개체 이름을 표시합니다. 해당하는 경우, 블록 이름을 표시합니다.

구문:

%<ObjectName("ObjectID")>%

ObjectPageName

선택된 개체가 존재하는 레이아웃의 이름을 반환합니다.

개체가 레이아웃에 없으면 ####이 반환됩니다.

구문:

%<ObjectPageName("ObjectID")>%

ObjectPageNumber

선택된 개체가 존재하는 레이아웃의 번호를 반환합니다.

개체가 레이아웃에 없으면 ####이 반환됩니다.

  • 레이아웃 패널에서 레이아웃의 순서를 바꾸면 레이아웃 번호가 변경됩니다.
구문:

%<ObjectPageNumber("ObjectID")>%

PageHeight

이 텍스트 필드가 있는 레이아웃 페이지의 높이.

구문:

%<PageHeight()>%

PageName

현재 또는 선택된 레이아웃 페이지 이름.

선택된 페이지

선택된 레이아웃 페이지 이름을 표시합니다.

구문:

현재 레이아웃 페이지 이름.

%<PageName()>%

선택된 레이아웃 페이지 이름.

%<PageName("PageID")>%

PageNumber

현재 레이아웃 번호.

  • 페이지 번호는 간격띄우기가 가능합니다. 간격띄우기에는 음 또는 양의 값을 지정할 수 있습니다.
구문:

%<PageNumber()>%

%<PageNumber() + OffsetNumber>%

PageWidth

이 텍스트 필드가 있는 레이아웃 페이지의 너비.

구문:

%<PageWidth()>%

PaperName

선택된 용지 크기의 이름.

구문:

%<PaperName()>%

PointCoordinate

선택된 점 개체의 절대좌표 XYZ 좌표를 표시합니다.

XYZ 축은 각각 사용을 설정할 수 있습니다.

구문:

%<PointCoordinate("ObjectID","Axes")>%

Volume

돌출, 서피스, 폴리서피스, 메쉬, SubD의 체적을 검색합니다.

열린 개체 허용

열린 개체에서 체적을 반환하도록 허용합니다.

구문:

주석 스타일 단위를 사용합니다.

%<Volume("ObjectID")>%

단위를 지정합니다.

%<Volume("ObjectID","Unit")>%

열린 개체를 허용합니다.

%<Volume("ObjectID","True")>%

  • True (또는 1)는 열린 개체의 체적을 반환합니다. False (또는 0)는 열린 개체가 선택되면 0을 반환합니다.

Explode와 ExplodeBlock 비교

텍스트필드가 있는 블록 인스턴스를 분해할 때 Explode 명령과 ExplodeBlock 명령은 다른 결과를 생성합니다.

  • ExplodeBlock 명령은 원래의 텍스트필드를 유지합니다.

  • Explode 명령은 텍스트필드를 고정 텍스트 문자열로 확인합니다.

블록 인스턴스가 ExplodeBlock 명령으로 분해되면 Date 텍스트필드가 여전히 시스템 날짜를 반환합니다.