openSCAD 와 다르게 python / javascript 로 작동되는 파라매트릭 설계 라이브러리

 

[링크 : https://github.com/gumyr/build123d] python  기반

[링크 : https://fluidcad.io/] javascript 기반

    [링크 : https://wikidocs.net/blog/@jaehong/11371/]

'프로그램 사용 > openSCAD' 카테고리의 다른 글

openSCAD + claude.ai = 파라메트릭 모델링  (0) 2026.07.13
openSCAD MCP  (0) 2026.06.20
pythonSCAD  (0) 2026.06.20
openSCAD cheatsheet  (0) 2026.06.20
openSCAD 설치  (0) 2026.06.20
Posted by 구차니
프로그램 사용/freecad2026. 9. 10. 17:06

freeCAD에서 openFOAM을 이용해서 cfd 할 수 있는 플러그인

솔리드웍스 처럼 통합은 못해도 쓰는게 편하기라도 하면 좋겠네

 

[링크 : https://blog.naver.com/heennavi1004/223829709527]

[링크 : https://yyman.tistory.com/1053]

[링크 : https://blog.naver.com/localid/222302561603]

'프로그램 사용 > freecad' 카테고리의 다른 글

gemini + freecad  (0) 2025.09.01
claude mcp + freecad  (0) 2025.08.31
freeCAD + openFOAM  (0) 2025.08.29
freecad + MCP  (0) 2025.08.29
freecad on ubuntu 24.04  (0) 2025.05.18
Posted by 구차니

얼핏 보기로는 국제 표준으로 버튜버 모델에 대한게 있다고 하던데 그 샘플인가?

 [링크 : https://miko.aituberonair.com/ko/]

 

음.. 일단 플러그인도 있으니 나중에 시도는 해봐야겠다.

[링크 : https://vrm-addon-for-blender.info/en-us/]

'프로그램 사용 > Blender' 카테고리의 다른 글

blender ik - chain length 테스트  (0) 2026.10.14
blender vrm import + miko  (0) 2026.09.14
blender sculpting - trim  (0) 2026.09.04
blender 객체 중심에 오게 하기  (0) 2026.09.04
blender spot light  (0) 2026.09.04
Posted by 구차니

kinect 에서 사운드 array를 이용해서 방향을 측정할수 있다곤 하는데

libfreenect 에는 사운드 관련 api가 존재 하지만

libfreenect2 에서는 아예 없어서 odas나 tdoa 라이브러리 쓰라고 해서 찾아보는 중

 

ODAS (Open embeddeD Audition System) 

[링크 : https://github.com/introlab/odas]

[링크 : https://www.frontiersin.org/journals/robotics-and-ai/articles/10.3389/frobt.2022.854444/full]





TWR (Two Way Ranging)

TDoA (Time Differnce of Arrival)

[링크 : https://github.com/AlexisTM/MultilaterationTDOA]

[링크 : https://grow-space.io/blog/uwb-측위-방식의-양대-산맥-twrtwo-way-ranging-vs-tdoatime-difference-of-arrival-비교/]

[링크 : https://m.blog.naver.com/intknk2/221510943339]

Posted by 구차니

언제나 그렇듯 기본도형으로 시작!

sculpt mode

왼쪽 툴바에서 중간쯤에 가위 있는거 꾸욱 누르면 box trim

 

드래그해서 자를 곳을 찾으면

 

뿅~ 이걸로 이제 소방관 다리 찢어야지 ㅋㅋㅋ

[링크 : https://www.youtube.com/shorts/u1dm7jYhL-Q]

'프로그램 사용 > Blender' 카테고리의 다른 글

blender vrm import + miko  (0) 2026.09.14
버튜버 모델 miko vrm  (0) 2026.09.09
blender 객체 중심에 오게 하기  (0) 2026.09.04
blender spot light  (0) 2026.09.04
blender eevee / cycle 렌더 헤드리스  (0) 2026.09.04
Posted by 구차니

와.. 쩜 누르면 된다.(keypad)

 

 

처음 추가된 녀석이 중심

 

object mode에서 다른 cube 선택하고

 

키패드 . 을 누르면 얼빡!

 

축소해서 회전해보면 딱 얘가 중심에 잡힌다.

'프로그램 사용 > Blender' 카테고리의 다른 글

버튜버 모델 miko vrm  (0) 2026.09.09
blender sculpting - trim  (0) 2026.09.04
blender spot light  (0) 2026.09.04
blender eevee / cycle 렌더 헤드리스  (0) 2026.09.04
blender 창 나누기. 카메라 뷰 보기  (0) 2026.08.28
Posted by 구차니

이전 렌더링에서 빛이 산란하지 않고 그냥 레이저 처럼 직사로 와서

그림자가 완전 각지는 문제가 있었는데

그걸 이렇게 하면 좀 부드럽게 퍼진다고 한다.

 

아래는 claude 가 개선한 코드인데

        light_data.energy = random.uniform(*LIGHT_ENERGY_RANGE)
        light_data.shadow_soft_size = random.uniform(*LIGHT_SHADOW_SOFT_SIZE_RANGE)
        light_data.spot_size = random.uniform(*LIGHT_SPOT_SIZE_RANGE)
        light_data.spot_blend = random.uniform(*LIGHT_SPOT_BLEND_RANGE)

 

energy는 power에 대응되는것 같고, shadow_soft_size는 radius에 대응되는것 같다.

아 쫌 용어 통일하라고 ㅠㅠ api에 맞추던가 아니면 api를 ui에 맞추던가!

energy
The energy this light would emit over its entire area if it wasn’t limited by the spot angle, in units of radiant power (W) (in [-inf, inf], default 10.0)

shadow_soft_size
Light size for ray shadow sampling (Raytraced shadows) (in [0, inf], default 0.0)

spot_size
Angular diameter of the spotlight beam (in [0.0174533, 3.14159], default 0.785398)

spot_blend
The softness of the spotlight edge (in [0, 1], default 0.15)

[링크 : https://docs.blender.org/api/current/bpy.types.SpotLight.html]

 

 

초기값

 

power 올림

 

 

radius 0.2로 변경

 

 

Posted by 구차니

노트북에서는 오히려 학습 데이터 생성이 빠른데

데스크탑에서 느려서 확인해보니

 

노트북에서는 이렇게 nvtop 돌리니까 gpu를 사용한다.

 

아무튼.. claude 말로는 cycles 돌리면 빨라진다는데 흐음.. cycles는 raytracing쪽 설정때문에 잘 모르겠던데..

 

eevee는 gpu 렌더러라 gpu가 없으면 작동안한다고. 그런데 왜.. headless 구성에 영향을 받지?

EEVEE is a GPU renderer. You cannot use it without a GPU. It can only use GPU to render, doesn't even support CPU rendering. This means it uses whatever week GPU you have and, sure it can run out of memory and stop being able to cope very quickly.   CommentedDec 15, 2024 at 16:42

[링크 : https://blender.stackexchange.com/questions/328484/when-using-rendering-in-blender-using-eevee-without-a-gpu-does-lighting-behave]

[링크 : https://blender.stackexchange.com/questions/230728/is-there-no-way-of-rendering-headless-using-eevee]

 

CPU Rendering
Being a rasterization engine, EEVEE only uses the power of the GPU to render. There is no plan to support CPU (software) rendering as it would be very inefficient. CPU power is still needed to handle high scene complexity as the geometry must be prepared by the CPU before rendering each frame.

[링크 : https://docs.blender.org/manual/en/latest/render/eevee/limitations/limitations.html#cpu-rendering]

 

 

아무튼 bpy 에서는 아래처럼 cycles를 설정하면 헤드리스 설정이라도 gpu 가속 잘 받는다고

scene = bpy.context.scene

scene.render.engine = "CYCLES"
scene.cycles.device = "GPU"
scene.cycles.samples = CYCLES_SAMPLES
scene.cycles.use_denoising = CYCLES_USE_DENOISING

'프로그램 사용 > Blender' 카테고리의 다른 글

blender 객체 중심에 오게 하기  (0) 2026.09.04
blender spot light  (0) 2026.09.04
blender 창 나누기. 카메라 뷰 보기  (0) 2026.08.28
blender sculpting - dynatopo, grab  (0) 2026.08.06
blender 5.x sculpting  (0) 2026.07.29
Posted by 구차니
프로그램 사용/Blender2026. 8. 28. 10:45

창을 띄우고 모델을 불러오고

 

창 크기 조절하듯 경계선 밖에 가서 + 로 커서가 바뀌었을 때 우클릭하면

 

아래처럼 split / join이 뜬다.

그럼 split 해주고

 

원하는 창을 나누고 클릭하면 된다.

 

오른쪽 창은 숫자키패드 0 눌러서 카메라 뷰로 바꾸고

왼쪽에서 조절하면 렌더하면서 일일이 안봐도 되서 딱이네

 

[링크 : https://kimslo.tistory.com/entry/Blender-화면나누기-화면합치기]

'프로그램 사용 > Blender' 카테고리의 다른 글

blender spot light  (0) 2026.09.04
blender eevee / cycle 렌더 헤드리스  (0) 2026.09.04
blender sculpting - dynatopo, grab  (0) 2026.08.06
blender 5.x sculpting  (0) 2026.07.29
blender export render/viewport  (0) 2026.07.29
Posted by 구차니
프로그램 사용/ros2026. 8. 18. 15:50

일단 오랫만에 하려니 까먹었..

2760p에서 SSD 뽑아서 옮기고 하는데 먼가 잘 안되네..

$ source /opt/ros/humble/setup.bash
$ cd ros2_ws/
~/ros2_ws$ source install/setup.bash 
~/ros2_ws$ ros2 launch kinect2_bridge kinect2_bridge_launch.yaml
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2026-08-18-14-47-28-206839-minimonk-HP-EliteBook-2760p-2683
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge_node-1]: process started with pid [2684]
[INFO] [point_cloud_xyzrgb_node-2]: process started with pid [2686]
[kinect2_bridge_node-1] [INFO] [1787032048.561620321] [kinect2_bridge_node]: parameter:
[kinect2_bridge_node-1]         base_name: kinect2
[kinect2_bridge_node-1]            sensor: default
[kinect2_bridge_node-1]         fps_limit: 30
[kinect2_bridge_node-1]        calib_path: /home/minimonk/ros2_ws/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge_node-1]           use_png: false
[kinect2_bridge_node-1]      jpeg_quality: 90
[kinect2_bridge_node-1]         png_level: 1
[kinect2_bridge_node-1]      depth_method: cpu
[kinect2_bridge_node-1]      depth_device: -1
[kinect2_bridge_node-1]        reg_method: default
[kinect2_bridge_node-1]        reg_device: -1
[kinect2_bridge_node-1]         max_depth: 12
[kinect2_bridge_node-1]         min_depth: 0.1
[kinect2_bridge_node-1]        queue_size: 5
[kinect2_bridge_node-1]  bilateral_filter: true
[kinect2_bridge_node-1] edge_aware_filter: true
[kinect2_bridge_node-1]        publish_tf: true
[kinect2_bridge_node-1]      base_name_tf: kinect2
[kinect2_bridge_node-1]    worker_threads: 4
[kinect2_bridge_node-1] libva info: VA-API version 1.14.0
[kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_14
[kinect2_bridge_node-1] libva info: va_openDriver() returns 0
[kinect2_bridge_node-1] [INFO] [1787032048.795488827] [kinect2_bridge_node]: Kinect2 devices found: 
[kinect2_bridge_node-1] [INFO] [1787032048.795526124] [kinect2_bridge_node]:   0: 501441643042 (selected)
[kinect2_bridge_node-1] [INFO] [1787032048.883343429] [kinect2_bridge_node]: starting kinect2
[kinect2_bridge_node-1] [INFO] [1787032049.528036575] [kinect2_bridge_node]: device serial: 501441643042
[kinect2_bridge_node-1] [INFO] [1787032049.528089258] [kinect2_bridge_node]: device firmware: 4.0.3911.0
[kinect2_bridge_node-1] [WARN] [1787032049.775072554] [kinect2_bridge_node]: using sensor defaults for color intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1787032049.775198004] [kinect2_bridge_node]: using sensor defaults for ir intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1787032049.775233483] [kinect2_bridge_node]: using defaults for rotation and translation.
[kinect2_bridge_node-1] [WARN] [1787032049.775264689] [kinect2_bridge_node]: using defaults for depth shift.
[kinect2_bridge_node-1] [INFO] [1787032049.797677152] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1787032049.797721040] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1787032049.814391118] [kinect2_bridge_node]: waiting for clients to connect
[kinect2_bridge_node-1] [INFO] [1787032050.806967850] [kinect2_bridge_node]: client connected. starting device...
[kinect2_bridge_node-1] [INFO] [1787032054.197297612] [kinect2_bridge_node]: depth processing: ~570.346ms (~1.75332Hz) publishing rate: ~4.98921Hz
[kinect2_bridge_node-1] [INFO] [1787032054.197366612] [kinect2_bridge_node]: color processing: ~4.93251ms (~202.736Hz) publishing rate: ~4.98921Hz
[kinect2_bridge_node-1] [INFO] [1787032057.202601972] [kinect2_bridge_node]: depth processing: ~1013.64ms (~0.986545Hz) publishing rate: ~3.99293Hz
[kinect2_bridge_node-1] [INFO] [1787032057.202648584] [kinect2_bridge_node]: color processing: ~3.8534ms (~259.511Hz) publishing rate: ~3.99293Hz

 

기존 i5-2520m 대비 오르긴 했는데.. 일단 CPU 로 해서 그런가 획기적으로 오르진 않았다.

[kinect2_bridge_node-1] [INFO] [1783770781.952362253] [kinect2_bridge_node]: depth processing: ~454.726ms (~2.19912Hz) publishing rate: ~2.99997Hz
[kinect2_bridge_node-1] [INFO] [1783770781.952462142] [kinect2_bridge_node]: color processing: ~13.8091ms (~72.4159Hz) publishing rate: ~11.9999Hz
[kinect2_bridge_node-1] [INFO] [1783770784.961367722] [kinect2_bridge_node]: depth processing: ~1429.33ms (~0.69963Hz) publishing rate: ~2.65869Hz
[kinect2_bridge_node-1] [INFO] [1783770784.961457981] [kinect2_bridge_node]: color processing: ~18.3239ms (~54.5735Hz) publishing rate: ~2.65869Hz

 

+

 다시 빌드 하고 시도

$ sudo apt install gcc-10 g++-10
$ git clone --depth 1 https://github.com/NVIDIA/cuda-samples.git
$ cd cuda-samples/Common
$ sudo cp helper_math.h /usr/include

$ cd ~/src/libfreenect
$ mkdir build_cuda
$ cd build_cuda
$ cmake .. -DENABLE_CUDA=ON -DCUDA_HOST_COMPILER=/usr/bin/gcc-10
$ sudo make install

~/ros2_ws$ colcon build --symlink-install
~/ros2_ws$ vi ./src/kinect2_ros2/kinect2_bridge/launch/kinect2_bridge_launch.yaml
 30         - name: "depth_method"
 31           value: "default"

 

kinect2를 인식해서 좋긴한데

dpeth_method / reg_mothod가 cpu로 돌아가는건지 cuda를 쓰는건지 모르겠다.

2% 지만 소비전류가 늘은거 보면 쓰는건 맞는거 같은데.. 성능 왜이러냐

 

$ ros2 launch kinect2_bridge kinect2_bridge_launch.yaml 
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2026-08-18-15-32-14-328668-minimonk-HP-EliteBook-2760p-7007
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge_node-1]: process started with pid [7008]
[INFO] [point_cloud_xyzrgb_node-2]: process started with pid [7010]
[kinect2_bridge_node-1] [INFO] [1787034734.508992751] [kinect2_bridge_node]: parameter:
[kinect2_bridge_node-1]         base_name: kinect2
[kinect2_bridge_node-1]            sensor: default
[kinect2_bridge_node-1]         fps_limit: 30
[kinect2_bridge_node-1]        calib_path: /home/minimonk/ros2_ws/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge_node-1]           use_png: false
[kinect2_bridge_node-1]      jpeg_quality: 90
[kinect2_bridge_node-1]         png_level: 1
[kinect2_bridge_node-1]      depth_method: default
[kinect2_bridge_node-1]      depth_device: -1
[kinect2_bridge_node-1]        reg_method: default
[kinect2_bridge_node-1]        reg_device: -1
[kinect2_bridge_node-1]         max_depth: 12
[kinect2_bridge_node-1]         min_depth: 0.1
[kinect2_bridge_node-1]        queue_size: 5
[kinect2_bridge_node-1]  bilateral_filter: true
[kinect2_bridge_node-1] edge_aware_filter: true
[kinect2_bridge_node-1]        publish_tf: true
[kinect2_bridge_node-1]      base_name_tf: kinect2
[kinect2_bridge_node-1]    worker_threads: 4
[kinect2_bridge_node-1] libva info: VA-API version 1.14.0
[kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_14
[kinect2_bridge_node-1] libva info: va_openDriver() returns 0
[kinect2_bridge_node-1] [INFO] [1787034735.139375282] [kinect2_bridge_node]: Kinect2 devices found: 
[kinect2_bridge_node-1] [INFO] [1787034735.139436224] [kinect2_bridge_node]:   0: 501441643042 (selected)
[kinect2_bridge_node-1] [INFO] [1787034735.225374525] [kinect2_bridge_node]: starting kinect2
[kinect2_bridge_node-1] [INFO] [1787034735.540712973] [kinect2_bridge_node]: device serial: 501441643042
[kinect2_bridge_node-1] [INFO] [1787034735.540771176] [kinect2_bridge_node]: device firmware: 4.0.3911.0
[kinect2_bridge_node-1] [INFO] [1787034735.772433213] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1787034735.772485273] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1787034735.787628318] [kinect2_bridge_node]: waiting for clients to connect
[kinect2_bridge_node-1] [INFO] [1787034736.781245426] [kinect2_bridge_node]: client connected. starting device...
[kinect2_bridge_node-1] [INFO] [1787034740.153039579] [kinect2_bridge_node]: depth processing: ~614.366ms (~1.6277Hz) publishing rate: ~5.31568Hz
[kinect2_bridge_node-1] [INFO] [1787034740.153092716] [kinect2_bridge_node]: color processing: ~4.92322ms (~203.119Hz) publishing rate: ~3.98676Hz
[kinect2_bridge_node-1] [INFO] [1787034743.162903904] [kinect2_bridge_node]: depth processing: ~970.624ms (~1.03026Hz) publishing rate: ~3.98689Hz
[kinect2_bridge_node-1] [INFO] [1787034743.162966773] [kinect2_bridge_node]: color processing: ~4.06577ms (~245.956Hz) publishing rate: ~3.98689Hz

 

흐음.. 되는게 없네. 비율이 왜이러냐..

 

 

cd ~/src/libfreenect2/build_cuda
cmake .. -DENABLE_CUDA=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DCUDA_HOST_COMPILER=/usr/bin/gcc-10 -DENABLE_VAAPI=OFF
make -j$(nproc)
sudo make install

 

빌드 없이 임시로

$ LIBVA_DRIVER_NAME=dummy ros2 launch kinect2_bridge kinect2_bridge_launch.yaml

 

depthcloud 추가

 

경고가 뜨는데 아마도.. 원래 상정된거랑 다른 topic이라 그런듯

그러니 Depth Map Topic과 Color Image Topic을 지정해주면

 

아래처럼 먼가 컬러로 나오긴 한다.

 

근데 slam은 어떻게 하지?

위에꺼 실행해두고, 아래꺼 하면 아무것도 안나오는데...

ros2 run tf2_ros tf2_echo kinect2_link kinect2_rgb_optical_frame


ros2 launch rtabmap_launch rtabmap.launch.py \
    rgb_topic:=/kinect2/color/image \
    depth_topic:=/kinect2/depth/image \
    camera_info_topic:=/kinect2/color/camera_info

 

Posted by 구차니