스크립팅 모듈

스크립팅 모듈은 옥타브와 파이썬 엔진을 통합하여 사용자가 요구사항 및 시스템 포털 내에서 두 언어를 사용하여 계산을 작성하고 실행할 수 있도록 합니다. 이 모듈은 표준 ValiEngine으로는 불가능한 복잡한 계산을 수행하도록 설계되었습니다.

사용자가 숫자 Valis 이외의 다른 개체를 조작하려면 요구사항 및 시스템 포털의 Python API를 사용해야 합니다. 사용 사례의 예는 다음과 같습니다:

  • 값을 생성하여 여러 블록에 일괄 추가하기

  • 요구 사항 식별자에 대한 일괄 편집하기

  • Python을 사용하여 시뮬레이션 실행하기

  • 전력 값의 단위를 kW로 변환하기.

  • 자동화된 트리거를 기반으로 Custom 워크플로 동작 실행하기

스크립팅 모듈 흐름

모듈을 사용하려면 사용자가 새 스크립트를 만들고, 입력/출력을 추가하고, .m 또는 .py로 코드를 작성하고, 코드를 실행하여 원하는 출력을 얻습니다.

스크립트 모듈 워크플로

새 스크립트 만들기

새 스크립트를 만들려면 스크립팅 모듈 내에서 "+ 스크립트"(1) 옵션을 클릭합니다.

image-20240324-150602.png

대화 상자가 나타나면 스크립트 이름을 입력하고, 엔진(Octave 또는 Python)을 선택하고, 사용자가 템플릿에서 사용/재사용할 수 있는 추가 옵션을 선택할 수 있습니다.

image-20240324-151035.png새 스크립트 만들기 옵션

템플릿에 포함된 사용자 지정 작업은 별도의 문서에 설명되어 있습니다. 여기를 참조하세요.

또한 사용자는 그림에 표시된 옵션에서 옵션을 토글하여 스크립트를 "전역 스크립트"로 만들 수도 있습니다 Create New Script Option.

새 스크립트가 만들어지면 사용자는 스크립트에 대한 텍스트, JSON 및 YAML 파일을 추가로 만들 수도 있습니다. 새 파일을 추가하려면 "+파일 추가"(1) 옵션을 클릭하고 이름을 추가한 다음 대화 상자에서 파일 유형을 선택합니다. 그러면 스크립트에 파일이 추가됩니다.

추가 생성된 파일을 사용하려면 main.py 파일 상단에 다음 두 줄의 코드를 포함해야 합니다:

import site
site.addsitedir('script_code/')

이 두 줄 뒤에 추가 파일을 표준 import 문을 사용하여 추가 파일을 호출할 수 있습니다.

비밀 정보 관리:

저희 API 또는 다른 도구의 API에 연결되는 스크립트를 사용할 때 필요한 자격 증명의 사용을 노출하지 않으려면 스크립트 런타임에 호출할 수 있는 개인 비밀 변수를 정의하고 이를 스크립트 파일에 저장하여 배포 시 다른 사용자에게 노출될 위험을 방지할 수 있습니다.

추가하는 방법 및 위치

비밀번호는 설정 패널의 사용자 비밀번호 아래에서 정의할 수 있습니다. 이러한 비밀은 스크립트 내에서 요구 사항 및 시스템 포털에 로그인하는 데 재사용할 수 있습니다. 다음은 사용자 비밀번호를 만드는 방법을 보여주는 짧은 동영상입니다.

이름에서 알 수 있듯이 이러한 비밀은 각 사용자마다 고유하며 정의한 사용자만 액세스할 수 있습니다.

스크립트에서 시크릿을 사용하는 방법

'.settings' 모듈에서 비밀번호 이름을 Import하면 사용자는 스크립트 내에서 인증에 비밀번호를 사용할 수 있습니다.

.settings에서 사용자 이름, 비밀번호 #대소문자 구분을 Import하고 사용자 비밀번호에 사용된 단어와 동일한 단어를 사용합니다.

LOGIN_DATA = {
    'domain': 'API_URL',
    'username': USERNAME,
    'password': PASSWORD
}

