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, 개수, canonicalscriptTail을 반환함 - 모델이 바뀌었으므로 적용된 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,dzrotate: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__를 사용합니다.topology는11-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,parametrichistory는 명시적 element id snapshot을 기록함 - GUI
topologyhistory는 현재 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기본값은 현재LargestNumbernext 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