콘텐츠로 이동

hfVisualizer 원격 제어 Element

element

hfVisualizer --remote [--target <id>] element <type> <id> <n1,n2,...> [--section <name>] [--elset <name>]
  • preprocessing mode에서 element 하나를 생성합니다.
  • <id>는 양의 정수여야 합니다.
  • <n1,n2,...><type>이 요구하는 node 개수와 일치해야 합니다.
  • 참조하는 모든 node id는 미리 존재해야 합니다.

element-update

hfVisualizer --remote [--target <id>] element-update <id> <n1,n2,...> [--section <name|none>] [--beam-cs <name|none>] [--release <name|none>] [--scale-factor <value>] [--orientation-cs <name|none>] [--moving-position <x,y>] [--spline <name|none>] [--host-elset <name|none>]
  • preprocessing mode에서 기존 element 하나를 갱신합니다.
  • Element Table 행 편집과 일부 clear 동작의 canonical IPC/CLI 형식입니다.
  • <id>는 이미 존재해야 합니다.
  • <n1,n2,...>는 현재 element의 node 개수와 맞아야 합니다.
  • 선택 옵션은 호환되는 element 타입에만 적용됩니다.
  • --beam-cs: T3D2, B3D2H, B3D2MH
  • --release: B2D2H, B2D2MH, B3D2H, B3D2MH
  • --scale-factor, --orientation-cs: Spring, EarthSpring, PointMass
  • --moving-position: MovingSpring
  • --spline, --host-elset: EmbeddedLine
  • section, coordinate system, spline, host elset 값을 지울 때는 none을 사용합니다.

예시:

hfVisualizer --remote element-update 201 11,12 --section BEAM_SEC --beam-cs CS_LOCAL --release None

element-delete

hfVisualizer --remote [--target <id>] element-delete <ids|__selected__>
  • preprocessing mode에서 id 패턴 또는 현재 element selection으로 element를 삭제합니다.
  • Element Table 전체 행 삭제와 같은 경로를 사용합니다.
  • GUI Delete Node/Element Selection은 클릭 시점의 selection snapshot을 사용하여 element-delete <ids>node-delete <ids>를 그 순서대로 기록합니다.
  • <ids>1,2,3, 1:5, 1:9:2 같은 정수 패턴을 받습니다.
  • __selected__는 현재 element selection으로 해석됩니다.
  • 검증 규칙:
  • preprocessing mode 전용
  • 요청한 모든 id가 삭제 시작 전에 존재해야 함
  • __selected__는 비어 있지 않은 현재 element selection이 필요함
  • 부분 삭제 동작:
  • safe delete 과정에서 일부 element가 남을 수 있음
  • 이 경우 DELETE_PARTIAL과 함께 requestedIds, deletedIds, remainingIds, 개수, canonical scriptTail을 반환함
  • 모델이 바뀌었으므로 적용된 tail은 Remote Control History에 그대로 기록됨

예시:

hfVisualizer --remote element-delete 201:205
hfVisualizer --remote element-delete __selected__

element-extrude

hfVisualizer --remote [--target <id>] element-extrude <translate|rotate> --direction-axis <text> --distance-angle <text> [--start-node-id <id>] [--start-element-id <id>] [--line2 <type>] [--quad4 <type>] [--prism6 <type>] [--hexa8 <type>] [--nset <name>] [--elset <name>] [--remove-source <on|off>] [--merge-node <on|off>]
  • GUI Element Extrude 위젯과 같은 작업을 수행합니다.
  • 별도 source 인자를 받지 않고 현재 GUI selection 중 extrusion 가능한 항목을 사용합니다.
  • GUI와 동일하게 다음 source를 함께 처리합니다.
  • 선택된 node -> line element
  • 선택된 beam element, Face2D edge, edge -> quad element
  • 선택된 Solid2D/Shell element, Face3D face -> prism/hexa element
  • --line2, --quad4, --prism6, --hexa8는 결과 타입 override이며, 실제로 생성되는 결과 범주에만 소비됩니다.
  • --direction-axis는 GUI와 같은 숫자 형식을 사용합니다.
  • translate: dx,dy,dz
  • rotate: x1,y1,z1,x2,y2,z2
  • --distance-angle도 GUI와 같은 반복 문법을 사용합니다. 예: 100,2@50, 15,30,3@10
  • 해당 결과가 생성될 때 옵션을 생략하면 기본값이 적용됩니다.
  • --start-node-id: 현재 next node id
  • --start-element-id: 현재 next element id
  • node -> line: --line2 B3D2H
  • beam/edge -> quad: --quad4 S4F
  • triangle face -> prism: --prism6 C3D6
  • quad face -> hexa: --hexa8 C3D8
  • --remove-source on
  • --merge-node on
  • 검증 규칙:
  • preprocessing mode 전용
  • translate는 정확히 3개의 방향값 필요
  • rotate는 정확히 6개의 방향값과 서로 다른 두 축점 필요
  • --distance-angle은 하나 이상의 유한한 값으로 해석되어야 함
  • 현재 selection에 extrusion 가능한 source가 하나 이상 있어야 함
  • 동작 규칙:
  • --nset은 GUI와 같이 원본/결과 node를 해당 nset에 넣음
  • --elset은 생성된 element뿐 아니라 선택된 source beam/shell/solid2d element도 GUI와 같이 해당 elset에 포함함
  • --remove-source on이면 source beam/shell/solid2d element를 제거하며, surface/edge source는 삭제하지 않음
  • node-only extrusion은 --line2만 사용하며 다른 결과 타입 옵션은 있어도 영향 없음
  • Remote Control History에는 canonical element-extrude ... 한 줄만 기록되므로 정확한 재실행에는 동일한 selection이 먼저 복원되어야 함