Altium 365의 요구 사항 및 시스템 포털에서 작업하는 경우 사용자 이름 및 비밀번호를 통해 나머지 API에 액세스할 수 없습니다. 여기에 설명된 대로 설정에서 "사용자 토큰"을 사용해야 합니다.

런타임에 스크립트는 스크립트를 트리거하는 사용자의 사용자 설정에 정의된 비밀에서 이러한 변수의 값을 가져오며, 이러한 변수는 해당 사용자의 권한에 따라 달라집니다. 사용자 비밀번호가 노출되지 않도록 스크립트에는 이러한 변수의 Output 함수를 포함하지 않아야 합니다.

자동화를 통해 트리거되도록 설정된 일반 사용 스크립트는 다른 모든 사용자로부터 읽기 권한을 제거할 수 있는 관리자 수준의 사용자 인증을 통해 설정할 수 있으므로 스크립트를 숨길 수 있습니다.

대기열 시스템

대기열 시스템을 사용하면 특히 사전 정의된 자동화가 사용자 지정 워크플로 스크립트를 정기적으로 트리거하는 경우 스크립트가 항상 실행되도록 할 수 있습니다. 이를 위해서는 '실행' 섹션에 액세스하세요. 모든 스크립트의 모든 실행을 보거나 특정 스크립트의 실행을 볼 수 있습니다.

스크립팅 대기열 작동 중

이제 모든 스크립트 실행이 배포에 저장되며 스크립트 모듈 트리 상단의 "모든 스크립팅" 옵션을 선택하여 스크립트별로 또는 모든 스크립트에 대해 참조할 수 있습니다.

작업 드롭다운 메뉴에서 "중지" 버튼을 클릭하여 실행 중인 스크립트를 중지할 수 있습니다.

image-20250103-120600.png스크립트에 대한 작업 중지하기

권한 처리

스크립트에는 스크립팅 모듈 내에서 직접 처리하거나 프로젝트 모듈의 "권한"에서 처리할 수 있는 고유한 권한이 있습니다.

스크립트에 대한 사용자 권한 설정하기

대시보드에서 스크립트 실행

사용자는 '스크립트 실행' 버튼을 사용하여 사용자 지정 인터랙션 대시보드를 만들 수도 있습니다. 이 버튼은 이전에 REST 호출을 트리거하는 데 사용된 요청 버튼과 비슷하지만 버튼 하나만 누르면 싱글 또는 여러 개의 스크립트를 실행하도록 구성할 수 있습니다.

호출된 스크립트에서 Python API를 사용하여 표준 텍스트 상자 등의 요소를 스크립트의 입력 및 출력 필드로 사용할 수 있는 사용자 지정 상호작용 대시보드를 설정할 수 있으며, 이 대시보드는 디스플레이의 다른 요소에도 직간접적으로 영향을 미칠 수 있습니다.

이를 위해 프로젝트 모듈의 '대시보드'로 이동합니다. 그런 다음 Custom 대시보드로 이동하여 오른쪽 아래 모서리에 있는 더하기 아이콘을 클릭합니다. 그런 다음 '작업' 드롭다운에서 '스크립트 실행' 옵션을 선택합니다.

대시보드에서 '스크립트 실행' 작업 버튼 만들기.

이렇게 하면 대시보드의 특정 블록을 업데이트하는 스크립트를 실행할 수 있는 버튼이 만들어집니다.

흥미로운 사용 사례는 테스트 실행의 합격 및 실패 횟수를 계산하여 동일한 대시보드의 텍스트 블록에 표시하는 경우입니다.

"대시보드에서 '스크립트 실행' 버튼을 클릭하여 테스트 실행 상태를 카운트할 수 있습니다.

스크립트 및 자동화

사전 설정된 자동화를 통해 스크립트를 트리거할 수 있습니다. 예를 들어, 정의된 입력이 변경되면 복잡한 계산이 자동으로 실행되도록 설정할 수 있습니다. 또한 요구 사항 및 시스템 포털의 Python API를 사용하여 맞춤형 복잡한 동작을 프로그래밍하여 Custom 워크플로우를 구축할 수도 있습니다.

