'프로그램 사용 > kicad' 카테고리의 다른 글
| kicad 10.0 튜토리얼 1 (0) | 2026.10.03 |
|---|---|
| kicad 공식 사용법 (0) | 2026.09.28 |
| kicad 발음 (0) | 2026.09.28 |
| kicad mcp, flux.ai (0) | 2026.01.09 |
| Kicad - open source PCB / circuit program (11) | 2010.07.08 |
| kicad 10.0 튜토리얼 1 (0) | 2026.10.03 |
|---|---|
| kicad 공식 사용법 (0) | 2026.09.28 |
| kicad 발음 (0) | 2026.09.28 |
| kicad mcp, flux.ai (0) | 2026.01.09 |
| Kicad - open source PCB / circuit program (11) | 2010.07.08 |
클로드님 경배합니다!!!
우클릭 - Follow - TCP Stream

아이씨 엑셀로 고생하고 있었는데 이런 좋은 기능이 ㅋㅋㅋ

| wireshark logging (0) | 2025.03.05 |
|---|---|
| wireshark winpcap 설정하기 (0) | 2024.06.17 |
| linux cooked capture (0) | 2023.09.04 |
| wireshark에서 DHCP 캡쳐하기 (0) | 2011.10.05 |
| wireshark(ethereal / 이더리얼)에서 특정 프로토콜만 필터하기 (0) | 2009.07.05 |
gpt가 nvidia jetson thor에서 돌릴만한거 추천

어우 47.1기가 ㄷㄷ