예시:

hfVisualizer --remote select node 101,102
hfVisualizer --remote element-extrude translate --direction-axis 0,0,1 --distance-angle 100,2@50 --start-node-id 1001 --start-element-id 2001 --line2 T3D2 --quad4 S4F --prism6 C3D6 --hexa8 C3D8 --nset EXTRUDE_N --elset EXTRUDE_E --remove-source on --merge-node on

element-divide

hfVisualizer --remote [--target <id>] element-divide refine --source <ids|__selected__> --segments <n> [--start-node-id <id>] [--start-element-id <id>] [--merge-node <on|off>]
hfVisualizer --remote [--target <id>] element-divide topology --edge-source <text|__selected__> --segments <n> [--start-node-id <id>] [--start-element-id <id>] [--merge-node <on|off>]
hfVisualizer --remote [--target <id>] element-divide parametric --source <ids|__selected__> --r <text> [--s <text>] [--t <text>] [--start-node-id <id>] [--start-element-id <id>] [--merge-node <on|off>]
  • GUI Element Divide 위젯과 같은 연산군을 수행합니다.
  • refine, parametric--source로 element id 패턴 또는 __selected__를 사용합니다.
  • topology11-12,12-13 같은 edge token 목록 또는 __selected__--edge-source로 사용합니다.
  • refine, topology--segments는 양의 정수여야 합니다.
  • --r, --s, --t는 GUI와 같은 숫자 반복 문법을 사용합니다.
  • parametric--r이 필수
  • --s, --t를 생략하면 기본값은 1
  • 기본값:
  • --start-node-id: 현재 next node id
  • --start-element-id: 현재 next element id
  • --merge-node on
  • 검증 규칙:
  • preprocessing mode 전용
  • 명시한 source id는 모두 이미 존재해야 함
  • __selected__는 비어 있지 않은 현재 element 또는 edge selection이 필요함
  • topology는 각 edge token을 현재 DB edge topology에서 해석함
  • 동작 규칙:
  • GUI refine, parametric history는 명시적 element id snapshot을 기록함
  • GUI topology history는 현재 selected-edge 동작에 맞춰 --edge-source __selected__를 기록함
  • remote CLI/script도 __selected__를 사용할 수 있고, 이 토큰은 canonical tail에 그대로 유지됨
  • 생성된 element는 GUI와 같이 새 element selection이 됨

예시:

hfVisualizer --remote element-divide refine --source 201:220 --segments 3 --start-node-id 1001 --start-element-id 2001 --merge-node on
hfVisualizer --remote element-divide topology --edge-source 11-12,12-13 --segments 2
hfVisualizer --remote element-divide parametric --source __selected__ --r 1,2,2@1.5 --s 1 --t 1

element-change

hfVisualizer --remote [--target <id>] element-change retype --source <ids|__selected__> [--line2 <type>] [--tri3 <type>] [--quad4 <type>] [--tetra4 <type>] [--prism6 <type>] [--hexa8 <type>]
hfVisualizer --remote [--target <id>] element-change reverse-node-order --source <ids|__selected__>
hfVisualizer --remote [--target <id>] element-change explode --source <ids|__selected__> --line2 <type> --tri3 <type> --quad4 <type> [--start-element-id <id>] [--remove-source <on|off>]
  • GUI Element Change 위젯과 같은 연산군을 수행합니다.
  • --source는 element id 패턴 또는 __selected__를 받습니다.
  • retype 규칙:
  • family 옵션이 하나 이상 필요함
  • 지정한 대상 type은 해당 family node 개수와 맞아야 함
  • GUI Remote Control History는 결정적 재실행을 위해 여섯 family target을 모두 기록함
  • reverse-node-order--source만 사용합니다.
  • explode 규칙:
  • --line2, --tri3, --quad4가 필수
  • --start-element-id 기본값은 현재 LargestNumber next element id
  • --remove-source 기본값은 on
  • 동작 규칙:
  • retype은 실제로 바뀐 element 개수를 반환함
  • reverse-node-order는 GUI와 동일한 지원 family에만 적용됨
  • explode는 경계 element를 생성하고 결과를 선택하며, 필요하면 source element를 제거함
  • GUI Remote Control History는 __selected__가 아니라 명시적 source snapshot을 기록함

예시:

hfVisualizer --remote element-change retype --source 201:260 --line2 B3D2H --tri3 S3F --quad4 S4F --tetra4 C3D4 --prism6 C3D6 --hexa8 C3D8
hfVisualizer --remote element-change reverse-node-order --source __selected__
hfVisualizer --remote element-change explode --source 401:420 --line2 B2D2H --tri3 CPS3 --quad4 CPS4 --start-element-id 9001 --remove-source on