자동화는 스크립트를 트리거할 뿐만 아니라 스크립트가 해당 개체에 대해 직접 작동할 수 있도록 스크립트를 트리거한 개체의 정보도 전달합니다. 개체 정보는 다음 예시에서와 같이 'kwargs' 사전 변수의 'triggered_objects' 키 아래에서 사용할 수 있습니다:

object_data = kwargs['triggered_objects'][0]

자동화는 해당 스크립트를 볼 권한이 없는 사용자가 트리거하는 경우에도 스크립트를 실행하므로 관리 사용자가 워크플로를 사용자 정의하고 계산할 수 있는 동시에 독점적인 수학적 및 물리적 모델과 같은 기본 코드에 대한 액세스를 제한할 수 있습니다.

워크플로 스크립트 예시는 valifn 공용 리포지토리의 템플릿 폴더에서 찾을 수 있습니다.

Custom Valifn 이미지

온프레미스 사용자는 서버 하드웨어가 처리할 수 있는 경우 원하는 Python 패키지를 실행하도록 valifn 인스턴스를 사용자 정의할 수 있는 추가 기능을 사용할 수 있습니다. 또한 온프레미스 사용자는 스크립트 실행 시간에 사용할 발리프n 이미지를 관리할 수 있습니다.

온프레미스 배포에서 스크립트에 사용할 valifn 이미지를 설정합니다.

표시된 대로 이 옵션은 각 개별 스크립트의 일반 설정에서 텍스트 필드로 사용할 수 있습니다.

Custom 이미지를 만드는 방법

사용자 정의 valifn 이미지를 설정하는 방법에 대한 자세한 지침은 공개 리포지토리의 문서 페이지에서 찾을 수 있습니다:

파이썬 스크립트 예제

사용 가능한 스크립트 예제는 배포의 발리콥터 5000(신규 배포) 예제 프로젝트와 발리프엔의 Github 공개 리포지토리에서 모두 찾을 수 있습니다.

이러한 예제는 수동으로 또는 자동화를 통해 트리거할 수 있으며(일부 경우에만 해당), 사용자가 그대로 사용하거나 수정하여 맞춤형 동작을 수행할 수 있습니다.

이러한 예시 중 다수는 스크립팅 모듈과 자동화를 통해 맞춤형 자동화된 워크플로를 만들 수 있는 가능성을 보여주기 위해 만들어졌습니다. 사용자는 필요에 따라 기존 스크립트를 사용자 정의하고 범용 스크립트 및 개선 사항을 ValiFn의 공개 리포지토리에 공유할 수 있습니다.

아동 용의자 경고(자동화)

Rational

이 스크립트는 자동화에 의해 트리거되며, 스크립트가 편집된 요구 사항의 속성에 따라 작동하므로 기존 요구 사항의 변경에 의해 트리거되도록 설정해야 합니다. 현재 정의된 동작은 모든 하위 요구 사항(있는 경우)에 부모 요구 사항의 변경 상태에 관한 맞춤형 메시지와 함께 토론을 배치하는 것입니다.

제안된 사용자 지정

다른 가능한 작업으로는 작업을 만들거나 편집된 요구 사항을 리뷰에 추가하는 것이 있습니다.

현재 작업

  • 사전 설정 자동화를 트리거한 요구 사항에 하위 요구 사항이 있는지 확인합니다

  • 자식이 있는 경우 각 자식 요구 사항에 부모가 업데이트되었음을 나타내는 토론을 게시합니다.

  • 이 토론에는 요구 사항을 편집한 사용자의 신원이 포함되어 자동화가 트리거됩니다.

새 작업(자동화)

Rational

새 블록을 만들 때 잠재 고객은 작업이 자동으로 만들어지고 특정 사용자에게 할당되도록 요구했습니다. 이 예에서는 새 블록을 만들면 미리 설정된 자동화가 트리거되어 새 작업이 만들어지고 사용자에게 할당됩니다. 트리거링 개체를 입력으로 추가하는 것이 이상적이었지만 개발이 완료되지 않았습니다.