[링크 : https://huggingface.co/Lightricks/LTX-2.3]
모델에 따라 다르지만 얘도 용량이 ㅎㄷㄷ
[링크 : https://huggingface.co/Lightricks/LTX-Video]
[링크 : https://github.com/Lightricks/LTX-Video]
어우 24기가

[링크 : https://huggingface.co/google/gemma-3-12b-it-qat-q4_0-unquantized] << 사용허가 필요
[링크 : https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT]
[링크 : https://developer.nvidia.com/blog/new-stable-diffusion-models-accelerated-with-nvidia-tensorrt/]
| prometheus lustre expoter (0) | 2020.11.16 |
|---|---|
| kibana (0) | 2020.10.14 |
| grafana (0) | 2020.10.14 |
| zabbix (0) | 2020.10.14 |
| prometheus (0) | 2020.10.14 |
유튜브에서 처럼 막 쭉쭉 안늘어나서 gpt에서 물어보니 알려준 키워드
Dynatopo 왼쪽에 체크박스를 체크해야 하다니 먼가 눈에 잘 안들어 오네

| 땡기기 전 | 땡기고 나서. 나노 먼지 크기로 늘어났...나? |
![]() |
![]() |
dynatopo 체크!

| 떙기기 전 | 땡기고 나서. |
![]() |
![]() |
클릭한채로 몇 번 문질문질 하니 폴리곤도 확 늘고, 제법 늘어난다!
그리고 grab!
기본은 draw인데

grab 으로 바꾸고 하니

겁나 쉽게 끌려온다. 다만 vertex 하나만 끌려오고, dynatopo 와는 같이 못쓴다고
f 누르면 영역을 조절할수 있는데 그 영역내의 버텍스가 한번에 끌려온다.

| blender eevee / cycle 렌더 헤드리스 (0) | 2026.09.04 |
|---|---|
| blender 창 나누기. 카메라 뷰 보기 (0) | 2026.08.28 |
| blender 5.x sculpting (0) | 2026.07.29 |
| blender export render/viewport (0) | 2026.07.29 |
| blender 떼어내기, 때우기 (0) | 2026.07.29 |
cube는 면이 없으니 안되는데 UV sphere 추가하니 된다.
f키로 size 조절

shift-f 로 세기를 조정할 수 있고

클릭 + 드래그는 뽑아내고

ctrl 클릭 +드래그는 밀어 넣는다.

[링크 : https://kauree.tistory.com/903]
유튜브 보다 보면 양쪽 대칭해서 하던데
상단에 나비 같은거 누르면 좌우 대칭이 된다는데 일단 이걸 잘 (?) 쓰려면 y축을 보게 하고 써야 하는 것 같다.

양쪽 뽑!

| blender 창 나누기. 카메라 뷰 보기 (0) | 2026.08.28 |
|---|---|
| blender sculpting - dynatopo, grab (0) | 2026.08.06 |
| blender export render/viewport (0) | 2026.07.29 |
| blender 떼어내기, 때우기 (0) | 2026.07.29 |
| blender 보이지 않는 면까지 선택하기 (0) | 2026.07.29 |
요런 모델인데 scene collection 에서 카메라 하나를 검은색으로 설정

몸통은 사진기 선택을 꺼서 렌더되지 않게 하고 렌더하면 (각도 삑살은 어쩔수 없...) 이렇게 몸통이 빠진다.

체크하고 렌더걸면 아래처럼 보인다.

이걸 이용해서
STL export 시 geometry - properties 에서 render로 하고 열어보면

몸통은 렌더에서 빠져 있으니 털만 나오고

geometry - properties 에서 viewport로 하고 열어보면

몸통을 포함해서 export 된다.

| blender sculpting - dynatopo, grab (0) | 2026.08.06 |
|---|---|
| blender 5.x sculpting (0) | 2026.07.29 |
| blender 떼어내기, 때우기 (0) | 2026.07.29 |
| blender 보이지 않는 면까지 선택하기 (0) | 2026.07.29 |
| blnder 포즈 바꾸면서 렌더하기 (0) | 2026.07.28 |
| blender 5.x sculpting (0) | 2026.07.29 |
|---|---|
| blender export render/viewport (0) | 2026.07.29 |
| blender 보이지 않는 면까지 선택하기 (0) | 2026.07.29 |
| blnder 포즈 바꾸면서 렌더하기 (0) | 2026.07.28 |
| blender weight paint (0) | 2026.07.28 |
alt-z를 누르면 x-ray 모드가 되는데
그러면 뒤에 면까지 선택된다.
즉, 직관적으로 우리가 선택하는 영역내에 모든 vertex가 선택된다고 해야하나?
기본값인 x-ray off
선택하고 보면 먼가 검은 선이 보인다



alt-z 눌러서 x-ray 켜고 선택하면 산뜻한 오렌지로 선택되고

돌려보면 뒤에까지 잘되어있다.

[링크 : https://gall.dcinside.com/mgallery/board/view/?id=blender&no=5106]
| blender export render/viewport (0) | 2026.07.29 |
|---|---|
| blender 떼어내기, 때우기 (0) | 2026.07.29 |
| blnder 포즈 바꾸면서 렌더하기 (0) | 2026.07.28 |
| blender weight paint (0) | 2026.07.28 |
| blender 먼가 숨기기 단축키 (0) | 2026.07.22 |
armature 관련 ridgify 였나? 플러그인으로 생성한 골격을 이용해서

아래처럼 다양한 포즈로 렌더하는 예제

pose mode 까진 아니어도
armature가 pose로 되어있어야 한다는데(by claude) 무슨소리인진 모르겠다.
import bpy
import random
import math
import os
# -------------------------
# 설정
# -------------------------
NUM_IMAGES = 200
ARMATURE_NAME = "metarig" # 랜덤 포즈를 적용할 아마추어 이름
MAX_ANGLE_DEG = 25.0 # 본 하나가 회전할 수 있는 최대 각도(도)
EXCLUDE_NAME_KEYWORDS = [ # 이 문자열이 이름에 포함된 본은 건드리지 않음
"root", "pelvis", "spine", "metarig",
]
# IK/Copy Rotation/Child Of 등 다른 소스가 회전을 덮어쓰는 컨스트레인트 타입.
# 이런 컨스트레인트가 걸린 본은 rotation_euler를 바꿔도 무시되므로 건너뜁니다.
SKIP_CONSTRAINT_TYPES = {"IK", "COPY_ROTATION", "COPY_TRANSFORMS", "CHILD_OF"}
RESPECT_ROTATION_LIMITS = True
RANDOM_SEED = None
DEBUG = True
armature = bpy.data.objects[ARMATURE_NAME]
scene = bpy.context.scene
if DEBUG:
print(f"[DEBUG] 현재 씬: {scene.name} / 전체 씬 목록: {list(bpy.data.scenes.keys())}")
print(f"[DEBUG] 아마추어: {armature.name}, 모드: {armature.mode}")
print(f"[DEBUG] pose_position (변경 전): {armature.data.pose_position}")
print(f"[DEBUG] animation_data: {armature.animation_data}")
if armature.animation_data and armature.animation_data.action:
print(f"[DEBUG] action: {armature.animation_data.action.name}")
# 1) Rest Position으로 설정되어 있으면 본 회전이 렌더에 반영되지 않으므로 강제로 Pose Position 설정
if armature.data.pose_position != 'POSE':
armature.data.pose_position = 'POSE'
if DEBUG:
print(f"[DEBUG] pose_position을 'POSE'로 변경함")
# 2) 액션(F-curve)이 물려있으면 매 프레임 평가 시 수동으로 넣은 rotation_euler를 덮어쓰므로 해제
if armature.animation_data and armature.animation_data.action is not None:
if DEBUG:
print(f"[DEBUG] 기존 액션 '{armature.animation_data.action.name}' 을 해제함 (수동 포즈와 충돌 방지)")
armature.animation_data.action = None
scene.render.engine = 'BLENDER_EEVEE'
scene.render.resolution_x = 640
scene.render.resolution_y = 480
scene.render.resolution_percentage = 100
# 저장 폴더 (blend 파일 기준)
output_dir = bpy.path.abspath("//render_output")
os.makedirs(output_dir, exist_ok=True)
# PNG 저장
scene.render.image_settings.file_format = 'PNG'
def should_skip(bone_name: str) -> bool:
lower = bone_name.lower()
return any(kw.lower() in lower for kw in EXCLUDE_NAME_KEYWORDS)
def has_blocking_constraint(pbone) -> bool:
"""IK 등 다른 소스가 회전을 덮어쓰는 컨스트레인트가 있으면 True."""
for c in pbone.constraints:
if c.mute:
continue
if c.type in SKIP_CONSTRAINT_TYPES:
return True
return False
def get_rotation_limits(pbone):
"""본에 Limit Rotation 컨스트레인트가 있으면 (min, max) 라디안 튜플 반환."""
for c in pbone.constraints:
if c.type == "LIMIT_ROTATION" and not c.mute:
return (
(c.min_x, c.max_x),
(c.min_y, c.max_y),
(c.min_z, c.max_z),
c.use_limit_x, c.use_limit_y, c.use_limit_z,
)
return None
def random_rotate_bone(pbone, max_angle_rad):
limits = get_rotation_limits(pbone) if RESPECT_ROTATION_LIMITS else None
prev_mode = pbone.rotation_mode
if prev_mode != "XYZ":
pbone.rotation_mode = "XYZ"
rx = random.uniform(-max_angle_rad, max_angle_rad)
ry = random.uniform(-max_angle_rad, max_angle_rad)
rz = random.uniform(-max_angle_rad, max_angle_rad)
if limits:
(minx, maxx), (miny, maxy), (minz, maxz), ux, uy, uz = limits
if ux:
rx = max(minx, min(maxx, rx))
if uy:
ry = max(miny, min(maxy, ry))
if uz:
rz = max(minz, min(maxz, rz))
pbone.rotation_euler = (rx, ry, rz)
def randomize_pose():
max_angle_rad = math.radians(MAX_ANGLE_DEG)
rotated = 0
skipped_name = 0
skipped_constraint = 0
for pbone in armature.pose.bones:
if should_skip(pbone.name):
skipped_name += 1
continue
if has_blocking_constraint(pbone):
skipped_constraint += 1
continue
random_rotate_bone(pbone, max_angle_rad)
rotated += 1
if DEBUG:
print(f"[DEBUG] 회전 적용: {rotated}개 / 이름 제외: {skipped_name}개 / 컨스트레인트 제외: {skipped_constraint}개")
if RANDOM_SEED is not None:
random.seed(RANDOM_SEED)
bpy.context.view_layer.objects.active = armature
prev_mode = armature.mode
if armature.mode != "POSE":
result = bpy.ops.object.mode_set(mode="POSE")
if DEBUG:
print(f"[DEBUG] mode_set(POSE) 결과: {result}, 현재 모드: {armature.mode}")
if DEBUG:
all_bones = [b.name for b in armature.pose.bones]
print(f"[DEBUG] 전체 본 개수: {len(all_bones)}")
print(f"[DEBUG] 본 목록: {all_bones}")
# -------------------------
# 렌더링 루프
# -------------------------
for i in range(NUM_IMAGES):
# 매 렌더마다 아마추어 랜덤 포즈 적용
randomize_pose()
# 씬/디펜던시 그래프 강제 갱신 (배치 렌더 시 이전 프레임 캐시 문제 방지)
bpy.context.view_layer.update()
depsgraph = bpy.context.evaluated_depsgraph_get()
depsgraph.update()
# 렌더 저장 경로
scene.render.filepath = os.path.join(output_dir, f"image_{i:03d}.png")
print(f"Rendering {scene.render.filepath}")
bpy.ops.render.render(write_still=True)
if prev_mode != armature.mode:
bpy.ops.object.mode_set(mode=prev_mode)
print("Done.")
+
object mode / bone 에서 이런걸 발견. 아.. 이게 위에 그거였나?

| blender 떼어내기, 때우기 (0) | 2026.07.29 |
|---|---|
| blender 보이지 않는 면까지 선택하기 (0) | 2026.07.29 |
| blender weight paint (0) | 2026.07.28 |
| blender 먼가 숨기기 단축키 (0) | 2026.07.22 |
| blender quarternion (0) | 2026.07.22 |
armature 만드는거랑 auto weight는 일단 스킵
weight paint 모드로 들어와서 우측의 properties에 보면
vertex groups 라고 관절들이 보이는데 이걸 클릭하면 왼쪽에서 위치별로 weight paint가 보이게 된다.
![]() |
![]() |
왼쪽 클릭후 문질러 대면 되는데
weight 0.0 으로 하고 strength 1.0 으로 하니 검은색으로 칠해지면서 weight를 사라지게 할 수 있긴한데..
편한 방법 없나..


반대편 다리에 검게 해두니 확실히 해당 관절을 돌릴때 다른쪽에 영향을 안 받긴 한다.

그런데.. 원하지 않는데 까지 막 칠해지는데.. face 단위로 영역 지정이 가능하려나?

[링크 : https://m.blog.naver.com/cjw531/223159464692]
[링크 : https://tintana4168.tistory.com/22]
| blender 보이지 않는 면까지 선택하기 (0) | 2026.07.29 |
|---|---|
| blnder 포즈 바꾸면서 렌더하기 (0) | 2026.07.28 |
| blender 먼가 숨기기 단축키 (0) | 2026.07.22 |
| blender quarternion (0) | 2026.07.22 |
| blender ik (0) | 2026.07.15 |