제안된 사용자 정의

를 사용하여 kwargs['triggered_objects'][0] 를 사용하여 자동화를 트리거한 개체의 정보를 추출하여 작업의 입력 필드에 추가하세요.

현재 작업

  • 지정된 사용자에게 할당된 새 작업을 게시합니다.

요구 사항 통계

Rational

대시보드 및 분석 문서에서 제공되는 기본 블록에 제공된 것보다 더 많은 통계 값을 사용하여 보다 사용자 정의된 카운터를 만드는 간단한 예입니다. 요구 사항이 생성, 수정 또는 삭제될 때마다 수동으로 실행하거나 자동화에서 실행되도록 설정할 수 있습니다.

제안된 사용자 정의

  1. 요구사항에서 추출된 정보를 이전에 업데이트된 값과 비교하여 더 복잡한 통계를 도출할 수 있습니다. 각 값은 얼마나 증가/감소했는지 백분율로 표시할 수 있습니다.

  2. 각 프로젝트에서 스크립트를 개별적으로 실행하고 모든 프로젝트에서 통계를 가져오는 특수 인스턴스를 추가하여 대시보드에 표시함으로써 배포 통계를 비교하세요.

  3. 통계에 요구 사항 수가 갑자기 감소하여 프로젝트에 급격한 변화가 있을 수 있음을 알리는 경우 프로젝트 관리자를 위한 사용자 지정 경고를 설정하세요.

현재 작업

  • 배포 중인 단일 프로젝트에 대한 전체 요구 사항 통계를 작성합니다.

  • 미리 만들어진 Valis에 결과를 패치합니다.

사양 생성

Rational

완전 자동화된 보고서를 만드는 Python API의 강력한 기능을 보여주는 예제 스크립트입니다. 기본 스크립트는 통합 문서 페이지에서도 사용할 수 있지만, 이 특정 버전은 배포의 스크립팅 모듈에서 실행되도록 조정되었습니다.

자동화 또는 수동으로 트리거할 수 있습니다.

제안된 사용자 정의

  1. 현재 요구 사항 가져오기 프로세스를 조정하여 보고서에서 작성할 블록 및 기타 개체를 추출하여 전체 보고서를 만듭니다

  2. Custom 대시보드 텍스트 블록에서 가져올 수 있는 다른 사용자 지정 가능한 필드를 추가하여 트리거할 수도 있습니다.

  3. 최종 출력 파일을 편집 가능한 Word 파일 대신 PDF로 변경합니다.

현재 작업

테스트 대시보드

Rational

대시보드 카운터는 아직 테스트 모듈을 따라잡지 못했으며, 테스트를 위한 자동화된 카운터도 아직 없습니다. 이 스크립트는 아직 구현되지 않은 Custom 카운터에 대한 개념 증명으로 개발되었습니다. 처음에는 대시보드의 스크립트 실행 버튼에서 수동으로 트리거하여 실행하도록 고안되었습니다.

제안된 Customizations

  1. 대시보드에 다시 게시되는 테스트 통계를 확장합니다.

  2. 테스트 실행이 성공하면 연결된 작업에 결과를 게시하고 상태를 "완료"로 변경합니다.

현재 작업

  • 계산된 테스트 실행 통계와 함께 미리 정의된 대시보드 텍스트 블록에 배치된 문자열을 반환합니다.

  • 자동화에서 입력을 받거나 수동으로 트리거할 수 있습니다.

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
기능 제공 여부

사용 가능한 기능은 보유하고 계시는 Altium 솔루션에 따라 달라집니다. 해당 솔루션은 Altium Develop, Altium Agile의 에디션(Agile Teams 또는 Agile Enterprise), 또는 활성기간 내의 Altium Designer 중 하나입니다.

안내된 기능이 고객님의 소프트웨어에서 보이지 않는 경우, 보다 자세한 내용을 위해 Altium 영업팀 에 문의해 주세요.

콘텐츠