출력하다보면 겉면이 아주 지저분해지는 것을 볼 수 있다. 일반적으로 겉면이 곡선이라거나 피규어와 같은 형태를 띈 상태에서는 크게 볼 수 없는 현상인데, 사각형의 케이스 같은 경우에는 아주 두드러지게 확인이 가능하다. 아래와 같은 현상 말이다.

 

Cura 4.0 에서 확인한 모습
실 출력 모습

세로로 세워서 출력을 했고, 내부채움 100%에 노즐 굵기는 0.6mm. 이외에는 크게 설정을 건드리지 않았다.

기능상의 문제는 없었으나, 세로로 뽑기 때문에 서포트를 세울 일도 없었고 깔끔하게 나오지 않는 것이 상식적으로 있기 힘든 점. 그래서 좀 더 찾아보았다.

 

다행히도 자주다니는 카페에서는 해당 현상에 대해 북리지라는 사람이 설명을 아주 잘 해놓았다. (깔끔한 벽면글자 출력하기 - 유튜브로 보기)

요약하자면 아래와 같은 설정을 사용하면 된다.

 

 

1. 현상확인

큐라에서 해당 현상에 대해 보자면 다음과 같다.

기본 설정으로 볼 때의 레이어뷰

레이어뷰를 잘 안보는데, 레이어뷰의 활용법을 이번에 깨우치기도 했다. 레이어뷰로 볼 때에는 저런 모양과 같이 표면이 울퉁불퉁하게 표시가 된다. 그럼 무엇이 문제일까. 문제가 된다고 생각되는 부분에 대해 레이어의 높이를 살펴보자.

 

216번째 레이어를 보게 되면, 화면의 중앙과 같은 지점에서 겉면이 시작됨을 알 수 있다.

 

217번째 레이어를 보게 되면, 화면의 하단과 같은 지점에서 겉면이 시작됨을 알 수 있다.

이와 같이 겉면 레이어의 시작점이 일정하지 않기에 생기는 현상으로 유추할 수 있다. 그렇다면, 이에 대한 해결책은 어떠할까?

 

북리지님의 유튜브를 간단히 요약하자면 다음과 같다. 겉면 레이어의 시작점을 일치시킨다. 그럼, 어떻게 일치시킬까?

 

2. Cura 설정

Cura 설정을 살펴보도록 한다. 해당 설명은 Cura 4.0 기준으로 설명하였으나, Cura 3.* 버전에서도 동일하게 설정이 존재한다.

 

위에서 빨간색으로 표시한 네 개의 설정을 모두 활성화 시켜준다. 그럼 다음과 같이 패널에서 확인이 가능하다.

 

여기에서 Z 솔기 X, Z 솔기 Y의 경우에는 Z Seam Alignment 항목을 사용자지정으로 활성화 하는 경우에 표시된다.

해당 항목은 솔기, 즉 Seam의 위치를 사용자가 설정하는 항목으로 X축 40mm, Y축 705mm위치에 Seam을 모아주겠다는 의미가 된다. 이는 출력물의 크기에 따라 변경 가능한 부분이다.

 

솔기 코너 환경 설정의 경우에는 솔기노출, 솔기 숨기기 등이 있는데 내 모델링에서는 크게 퀄리티가 좋아지지 않았다.

 

 

3. 결과

그렇게 적용한 결과, 다음과 같이 품질이 아주 좋아지게 되었다.

 

보다시피 아주 깔끔한 결과를 얻게 되었다. 모서리의 비어버린 부분과 함께 겉표면의 품질까지도 확연하게 좋아진 결과.

 

'어장 제품리뷰 > 어장 3D 프린터' 카테고리의 다른 글

[Ender-3] 세 달 사용기  (0) 2019.04.07
[엔더3] 2주 사용기  (1) 2019.01.07
블로그 이미지

김생선

세상의 모든것을 어장관리

,

엔더3를 12월 말 무렵에 구매해서 지금까지 대충 120일 넘게 사용했다. 첫 한달은 진짜 24시간 내내 돌아가다시피 했고, 지금은 필요한 생활용품이나 덕질용품을 출력하는 용도로 사용하기에 1일에 4~5시간 정도 출력하는 수준에 그친다. 사용하면서 있었던 많은 일들과 나름의 노하우를 작성해보고자 한다.

 

1. PLA 필라멘트

필라멘트는 대충 세 회사의 필라멘트를 사용했었다. 가장 많이 쓰는 건 가성비가 좋은 손도리의 PLA+필라멘트이며, 손도리에서 검정색 필라멘트가 품절이기에 타 제조사의 필라멘트를 사용한적이 있었으며, 광빨이 죽여주는 실크 필라멘트를 알리익스프레스에서 구매했었다. NOULEI 라는 회사의 필라멘트는 가격이 상당히 사악한데 비해, 출력물의 품질이 아주 만족스러웠다. 그건 뭐 추후 사진으로.

 

ABS필라멘트는 후가공이 편하다고들 하는데 출력시 유해물질이 나온다는 말을 듣고 아기를 키우는 입장에서 절대 사용할 수 없는 물건이었다. 다른 사람들의 의견을 보아하니, 출력시에 나오는 유해물질로 머리가 아프다는둥 하는 말이 어마어마하다. 허나 PLA같은 경우에는 살짝 단내 비스무리한 냄새가 나는 정도. 분진이 발생한다고 하며, 실제로 챔버에 넣어두고 출력하니 분진이 쌓여가는게 보이긴 하는데 크게 염려될 수준까지는 아닌 것 같다. 그냥 집안의 생활먼지가 쌓이는 수준에 그치는 듯.

 

손도리의 필라멘트는 노즐온두 190~200도 정도에 베드온도 50~60도 정도로 설정하고 사용한다. 리트렉션이니 출력속도니 하는건 기본값만 줘도 출력이 꽤 잘 되는 편. 카페에 들어가보면 와블이네 뭐네 하면서 사람들이 온갖 신경질을 다 내는 현상을 볼 수 있는데 난 그런게 없어서 참 신기하다. 내가 조립을 잘 한건지 뭔지.

간혹 일부 구간에 대해 압출량이 살짝 부족한 경향을 보여주는데 이걸 어떻게 잡아야 할 지에 대해서는 감이 잘 안온다. 뭐 그래도 크게 문제있을 정도는 아니라서 다행.

 

쉽*이 라는 업체의 필라멘트를 두 롤(롤당 1kg)을 구매했었는데 검정색 한 롤을 사용하는 와중에 노즐막힘 문제가 발생했다. 내가 설정을 잘못해준건지 저 업체의 필라멘트가 문제인지는 불명. 덕분에 노즐 교체라는 귀중한 경험을 하게 되었으며, 필라멘트 교환 방법을 바꾸게 된 계기가 되었다.

 

NOULEI의 필라멘트는 진짜 배송비만 무료라면 잔뜩 사다가 사용하고 싶을 정도. 500g 세 롤을 구매했었는데, 각 롤당 9.9달러에 배송비가 약 5달러 정도 부과된다. 1kg롤의 경우에는 배송비 합산 약 26달러 정도 부과된다. 손도리의 금색 PLA를 사용했는데 누리끼리한 똥색이 나와버리고, 은색 PLA는 회색과 크게 다를바 없는 출력물에 실망을 느꼈었는데 NOULEI 필라멘트를 쓰고 암이 나았습니다... 정도. 매끄러운 출력표면을 위해 다림질 옵션을 주고 출력하는데, 이건 다림질 옵션을 주면 오히려 광빨이 죽어버리는 기현상이 발생한다. NOULEI의 다른 필라멘트도 사용해보고 싶을 정도.

 

 

2. 설정

큐라 3.X버전을 쓰다가 얼마전에 4.0 버전으로 업그레이드를 했었다. 크게 변한 건 없어보였는데 모델링 선택/설정등이 조금 손이 많이 가게 변해서 실망함. 기본적인 설정은 크게 건드리지 않는 편이나, 몇가지 설정은 나만의 설정으로 변경해서 사용하는 중. 그래봤자 나만의 설정이라는게 찾아보면 교과서적인 설정이나 다름이 없더라.

 

출력속도 - 60m/s

다림질 - 상황에 따라 다름

쿨링 - 95% (100%를 주면 시끄러움)

서포트 - 지그재그

리트렉션 - 사용함, 가속도나 기타 설정은 안건드림

콤바인모드 - 모두 설정으로 사용. 이 설정을 사용하지 않으면 출력시간이 꽤 많이 늘어난다. 사용하나 안하나 품질에 크게 차이가 없다고 느끼는 중

첫레이어 압출량 - 80%. 100%를 주면 코끼리발 현상이라고 첫 레이어가 조금 넓게 퍼지는 경향이 있는데 z축을 조정하라느니 말이 많아서 귀찮아서 그냥 압출량으로 퉁치는 중

 

 

3. 쿨링 및 챔버

울티메이트 쿨러가 가장 멋지고 부피가 작아서 이걸 출력해서 사용중. 정면에서 볼 때 오른쪽 부분이 살짝 녹아내리는 느낌이 있긴 한데 거슬릴 정도가 아니다. 처음에는 쿨러가 흘러내리는 현상이 있었는데, 새로 출력하면서 볼트를 꽉 조여줬더니 지금은 그런게 없다. 자작 애드온으로 LED바를 설치할 수 있게 모델링해서 LED바를 달고 출력한다.

5015 블로워팬을 두개로 달고 있어서 쿨링 100% 설정을 주면 챔버를 뚫고 나오는 소음을 경험하게 되는데, 95% 정도로 주면 크게 거슬릴 정도는 아니라서 다행이다.

 

챔버는 이케아 테이블 두개를 개조해서 사용하는 중이다. 두개까지 살 필요는 없었던 것 같은데 뭐 가격이 일단 저렴하니까. 각 면에 아크릴로 막아두고 정면과 왼쪽은 경첩을 달아서 문으로 만들었다. 남들은 정면에만 문을 다는데 이러면 필라멘트 삽입이라거나 프린터 손볼때 아주 힘들어진다.

PLA라서 챔버는 크게 필요가 없었으나, 난 소음을 막을 목적으로 만들었다. 가격은 프린터만큼 들다시피 했는데 뭐 크게 불만은 없음. 그리고 프린터의 하단에 설치하는 댐퍼는 무조건 필요하다. 댐퍼가 거시기하면 엔더3 살 때 같이 끼워준 압축스펀지 같은 포장재를 깔아놔도 된다. 프린터가 흔들리면서 내는 소음을 아주많이 잡아준다.

 

챔버를 만들고 출력하면 스마트폰 데시벨측정기 기준으로 약 30~40 데시벨 정도가 잡힌다. 이정도면 괄목할만한 수준.

 

 

4. 부가정보

노즐과 테프론 튜브, M3/M4 볼트와 너트들은 상시구비를 해두는게 좋다. 노즐은 자기가 자주쓰는 노즐 기반. 언제 어떻게 노즐이 막힐 지 모르니까 여분으로 두어개 구비해두면 안심이 된다. 나는 다행히도 사은품으로 껴준 노즐이 있었던 편. 노즐이 막히게 되면 달구고 바늘로 찌르라는둥, 토치로 태워서 필라를 없애라는 둥 말이 많은데 거 400~600원 정도밖에 안하는데 그냥 교체하는게 속편하다. 노즐 교체에 대해서는 추후 자세히 작성할 예정인데, 일단 한계치까지 노즐을 달구고 돌려야 노즐이 분해된다. 안그러면 노즐 속 필라멘트가 굳어있어서 분해가 안된다. 또한, 새 노즐목에 테프론 튜브를 한계치까지 넣어야 한다. 이게 눈으로 보이는게 아니라서 사실, 감으로 하는 수 밖에 없는듯. 노즐목에서 테프론튜브를 분해하는것도 빡센데, 테프론튜브를 노즐목에 삽입하는것도 좀 빡센 작업이긴 하다. 유튜브에서 분해영상 좀 보면 감이 올듯.

 

M3/M4 볼트너트는 엔더3 개조할 때 요긴하게 사용되는 부품들이다. 출력물들을 고정할 때에도 많이 사용되기도 하고.

 

최소한 쿨링개조와 익스트루더 핸들만큼은 개조해주는게 정신건강에 이롭다.

 

필라멘트 교체는 노즐온도를 200도 이상(PLA기준)으로 올리고 익스트루더 핸들을 연 상태에서 필라멘트를 잡아뽑으면 된다. 이 방법 전에는 지가 알아서 삽입되길 기다리며 필라멘트를 잘라내고 익스트루더에 새 필라를 끼웠었는데, 끼우는 것도 일이고 이러다가 엿차 하면 ㅈ되는거다. 그냥 편하게 하자 편하게. 중간에 프린터 pause걸면 되니까.

 

출력물이 아무리 단단하다고는 해도, 출력물의 결 방향은 아주 약하다.

 

이전 글에서부터 누차 강조하는 부분이긴 한데, 자신이 기계치다? 그럼 3D프린터는 안사는게 좋다.

이전 글에서부터 누차 강조하는 부분이긴 한데, 자신이 컴맹이다? 그럼 3D프린터는 안사는게 좋다.

 

 

'어장 제품리뷰 > 어장 3D 프린터' 카테고리의 다른 글

[Ender-3] 재봉선 설정  (0) 2019.04.26
[엔더3] 2주 사용기  (1) 2019.01.07
블로그 이미지

김생선

세상의 모든것을 어장관리

,

개발하다보면, 특정 컬럼의 네이밍을 조회하는 경우가 있다. 가령 A 라는 컬럼을 어떤 테이블에서 더 쓰는지. 뭐 이런 경우. Oracle은 all_tab_column인지 all_object를 쓰면 되긴 하는데 mysql은 처음이다. 하지만 간단하다.


1
SELECT * FROM information_schema.columns
cs



이렇게 해주면 된다. 개꿀.

블로그 이미지

김생선

세상의 모든것을 어장관리

,

스마트폰이 대중화된지 대충 10여년이 다 되어간다. 그사이에 우리는 수많은 스마트폰을 기기변경해왔고, 집안에는 어느정도 쓸만한. 하지만 실 사용하기에는 살짝 아쉬운 스펙의 스마트폰들이 넘쳐난다. 이번 글에서는 안드로이드 스마트폰 기반으로 IP WebCAM, 그러니까 인터넷에 연결된 CCTV를 설정하는 방법을 알아보도록 한다.


해당 글에서는 안드로이드 스마트폰을 기반으로 소개를 하고 있지만, 어플리케이션을 소개하는 것이 아니라 이 화면을 집 밖에서도 확인할 수 있도록 설정하는 방법을 작성할 예정이니 iOS 또는 그 외 다른 디바이스들도 응용할 수 있다.



1. 어플리케이션 설치 및 설정


요사이는 IP WebCAM 어플리케이션이 참 잘 나온다. 허나 내가 주로 사용하는 어플리케이션은 다음과 같다. 광고가 있긴 하지만 배너광고에 불과하며, 설정도 다양한데다가 스마트폰 카메라 센서들도 활용할 수 있다. 살짝 구식의 UI가 단점일 수 있겠지만 뭐 이건 크게 중요한 부분이 아니다.


https://play.google.com/store/apps/details?id=com.pas.webcam


IP WebCAM 이라는 어플리케이션이다. 이 어플리케이션 하나로 CCTV기능과 웹에서 확인할 수 있는 웹서버 기능까지 모두 다 포함되어있다.


설정은 다양한데, 무엇보다 필수로 해줘야하는 설정은 로그인 설정이다. 항목에서 로그인 설정을 하지 않은 경우에는 외부에서 주소만 알면 누구나 접속이 가능하다. 개인정보가 요사이 이슈가 되는 세상에서, 필수로 해주어야 하는 설정이라고 여겨진다.

"연결설정 - 로컬 브로드캐스팅" 메뉴로 접근하면 위와 같은 화면을 볼 수 있다. 로그인 아이디, 패스워드를 입력하자.



두번째로 HTTP 포트 설정이다. 포트설정은 우리 WIFI에 어떠한 포트로 접속할지에 대한 설정인데, 이걸 해줘야 앞으로 설정하는 부분에서 적용하기가 쉽다. 개인적으로 알아보기 쉬운 포트인 9000번을 입력했다.



여기까지 하면 어플리케이션에 대한 설정은 일단락된다. 가장 하단의 서버 시작을 클릭하게 되면, 아주 손쉽게 송출되는 화면을 볼 수 있다. 확인해야 할 점은 화면의 중앙부, 첨부된 사진에서 왼쪽 중간부분을 보면 흰 글씨로 접속중인 WIFI의 주소가 보인다. 192.168.55.203:9000 이 현재 스마트폰이 접속한 주소이다.



2. PC 및 스마트폰에서 화면 보기


아래의 주소는 현재 운영중인 3D Printer의 출력상태를 보여주는 주소로, 위의 예제와는 조금 다를 수 있다.



여기까지만 설정을 할 경우에는 동일한 WIFI에 접속중인 다른 디바이스에서 화면을 볼 수 있다. 가령, 같은 와이파이에 연결된 PC라거나 스마트폰이라거나. 인터넷 창에서 저 주소를 입력하면 설정할 수 있는 화면이 팝업된다. 물론, 로그인 설정을 한 경우에는 로그인을 해야 한다.




처음으로 볼 부분은 다음과 같다. 영상재생기에서는 브라우저를 선택하고, 오디오재생기는 소리를 듣고 싶은 경우에만 선택하면 된다. 소리는 4초정도의 딜레이를 가지고 있는데 뭐 설명하긴 복잡하고, 크게 의미가 없는 부분이라서 난 쓰지 않는다.

녹화제어 기능은 버튼을 클릭하면 현재 화면을 스마트폰에 저장하고, 인터넷 웹사이트에서 해당 영상을 돌려볼 수 있다. 블랙박스와 같은 기능이라고 볼 수 있다.

나머지 기능은 딱 보면 알 것이니 뭐 패스.




여기서도 설명할 부분은 크게 많지 않다.

확대는 스마트폰이 지원하는 4배줌까지 확대가 된다. 디지털 줌이기 때문에 확대를 할 경우에는 화질저하가 이루어질 수 있다.

스트리밍 품질은 해당 화면의 품질을 말해준다. 100%를 하게 되면 현재 스마트폰이 지원하는 최대화질로 영상을 뿌려주지만, 그만큼 기기가 고성능이어야 하며 무엇보다 인터넷 속도에도 크게 영향을 끼친다. 대충 낮에는 2~30%로 줄여도 크게 불만없는 화질을 보여준다.


기타 항목에서는 오토포커스 유지와 오버레이를 선택해주는 편이다. 오버레이는 현재 영상에 날짜정보와 배터리정보를 표시해준다. 오토포커스는 영상의 포커싱을 맞춰주는 역할을 하는데, 이게 오토포커스 유지가 안된다. 그래서 영상을 볼 때 마다 계속 클릭해주는 편.

전면카메라는 뭐 앞면 카메라를 보여줄지, 뒷면 카메라를 보여줄지 선택하는거고, 움직임 감지/좀더 민감하게 이거는 화면의 영역별로 동작을 감지 한 후 처리하는 과정을 나타내는데 크게 활용도는 없어보인다.


그밖에 나머지 항목은 의미가 없다.



3. 외부에서 볼 수 있도록 Wifi 공유기 설정하기(포트포워딩)


위의 1,2번 항목은 사실 크게 어려운 부분은 아니다. 대부분의 어플리케이션이 지원해주는 기능이기도 하고. 하지만 외부에서 보는 기능, 여기서부터는 조금 어려울 수 있다. 집안의 와이파이에 접속된 주소(정확히는 포트)를 외부에서 볼 수 있게 지원해주는 기술을 "포트포워딩" 이라고 한다.

간단히 기술에 대한 설명을 하자면, 집집마다 공인IP가 할당되고 이 공인IP가 와이파이 공유기(AP)가 가상IP(192.168.***.***)로 변환해서 사용할 수 있게 만들어주는 것이고, 이 가상 IP에 접속된 포트들을 공인IP:포트 형식으로 외부에서 접근이 가능하도록 연결시켜주는 기술이라고 볼 수 있다.

이 설정방법을 알아두면 192.168.***.*** 대역에 붙는 모든 포트들을 외부에서 접근할 수 있도록 만들 수 있다.


아래의 설명은 머큐리 AP를 기준으로 설명하되, IPTime과 같은 공유기도 동일한 기능이 존재하니까 메뉴 좀 뒤져보면 바로 알아차릴 수 있을것이다.

먼저 현재 접속중인 집안의 WIFI 주소를 알아보도록 하자. 윈도우키+C를 누른 후, 해당 창에서 cmd를 입력하여 커맨드 창을 뛰우자. 그리고 ipconfig 명령어를 입력하면, 첨부된 이미지와 같은 결과를 볼 수 있다.



현재 내 컴퓨터의 경우에는 192.168.55.204 주소로 접속을 한 상태이다. 대부분의 공유기는 192.168.***.1과 같은 형식으로 주소를 가져간다. 그러니까, 인터넷창에서 192.168.55.1을 입력하면 공유기 설정화면으로 들어갈 수 있다는 뜻이다.



굳ㅋ 계정과 암호의 경우에는 공유기에 스티커가 붙어져있을것이니까 그걸 보고 접속하자. 나한테 물어봐도 난 모른다.



접속에 성공하게 되면 다음과 같은 화면을 볼 수 있다. WAN 정보의 IP가 해당 공유기에 할당된 공인IP를 의미한다.

왼쪽 메뉴의 NAT-포트포워딩 항목을 클릭하자. 다시 말하지만, 아이피타임과 같은 공유기는 이름이 조금 다를 수 있다.



현재 해당 공유기에 설정된 포트포워딩 목록이다.

로컬 IP 주소가 현재 공유기에 접속한 디바이스의 주소를 의미하며, 설정된 로컬포트를 설정한 포트범위로 뿌려주는 의미를 나타낸다. 무슨말인지 모르겠으면, 그냥 따라하자.


로컬 IP주소는 아까 스마트폰의 CCTV에서 보여진 "왼편의 중앙에 위치한 IP주소"를 적는다. 나의 경우에는 IP 주소가 192.168.55.129였으니까 이걸 입력한다.

프로토콜은 건드리지 말자.

포트범위는 외부에서 접속할 포트들을 의미하는데 넓게 지정해줘봤자 의미 없다. 어떤 숫자를 입력하든 개인의 자유이다.

로컬포트는 어플리케이션에서 설정한 포트를 입력해주면 된다. 나는 CCTV 어플에서 9000을 입력했으니까, 포트범위도 9000을 입력하면 된다.

모두 입력하였으면 추가버튼을 누르면 된다.


정상적으로 설정이 되었다면 이제 LTE 환경에서 접속하면 된다.



4. 외부에서 접속하기


자 이제 외부에서, 회사컴퓨터든 PC방이든 LTE 스마트폰이든 3G 스마트폰이든. 인터넷 창에서 공인아이피와 포트를 입력하면 된다. 그럼 신기하게도 내가 설정한 CCTV를 볼 수 있다.

공인아이피는 3번 항목에서 설명한 "WAN 정보-IP주소"를 의미하며, 포트는 포트포워딩 설정에서 입력한 "포트범위"를 의미한다.

나의 경우에는 1.***.***.***:9000 로 접속을 하면 된다. 

그럼 보여지는 화면과 같이 볼 수 있다.




블로그 이미지

김생선

세상의 모든것을 어장관리

,

개발하다보면 해당 페이지의 table의 데이터들을 새로고침 없이 데이터를 붙여쓰는 경우들이 있다. 이는 대부분 리스트로 구성된 페이지에서 확인이 가능한데, 가령 오픈마켓의 주문배송리스트라거나, 뭐 카드사용 내역과 같은 페이지에서 주를 이룬다.

div태그를 쓰던 table태그를 쓰던 아마 과정은 비슷할 것이고, javascript에서 데이터와 html태그들을 어떻게 만들어서 jsp에 붙여주는지에 대한 예제를 작성해보고자 한다.


먼저 JSP에서는 다음과 같이 구성한다. 기본적으로 페이지가 로딩될 때, controller 단에서 modelAndView에서 데이터를 호출, List로 이루어진 객체들을 foreach 로 계속 붙여주는 구조로 되어있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!--결과 리스트-->
<div class="result-area">
  <h2 class="result-tit">거래결과 리스트</h2>
  <ul class="result-list" id="resultList">
      <c:forEach var="resultHistory" items="${resultHistory}" >
      <li class="result-item">
          <p class="result-day">${resultHistory.REG_DATE} <span>${resultHistory.ORDER_TYPE}</span></p>
          <dl class="result-detail">
              <dt>품명</dt>
              <dd>${resultHistory.PRODUCT_TYPE}</dd>
              <dt>금액</dt>
              <dd>${resultHistory.AMOUNT}</dd>
          </dl>
      </li>
      </c:forEach>
  </ul>
</div>
<div class="more-btn-wrap">
  <button type="button" id="btnResultMore">더보기</button>
</div>
cs


modelAndView 에서는 resultHistory라는 네이밍의 List 객체에 데이터들을 담아준다. 그리고 해당 jsp페이지가 호출되면, foreach로 객체들을 돌리면서(?) 각 항목들을 구성하게 된다. 이 때, btnResultMore를 클릭한다고 하자. 그럴 때 해당 페이지를 새로고침 없이, 리스트의 하단에 추가적으로 데이터가 붙는 방식이면 훨씬 보기가 좋을 것이다. 새로고침을 하게 되면 현재 입력되어있는 값들도 저장하지 않는 이상 사라질 것이고, 무엇보다 좀 더 자연스러운 화면을 뿌려줄 수 있을 것이다.


btnResultMore 버튼에 매핑되어있는 javaScript의 펑션을 보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var pageNo = 0;
 
//결과 더보기
$("#btnResultMore").on("click"function () {
  $.ajax({
    type:'GET',
    url : '/resultMore.json',
    global : false,
    async : true,
    data : {
      pageNo: pageNo
    },
    success : function(json) {
      $('#resultList').empty();
 
      var html = '';
      pageNo = pageNo+1;
      json.resultList.forEach(function(item, index){
        html = $('<li class="result-item">' +
          '<p class="result-day">'+item.REG_DATE+' <span>'+item.ORDER_TYPE+'</span></p>' +
          '<dl class="result-detail">' +
          '<dt>품명</dt>' +
          '<dd>'+item.PRODUCT_TYPE+'</dd>' +
          '<dt>금액</dt>' +
          '<dd>'+item.AMOUNT+'</dd>');
        $('#resultList').append(html);
      });
    },error:function(json){
 
    }
  });
});
cs


자바스크립트에서는 ajax 호출을 통해, 데이터를 더 가져오기 위한 controller 와 매핑을 시켰다.

정상적으로 쿼리가 이루어지는 경우에는 success flag를 탈 것이고, 이 때부터 로직이 시작된다.


기본적으로 들어있는 row를 날리기 위해, 14번 라인에서는 resultList의 자식들을 모두 비워준다.

그리고 18번 라인에서 가져온 데이터를 기반으로 forEach를 돌리면서, HTML tag를 새로 만들어주는 방식으로 이루어져있다.

위의 jsp와 마찬가지로 같은 구성으로 html과 데이터를 매핑해준 후에, 26번 라인에서 append를 시켜주면 끝.


추가적으로 btnResultMore를 누르게 되면 5개씩 항목을 더 붙여주는 기능을 포함한 것인데, pageNo 변수를 추가하여 이를 쿼리에 응용했다.

기본값은 0으로 처리가 되어서 쿼리에서는 기본 5개, 1일 경우에는 10개를 가져오는 방향으로.


javascript 에서 append와 appendTo의 쓰임새가 확연히 다르다.

$('#a').append(b); 의 경우에는 a에 b를 넣는 것이고, $('#a').appendTo(b);는 b를 a에 넣는것이다.

블로그 이미지

김생선

세상의 모든것을 어장관리

,

내 취미가 상당히 덕력이 소비되는 취미이긴 한데, 그렇다고 해서 코스프레까지 할 생각은 없었다. 내 성격상 코스프레를 하려고 달려들면 퀄리티를 살린답시고 하나하나 만들어댄다거나 또는 기성품을 팔지도 않아서 직접 만들어야 하는 불상사(?)가 생기기 때문이다. 그리고 무엇보다도, 귀찮았다. 그런데 알리익스프레스를 접하고나서 생각이 상당히 많이 바뀌었다. 처음으로 우리 부부가 코스프레를 시도한 건, 내 아내의 만삭사진을 찍을 때 였다. 스타워즈를 이름만 들어보다가 어느날 블루레이로 클래식 6편을 사게 이르른다. 그러면서 종류별로 구입한 광선검들에, 내 아내가 한 아이디어를 내게 된다. "스타워즈 컨셉으로 만삭사진 찍는 거 어때?" 그리고 그렇게 시작되었다.



스타워즈 - 아나킨 스카이워커 & 파드메 아미달라 코스튬


생각은 좋았으나 문제는 어떠한 컨셉으로 어떠한 캐릭터를 선택할지. 부부이기 때문에 연인관계였던 아나킨 스카이워커와 파드메 아미달라? 새로운 여주인공인 레이?. 클래식의 주인공인 레아공주와 루크 스카이워커?. 또는 전혀 새로운 어떠한 캐릭터? 이 캐릭터들의 혼란에 빠져 허우적대고 있었다.


스타워즈? 그거 남매가 셐...


결국에는 연인이자 부부였던 커플인 "아나킨 스카이워커"와 "파드메 아미달라"를 컨셉으로 결정, 그렇게 알리익스프레스에서 의상을 주문했다. 겸사겸사 알리익스프레스에서 검색을 해 보니, 앵간한 영화들의 코스튬은 죄다 있었다. 앞으로 얼마나 구매하게 될 지는 모르겠지만 꽤나 도움이 될 지도.


아나킨 스카이워커의 의상은 주문한 후 5일 이내로 바로 배송이 되었으나, 파드메 아미달라의 의상은 주문 후 제작을 시작한건지 약 2주 후에 배송이 되었다. 퀄리티는 아주 좋았으며, 무사히 만삭사진을 촬영할 수 있었다.


모자이크 하니까 조금 이상하긴 하지만 그렇다고 치자.


사실 타이머 촬영의 사진은 넘나 못나와서 이 사진을 사용할 일은 없었다고 한다...




스타워즈 - 요다 신생아 털모자


스타워즈 덕후인 만큼 우리 아이에게도 무언가 옷을 입혀주고 싶었는데, 찾아보니 괜찮은 아이템이 있어서 바로 결제를 했다. 셀러도 친절했고, 물건도 더없이 좋았다.





해리포터 그리핀도르 망토 & 슬리데린 망토


영화로서의 덕질을 파자면 난 두루두루 많은 영화를 보는 주의라 뭔가에 크게 심취한 적은 거의 없었다. 마블 영화라고 하더라도 영화관에서 보고, 후에 IPTV로 다시 보는 것 정도. 설정을 나름 파고들지만 딱 거기까지가 끝인 부류였다. 허나, 우리 아내는 달랐다. 해리포터 영화를 너무나도 좋아했고 소설도 사려고 했으며(구판본은 이미 기증한 상태라 없음) 향후에 나오는 "신비한 동물 사전", "신비한 동물들과 그린델왈드의 범죄" 까지 IPTV로 보고, 이후에 4K 블루레이 한정판 까지 지르게 된다. 물론 옆에서 내가 꼬드기긴 했지만.


이후, 아이가 100일이 넘어가면서 좀 특별한 사진을 찍고싶어했다. 신생아 사진은 이미 요다사진으로 정점을 찍었고, 다음에 해리포터 컨셉으로 촬영할 아이템은 무엇이 있을까. 우리 아내가 고민하며 구글링을 한 결과 외국의 한 사진을 발견하게 이르른다.


죠타! 이번엔 너다!


만드레이크 사진을 컨셉으로 아이와 함께, 우리 부부가 모두 해리포터 교복(?)을 입고 촬영을 하게 되었다. 겸사겸사 해리포터 소품들도 준비를 하게 되었는데, 이는 이후 돌 즈음에 컨셉사진으로 찍을 예정.

그리핀도르/슬리데린 망토와 넥타이, 그리핀도르 목도리, 각 기숙사 브로치와 9와 3/4 승강장 티켓, 구조버스 티켓, 위즐리 형제의 비밀지도 등 수많은 소품들을 준비했고, 직접 만든 소품으로는 만드레이크의 경고문구가 되시겠다.


만드레이크 경고문구의 경우에는 A4 용지에 한글로 번역을 한 후, 가장 그럴듯하게 어울리는 폰트들을 사용해서 인쇄를 했으며, 커피를 뿌려(!) 오래된 양피지와 같은 효과가 나타나게 했다. 아주 만족스러운 소품이 되었다.


겸사겸사 설정상 최강의 지팡이 까지.



일단은 이정도까지 질렀고, 앞으로 또 코스프레 의상에 대해 무엇을 지를지는 모르겠다. 아주 재미난 경험이었다.


구매정보


품명 : 스타워즈 파드메 아미달라 드레스

가격 : 100.37달러 (9.49달러)

배송 : China Post Registered Air Mail 18.06.04~18.06.22 (결제일 포함 22일)

특이사항 : 주문제작 방식으로 주문시 약 2주간의 제작일정 소요


품명 : 스타워즈 아나킨 스카이워커 의상

가격 : 74.39달러 (Free Shipping)

배송 : China Post Registered Air Mail 18.06.04~18.06.18 (결제일 포함 14일)

특이사항 : 주문제작 방식으로 주문시 약 2주간의 제작일정 소요


품명 : 화관 - 2종류

가격 : 5.62달러 (Free Shipping)

배송 : China Post Registered Air Mail 18.06.04~18.06.20 (결제일 포함 약 16일)


품명 : 스타워즈 요다 신생아 털모자 & 털바지(?)

가격 : 7.13달러 (Free Shipping)

배송 : China Post Registered Air Mail 18.05.24~18.06.05 (결제일 포함 약 12일)


품명 : 해리포터 슬리데린 망토 , 그리핀도르 망토

가격 : 25.88달러 (FreeShipping

배송 : China Post Registered Air Mail 18.12.02~18.12.13 (결제일 포함 약 11일)


블로그 이미지

김생선

세상의 모든것을 어장관리

,

개발하다보면 DB의 날짜타입을 timestamp로 저장하는 경우가 있다. 개인적으로 이거 날짜 컨버팅 하고 뭐하고 하는것이 아주 귀찮아서 제일 끔찍하게 싫어하는 데이터 타입인데, 심지어 데이터가 저장되는것도 unix타임이야. 이거 한눈에 들어오겠냐고 제일 싫다.

여튼, 이걸 또 그냥 보면 15뭐시기로 시작하니까 사람이 제대로 읽을 수나 있겠냐, 이거지. 결국에는 사람이 읽고 쓸 수 있는 날짜타입(YYYY-MM-DD HH-MM-SS)으로 변환시켜줘야 하는데 일일히 찾아다가 만드는것도 귀찮고 펑션으로 하나 만들어놨으니까 앞으로 두고두고 좀 써먹어야겠다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//TimeStamp -> Date formatter
function unixToDateFormatter(date) {
  // yyyy-mm-dd hh:mm:ss.s
  var dateFormatt = new Date ( date );
  var year = dateFormatt.getFullYear();
  var month = 0;
  if ( dateFormatt.getUTCMonth() < 9 ){
    month = '0'+ ( dateFormatt.getUTCMonth() + 1 ).toString();
  } else {
    month = dateFormatt.getUTCMonth()+ 1;
  }
  var day = dateFormatt.getUTCDate();
 
  var hour = 0;
  if ( dateFormatt.getHours() < 10 ){
    hour = '0' + (dateFormatt.getHours()).toString();
  } else {
    hour = dateFormatt.getHours();
  }
 
  var minute = 0;
  if ( dateFormatt.getMinutes() < 10 ){
    minute = '0' + ( dateFormatt.getMinutes()).toString();
  } else {
    minute = dateFormatt.getMinutes();
  }
 
  var seconds = 0;
  if ( dateFormatt.getSeconds() < 10 ){
    seconds = '0' + (dateFormatt.getSeconds()).toString();
  } else {
    seconds = dateFormatt.getSeconds();
  }
 
  var milliseconds = dateFormatt.getMilliseconds();
  var fullDateFormatt;
  fullDateFormatt = year +'-'+month+'-'+day+' '+hour+':'+minute+':'+seconds+'.'+milliseconds;
  console.log ("DateFormatt : " + fullDateFormatt);
  return fullDateFormatt;
}
cs


일단 대강 만들긴 했는데, 몇가지 짚고 넘어갈 점이 있다.

getUTCMonth의 경우에는 0~11의 값으로 리턴해준다. 숫자는 뭐다? 0부터 센다. 0은 곧 1월이고, 이말은 리턴되는 값에 + 1을 해줘야 한다는 의미이다. 두번째로는 모든 자릿수를 맞춰줘야 한다는 것이다. 0~11로 리턴해주기 때문에 0은 +1을 해서 1월인데, 우리가 쓰는 데이트 포맷은 YYYY-MM-DD의 값으로 "월"의 자릿수가 맞지 않게 된다. 그런 고로 10월, 즉 리턴되는 값이 9보다 작은 경우에는 앞에 자릿수 '0'을 붙여주게 된다.

자릿수가 안맞는 부분은 month 뿐만 아니라 getUTCDate , getHours, getMinutes , getSeconds의 경우도 마찬가지가 된다. 그래서 각각의 경우에도 10보다 작은 경우에는 앞자리에 0을 붙이는 식으로 구성했다.


이거 하나 만들어놓으면 자바스크립트에서 두고두고 써먹을거고, 자바의 경우에는 simpledateformatter가 있으니까 그냥 이거 갖다 쓰면 된다.

'어장 Develop' 카테고리의 다른 글

[Linux] Centos Alias 설정  (0) 2020.04.11
[Linux] make: g++: Command not found  (0) 2019.08.12
[Intellij] 인텔리제이 - lombok 설치  (0) 2018.09.06
ibatis selectkey 사용  (1) 2018.05.10
리눅스 prerouting 설정방법  (1) 2018.03.15
블로그 이미지

김생선

세상의 모든것을 어장관리

,

DB 또는 시스템 작업을 하다보면 여러건에 대해 한번에 업데이트를 하는 경우가 많다. 뭐 그렇다치고 이번에는 MySQL 에서 서브쿼리를 이용하는 방법을 알아보자.


이번에 할 작업은 A_Table의 a_column의 데이터와 문자열을 합친 후, A_Table의 b_column에 업데이트를 해줄 일이 생겼다. 오라클과 다르게 한차례 더 가공을 해야 해서 손이 가는 편이지만 크게 어렵지는 않았다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
UPDATE 
    'A_Table' AS AliasA 
SET 
    AliasA.b_column = 
    (
    SELECT
        AliasC.a_column_text
    FROM
        (
        SELECT
            AliasB.a_column 
            , CONCAT('TEST_' , AliasB.a_column ) AS a_column_text //MySQL에서 문자열 합치기는 concat을 이용함
        FROM
            'A_Table' AS AliasB 
        ) AS AliasC
    WHERE 
        AliasC.a_column = AliasA.a_column 
    )  
WHERE 
    AliasA.b_column IS NULL;
cs


오라클 같은 경우에는 SET 구문에서 서브쿼리를 바로 날리면 되지만, MySQL의 경우에는 SELECT 구문에 서브쿼리를 한 번 더 감싸줘야 한다.

이로써 A_Table의 b_column에 'TEST_'문자열이 합쳐진 a_column값이 update 되게 된다.

블로그 이미지

김생선

세상의 모든것을 어장관리

,

현재 내 엔더3의 모습. 그냥 연결하느라 선정리도 안된 5015 듀얼 덕트가 인상적.



지난해 2018년 크리스마스. 우리 마마님께서 크리스마스 및 생일선물, 2019년의 크리스마스 선물까지 원기옥 끌어모으듯 모아 한방에 3D 프린터를 사주셨다. 이것저것 고민은 많이 했었는데 최종적으로 엔더3(Ender-3)로 안착. 국내에서 약 25만원에 구매가 가능하며, 저렴하고 우수한 출력품질로 국내 뿐만 아니라 해외에서도 사용유저층이 상당히 많은 물건이다. 이 이후에 작성되는 글은 약 2주동안 2kg의 필라멘트를 소비하고 작성한 개인적인 글이며, 아직 개념 및 용어들이 미흡한 부분이 많기에 틀린 부분이 있을 수 있다.


필라멘트는 PLA만 사용중이며, 슬라이서 프로그램은 큐라 3.6버전을. 도면 프로그램은 123d를 사용중에 있다.



0. 목적


가장 먼저 짚고 넘어갈 점은 3D프린터는 디아블로의 호라드릭 큐브같은 존재가 아니며 엄연히 기술적인 동작을 필요로 하는 물건이다. 기계가 작동되는 기본 구조를 필수적으로 알아야 하며 때에 따라서는 회로를 만질 줄도 알아야 하고, 3D 도면을 직접 만들어야 하기에 공간지각능력이 없거나 도형에 대한 인지가 부족하다면 이 물건은 비싼 고물이 된다. 한마디로, 센스가 없고 기계치라면 이거 안사는게 낫다.

이유인 즉, 고가제품으로 분류되는 물건이 아닌 이상에야 일단 프린터 조립도 직접 해야하는데다가, 여기저기 동작하는 부품이 많다보니 손볼곳도 많다. X/Y/Z축의 모터들이 움직이고, 이 모터의 움직임이 출력물에 어떻게 영향을 주는지를 알아야 출력물을 보고 손댈 곳을 찾아야 한다. 종이에 인쇄되는 프린터와는 개념만 비슷하지, 기계원리는 전혀 다르다고 볼 수 있다. 그냥 설치하고 잉크 카트리지 교체하면 끝! 이게 절대로 아니다. 개중에는 부품들이 마모가 되어 교체를 해주어야 하기도 하며, 맘에 안들면 새로 출력한 부품으로 기성품을 교체/보완 할 줄도 알아야 한다. 도면 프로그램을 입력해서 출력하면 당연히 나오기는 나온다. 단지 그게 재수 좋으면 잘 나오는거고, 아니면 그냥 라면 면발처럼 휘감긴 이계의 악마같은 것이 연성되는 것이다.


거기에 출력에 들이는 시간 및 노력, 주재료인 필라멘트까지 계산해보면 앵간한 물건들은 그냥 집근처 다이소에서 사는 것이 현명하다. 3D 프린팅이 일상생활에서 유용하게 쓰일 때는 "무엇인가를 직접 만드는 사람들"로 한정할 수 있다. 당장 피규어를 뽑아서 출력해야지! 하는 사람들? 그냥 7만원~20만원 들여서 피규어를 사는 것이 훨씬 품질이 좋고 도색도 되어있고 정신건강에 여러모로 이롭다. 3D 프린터로 피규어를 뽑으려면 최소 0.1mm두께로 출력하고, 이를 사포로 다듬고 서페이서 뿌리고 다시 사포로 다듬고 색조합해서 도색하고 마스킹 도색 마스킹 도색 지옥을 해야 하는건데, 이 귀찮음은 둘째치고 약 20cm되는 물건을 0.1mm두께의 레이어로 출력하는데는 수십시간이 소요된다.


따라서, 돈주고 사기도 애매하고 팔지도 않는 물건들. 혹은 무엇인가를 직접 만들수 밖에 없는 사람들은 이 물건을 사는게 현명하다.



1. 쿨링


엔더3의 기본 쿨링은 꽤나 괜찮은 편이지만 덕트의 통풍구가 한 방향으로만 되어있기에 통풍구의 반대편에 대해서는 쿨링이 부족해질 수 밖에 없다. 이는 노즐이 움직이면서 흘러내릴 수도 있는 문제를 가져온다. 첫번째로 인쇄한 노즐 덕트는 링 형태로 되어있기에 간단히 링 덕트라고 부르도록 하자.

(싱기버스에 등록된 링 형태의 덕트 : https://www.thingiverse.com/thing:3079610 )


심플한 형태와 기본제공 나사로도 충분히 설치가 가능하며, 무엇보다도 높은 신뢰도를 바탕으로 하고 있다. 모든 방향에서 골고루 쿨링이 이루어지다보니 출력물이 흘러내리는 것도 상당히 방지할 수 있는 제품. 허나 기본 쿨러의 풍량이 부족한 탓인지, 약 60도 정도의 각도를 지닌 마우스 번지대를 서포트 없이 출력했다가 죄다 흘러내리는 것을 보고 다음 덕트를 알아보게 된다. 이 때 부터 본격적인 프린터 업그레이드가 시작되며 동시에, 프린터 곳곳을 손대기 시작하게 된다.




(petsfang에서 제작한 엔더-3 덕트, 좌측 하단의 bullseye와  우측의 5015 싱글덕트 https://www.thingiverse.com/thing:2759439 )


bullseye 덕트는 적당히 과하지 않은 디자인으로 맘에 들어서 출력을 했는데, 출력하고나서보니 별도의 나사(M4규격)가 필요한 걸 깨닫고 설치를 하지 못했었다. 그래서 이참에 M 규격의 나사를 길이별로 약 20개씩 구매했으며, 도착하고나서 설치를 하려는데 세상에, 기본 베이스 출력물에 쿨러 덕트를 올리는 구조를 갖고 있는 이 물건이 지랄맞은 나사 삽입 후 조이기 아주 어려운 구조로 되어있는거다. 하도 빡쳐서 그냥 포기. 다른걸 만들기 위해 주문한 608zz 베어링과 5015 블로워팬 두개를 위해 petsfang의 새로운 덕트를 인쇄했다. 


유튜브나 커뮤니티를 돌아다니면서 어떻게 설치하는지 까지 확인하고. 다행히도 얜 설치가 상당히 쉬운 편에 속한다. 5015 블로워팬은 가로50mm, 세로 50mm, 높이 15mm이기에 5015라고 불리는데, 노즐 쿨러는 24V이기에 5015 24V로 구매하면 된다. 기본 쿨러의 배선이 꽤나 괴랄한 편인데 파란색이 +극, 노란색이- 극으로 기억. 전원 인가하고 팬이 돌아가면 그걸로 확인이 되니까 크게 거슬리는 내용은 아니다.


허나 5015 듀얼덕트를 달았더니 확실한 건 과한 오버행에서도 처짐이 거의 발생하지 않았다는 점이다. 흔히 테스트하는 정육면체 타입의 XYZ큐브 테스트는 기본/링/듀얼 덕트로 각각 테스트 해보니 기본 덕트가 확실히 안좋았고 링/듀얼 덕트가 거의 비슷한 품질을 출력한 반면, 비교점은 없지만 올인원 테스트를 출력해보니 80도에 육박하는 과한 오버행에서나 필라멘트가 녹아내렸지, 70도에서도 그냥 써도 되겠구나 싶을 수준의 퀄리티가 나온 것이다.

하지만 이렇게까지 쓸 일이 무어 있나 싶기도 하고 소음이 크기도 하고. 조만간 5015 싱글 덕트로 교체할 것 같다. 일단은 귀찮으니까 여기에서 계속 사용하는 걸로.


여담이지만 5015 듀얼 덕트를 장착하면 엄청난 소음을 들을 수 있다. 챔버가 없다면 싱글 덕트로 사용을 하거나 팬을 약 7~80%만 사용하도록 설정을 수정하는게 정신건강에 이로울 것 같다.



2. 베드


손도리닷컴에서 구매한 엔더3에는 기본제공 베드 외에 추가로 여분의 베드를 증정해주는데, 나의 경우에는 자석베드가 품절되어 기본베드를 동봉해서 보내주었었다. 먼저 엔더3 기본베드에 대해 재질이 무엇인지까지는 알아보지 않았으나, 다음의 사항에 대해 충분히 유의해두어야 한다. 상세한 이유는 하단에 기술하는 걸로.


먼저, 절대로 헤라로 베드를 긁지 않는 것. 헤라로 베드를 긁으면 베드의 표면이 갈려나가 매끈매끈 미끈미끈하게 변한다. 이게 사람에게는 크게 와닿지 않을지 모르지만, 막상 출력할 때 필라멘트가 안착이 제대로 되지 않아 라면발처럼 출력되어버린다. 이는 엄청난 스트레스로 다가온다. 그리고 베드에서 출력물을 뗄 때에는 베드를 살짝 휘는 것도 좋은데, 가장 효과를 크게 본 것은 커터칼이었다. 커터칼을 눕혀 출력물에 살짝 밀어넣어주면 틈이 생기고, 이 때 헤라를 집어넣어 전체를 들어올린다. 무리하게 헤라로 들어올리다가는 출력물이 깨질 수 있으니 모든 방향에서 조금씩 밀어넣는 것이 중요하다. 또한 베드의 온도를 최대한 낮추는 것이 가장 좋다.


베드에 남은 잔여물들을 긁어내겠다고 헤라로 박박 긁었다가, 안착불량이 일어나서 위에서 말한 불스아이 덕트를 한 네개 정도 날려먹었었다. 이후에 살짝 매끈한 베드 표면을 보고 새로 교체를 하니 무리없이 뽑아내는 것을 보고 내가 문제였구나, 를 여실히 깨닫게 된 계기였다.


어디서는 베드 표면을 주기적으로 중성세제로 닦아내기도 하고, 알콜솜으로 닦아내기도 한다기에 현재는 일회용 낱개 포장 알콜솜을 주문한 상태. 이에 대해서는 추후 작성하도록 하겠다.


엔더3의 레벨링은 수동 레벨링으로, 각 네 모서리의 면에 노즐을 갖다대고 A4용지가 살짝 걸리는 느낌으로 레벨링을 해주라 하는데, 이게 말이 쉽지 의외로 어려운 부분이다. 특히 나는 한 귀퉁이가 잘 안맞는 레벨링을 가지고 있는데, 한군데를 맞추면 다른 편이 안맞는 형태로 여차하면 센서를 달아 직접 눈으로 수치를 보아가며 맞출까 할 정도. 아직은 그정도의 스트레스가 되지 않고 현재로도 출력 품질에 만족하고 있기에 버티는 중이긴 하다.



3. 필라멘트 교체


현재 손도리에서 제공해주는 PLA를 2kg정도 사용했다. 다른 업체에서 구매한 PLA 사용이 눈앞에 있는 상황.

필라멘트 교체는 크게 어렵지 않..을 줄 알았는데 순간의 실수가 압출 불량으로 이루어질 수 있기에 조심해야 한다. 가장 중요한 부분은 삽입된 필라멘트의 끝을 직각이 되게 잘라줘야 한다는 것. 그래야 새로운 필라멘트를 삽입할 때, 익스트루더 기어(필라멘트가 들어가도록 움직이는 황동 부품)가 밀어주는 힘을 받아 압출이 되는 것이다.


(익스트루더 기어의 모습. 중앙의 황동 부품이 필라멘트를 밀어넣어주고, 좌측 상단의 흰 색 테프론 튜브로 필라멘트가 관통되어 노즐로 닿는 구조로 되어있다.)


이걸 제대로 해주지 않으면 익스트루더 기어가 헛돌고, 기어 톱날에 필라멘트 찌꺼기가 계속 남게 된다. 해결하는 방법은 제대로 압출이 되도록 새로운 필라멘트를 힘으로 밀어주던가 또는 필라멘트가 삽입되어 노즐까지 닿는 테프론 튜브를 분해해서 삽입된 기존의 필라멘트를 제거, 새 필라멘트를 교체해서 넣어주는 방법이 있다. 

엔더3를 사용하면서 가장 스트레스 받았던 부분.



4. 이케아 LACK 챔버


PLA를 사용하는 엔더3는 챔버는 오히려 압출불량이 일어날 수 있지만, 현재 고양이를 키우고 있는 입장에서 챔버는 필수적인 선택이 되다시피 했다. 이케아 LACK 가구가 현재 챔버 제작 기본 뼈대로 많이 사용을 하고 있는 듯 한데, 직접 완성을 해봐야 알겠지만 그리 크게 좋은 선택은 아닌 것 같다.

기본적으로 이케아 LACK의 다리는 450mm로, 엔더3의 적정 높이인 500mm에 아슬아슬하다. 그래서 기본적인 연장다리를 출력해야 하는데, 이걸 이케아 LACK 다리에 결속시키려고 나사를 박았더니 쩍 하고 갈라지는거다. 심지어 피스 구멍까지 있었는데, 지름이 부족했던건가 싶기도 하고. 그래서 현재는 모든 연장다리를 실리콘으로 고정한 상태이며, 연장다리는 하단 100mm, 상단 70mm로 엄청나게 늘려놓은 상태. 손을 많이타는 장비 특성상 내부 공간을 크게 가져가고 싶었다.


거기에 남들은 이케아 LACK을 두 개 구입해서 하나는 하판으로, 하나는 하판 위에 얹는 덮개용으로 사용하는데 이렇게 구성하면 엄청나게 소음이 크다. 이케아 LACK 가구 상판은 얇은 합판 사이에 두터운 허니콤 구조의 박스로 되어있어 통울림이 대단히 심해지는 구조로 되어있다. 여기에 모터 소음이 장난아닌 프린터를 올리면? 과장 좀 보태서 방이 울리는 수준으로 변한다. 이렇게 쓰기 위해서는 프린터 하단에 댐퍼를 설치해서 진동을 잡아주는 구조로 변경해야 한다. 실제로 챔버가 완성이 되지 않아 이케아 LACK 위에 그저 얹어놓고 사용중인데, 저렇게 댐퍼를 설치해주는 것만으로도 소음을 확 잡아주었다.


(엔더3 댐퍼. 이것만 해줘도 소음이 확 줄어든다. https://www.thingiverse.com/thing:2913473)



현재 챔버는 3T짜리 아크릴을 이용해 네 면 모두 마그네틱 도어로 활용하도록 계획을 잡았으며, 아크릴만 도착하면 바로 구성할 수 있도록 다른 부품은 완료가 된 상태다. 이에 대해서는 추후 별도 기술을 하는 걸로. 

염려되는 점은 PLA에 챔버를 사용하게 되면 압출불량이 일어날 수 있다는데, 별도로 흡기/배기를 할 수 있도록 구성해야하나, 싶은 점이다. 점점 더 배보다 배꼽이 커지는 느낌... 흠.



5. 기타 알아두면 좋을 팁들


위에서도 열거했듯, 3D 프린터는 손이 아주 많이 가는 기기이다. 거기에 원하는대로 뽑으려면 최소한의 공간감각과 툴을 배워 활용할 수 있는 능력까지 있어야 온전히 쓸 수 있다. 출력하는데 시간이 많이 소요되기에 출근/수면시간에 주로 출력을 하는 편이고, 나와 같이 직접만드는 DIY를 좋아하는 사람이라면 아주 활용하기 좋은 기기가 될 수 있다. 당장 화장대 위에 아무렇게나 굴러다니는 헤어드라이기가 있다, 이걸 서랍에 넣고 빼서 쓰기도 불편하고 벽에 딱 걸고 싶은데 원하는 생김새는 찾기 힘들고 괜히 택배비 붙으면 돈 더드는 것 같고. 이런 물건 그냥 렌더툴 돌려서 한 서너시간 뽑아 벽에 피스로 박아버리면 된다.

24mm 상판의 책상에 헤드폰 거치대나 USB 허브들을 매달아 두고 싶다, 이런거 그냥 ㄹ자 형태의 브라켓 만들어서 출력하고 꽂으면 된다. 이런식으로 자잘하게 무얼 만들거나, 아니면 돈주고 사기 드럽게 비싸서 직접 몸으로 때우거나(피규어). 혹은 팔지 않는 물건이라거나(ㄹ자 브라켓) 이럴 때 활용하는 물건이다.


아래는 개인적인 의견 및 꿀팁들이다.


0. 설정 : 0.1mm레이어로 출력하면 퀄리티는 미친듯이 올라간다. 허나 출력시간은 0.2mm의 두배이다. 고퀄리티를 원하는 것이 아니라면 0.2mm로 출력하는 것이 정신건강에 이롭다.

1. 내부 패턴 : 그리드나 자이로이드나 큰 차이는 없지만, 원형 패턴을 생성하는 자이로이드가 좀 더 외부압력에 견디기 쉬울 것 같아서 이걸 쓴다. 심지어 균일한 패턴을 생성한다.

3. 수평확장 : 나사와 같이 무언가를 서로 조립하는 물건은 수평확장 옵션을 "-0.1mm" 정도로 준다. -0.2mm는 의외로 큰 공차이다.

4. 엔더3에 주로 사용하는 베어링은 608zz규격으로, 이 베어링 여분으로 많이 갖고 있으면 쓸 곳이 의외로 많다.

5. M규격의 볼트/너트는 규격/사이즈별로 많이 갖고 있는 것이 좋다. 특히 M3/M4규격은 각각의 부품 체결용으로도 손색없이 좋다. 엔더3의 기본 육각볼트들은 내구성이 심히 좋지 않다. 새로 구입해서 교체하면 좋다.

6. 커뮤니티를 돌아다니면 캘리브레이션 테스트를 주구장창 뽑으면서 완벽한 품질을 얻으려고 노력하는데, 그냥 적당한 선에서 타협하고 즐거운 프린팅 생활 하는것이 정신건강에 이롭다. 틀어진 설정은 하나하나 차분히 잡아가면 된다. 크리티컬한 문제가 아니라면.

7. 엔더3의 업그레이드 파츠는 아주 많은데, 가장먼저 출력할 것은 "익스트루더 기어 핸들" 이다.

8. 5015 듀얼 쿨링 덕트는 아주 간지나지만 아주 시끄럽다.

9. 알리익스프레스의 필라멘트는 무게 때문인지 가성비가 썩 좋은 편이 아니다. 국내의 저가 필라멘트를 구입하는 것이 배송도 빠르고 정신건강에 좋다.

10. 커터칼은 베드에서 출력물을 분리하는데 최고의 도구이다.

11. ABS는 안써보았지만 PLA는 드릴링을 하거나 피스로 단단히 체결하는 데 있어 크게 좋은 재질은 아니다. 어쩌면 FDM 방식의 한계일지도 모른다. 차라리 피스가 넉넉히 들어갈만큼 큰 구멍을 뽑고, 피스의 틈으로 실리콘이나 에폭시 퍼티 등으로 단단히 메워주는것이 정신건강에 이롭다.



6. 도면 다운로드

어차피 싱기버스에서 다운로드 할 수 있지만, 일부 항목에 대해서는 아주 마음에 들어 별도로 기록함.


익스트루더 기어 핸들. 다운로드 링크 : https://www.thingiverse.com/thing:3005278

출력물은 내부채움 100%, 수평 확장 -0.1로 주는 것이 좋다. 처음에 내부채움 20%로 줬다가 몇번 쓰니 내부가 다 망가져서 새로 출력해서 사용중. 엔더3의 최우선순위 업그레이드 부품


모니터 선반. 모니터 뒷면을 활용할 수 있어서 아주 좋다. 내부채움 50% 이상으로 주는 것이 좋다. 너트를 강하게 조이면 똑 하고 부러질 수 있으니까.

https://www.thingiverse.com/thing:1114319



점퍼케이블 정리대. 아두이노 개발하면서 정리하기 힘들었던 점퍼케이블을 수납할 수 있는 물건이다.

현재 100mm용이 없어서 직접 자작해서 쓰고 있음. https://www.thingiverse.com/thing:3232719

'어장 제품리뷰 > 어장 3D 프린터' 카테고리의 다른 글

[Ender-3] 재봉선 설정  (0) 2019.04.26
[Ender-3] 세 달 사용기  (0) 2019.04.07
블로그 이미지

김생선

세상의 모든것을 어장관리

,

알리익스프레스에서는 일전의 포스트에서도 잠깐 다루었듯, 저작권을 무시한 카피판이 판친다는 점이다. 그리고 구매자의 경우에는 알아보지 않으면 알아차리기 어려울 정도로 수법이 교묘하기도 하다. 상품 상세페이지에서는 정품 이미지를 올려놓고, 정작 배송이 오는 것은 가품인 경우도 흔하다. 디스풋을 걸면 어느정도 환불을 받을 수는 있다고 듣긴 했지만 애초에 가격이 싼 물건은 이유가 있는 법이라는 걸 생각해보면 그냥 넘기거나 혹은 출처가 확실한 상품을 구매하는 것이 현명할것이다.


이번에 작성할 상품은 알리익스프레스에서 구매한 피규어 셋으로, 스타워즈 - 로그원의 K2SO, 겨울왕국의 안나, 소녀전선의 Kar98k 되시겠다.



S.H.F StarWars Rogue One - K2SO


K2SO라는 캐릭터가 로그원에서 정말로 마음에 들었다. 로봇이기에 가능한 시크한 행동과 말투, 대의를 지키는 마지막 순간까지. 어느것 하나 빠질 수 없어 이걸 피규어로 갖고 싶었었다. 한창 알리익스프레스에서 물건을 구입을 하던지라 국내 가격과 알리 가격을 비교, 알리익스프레스의 가격이 훨씬 싸기에 주저없이 구매를 했다. 실제로 수령을 받고나서 알게 된 점은 이것이 가품이었다는 것. STARWARS가 아닌 SIARWARS로 라벨링이 된 상자를 보고 멘붕에 빠졌고 자장구 용품과 마찬가지로 가품이 정말 많다는 것을 깨닫게 된 계기. 하지만 퀄리티면에서는 흠잡을 곳 없이 아주 훌륭했다. 내친김에 다스베이더나 보바펫등 다른 피규어도 구매할까 했지만 괜시리 양심에 찔려 구매하지 않았다는 후문이 있다.


(약 17.5cm의 크기, 여분의 손 파츠가 포함되어있다.)


가동성은 상당히 좋은 편이지만 앵간해서는 포즈를 바꾸지 않는 편. 일부 관절이 헐겁기는 해도 전시에는 크게 문제가 없을 수준이다. 도색 디테일도 괜찮다. 



QPosket 겨울왕국 - 안나


겨울왕국 붐이 일어났을 무렵, 나는 영화관에서 이걸 세번이나 보고 후에 집에서 십수번은 더 보기도 한 그런 작품이다. 엘사는 엘사대로의 매력이 있는가 하면, 안나는 안나 나름대로의 매력이 있어 아주 좋아하는 캐릭터들. QPosket이 있다는 건 고냥이 모임의 단톡방에서 한 친구가 말을 해주었는데, 이게 가격도 저렴한데 퀄리티는 또 가성비 황제를 달리는 터라 주저없이 구매를 했었다. 처음에 구매를 한 건 할리퀸으로, 피규어는 마고로비의 몸매를 그대로 따라한건지 뭔지 통나무형 허리에 괴상한 포즈의 얼굴조형까지. 구매하고 싶은 욕망이 1도 들지 않았었으나 QPosket으로 나온 할리퀸은 귀여움의 극강을 달리기에 바로 정품으로 구매를 했었다.


후에 안나와 엘사를 구매하기 위해 국내 쇼핑몰을 뒤졌으나 이건 뭐 되팔렘들만 있는건지 뭔지 가격이 ㄷㄷㄷ 해서 알리익스프레스에서 구매를 했다. 이게 정품인지 뭔지는 아직까지도 모르겠으나, 국내 가격의 1/3 정도인 것을 감안하면 아마도 가품이 아닐까 생각중. 아주 중요한 점으로, 안나의 안구가 사팔이다.


(아 씨바 사팔뜨기만 아니면... 씨바 ㅠㅠ)


안나는 알리에서 큐포스켓을 구매하면 어떤 물건이 올지 궁금해서 시험삼아 주문한 물건으로, 저 안구를 보고 충격먹고 국내몰에서 정식버전 엘사를 구매했다.


(정품 할리퀸, 엘사와 비교해도 사팔뜨기말고는차이가 없어보이는 안나)



정체불명 소녀전선 - Kar98k


모바일 게임 중 유일하게 오래 붙잡고 있는 게임이 소녀전선인데, 그중에서 피규어로 발매된 건 Kar98k와 FAL이 있다. 스프링필드와 WA2000은 공개만 되었지 발매는 되지 않은 것으로 알고 있고.

여튼 초기 가격이 약 15만원인가 18만원인가로 상당히 고가인데 이게 또 나오자마자 품절되었던데다가, 이게 피규어로 나온줄은 1도 모르는 상태여서 그저 광광 울었었다. 알리익스프레스에서 당연히 해당 피규어를 찾아보았었고, 결제도 몇 번 했지만 중국산 저가 피규어의 신뢰도가 처참한 수준에 이르른 상태였기에 취소를 계속 해왔었다. 그러다가 이번에, 일단 지르고 보자는 심정으로 질렀다. 당연히 가품일 것이라 생각하고 지른 물건.


부츠가 아주 매력적이라서 부츠쟝이라고도 부르는 소녀전선의 카구팔(Kar98k) 인게임 이미지


(예상보다도 아주 훌륭한 물건)


(약 28달러임을 생각하면 도색의 퀄리티도 흠잡을 곳이 없고, 부츠의 광택도 상당한 편)


정품 피규어가 없기에 정확한 비교는 불가하나, 정품 피규어 사진으로 비교해보자면 같은 금형에서 뽑아낸 물건이 아닐까 싶을 정도로 퀄리티가 괜찮았다. 접합부가 좀 거슬리는 것을 제외하고는 아주 만족스러운 상태.

다만, 배송중의 실수인지 Kar98k의 어깨끈 부분이 불량으로 온데다가, 왼쪽 부츠다리가 아주 헐렁거리는 상태로 와서 록타이트로 고정시켜주었다. 이걸 제외하고는 만족스러움.



결론


아직 위시리스트에 넣어놓은 가품 피규어가 상당히 있지만 가격대가 상당하기에 선뜻 지르지 못한 물건들이 대다수이다. 중국에서부터 오는데다가, 상자가 아니라 분해되어서 낱개포장되어 오는 물건 특성상 부품의 누락 및 파손이 심심찮게 일어나는데다가 안나 사팔뜨기와 같이 해결불가능 크리티컬한 문제가 생길 경우 반품도 어렵고 디스풋을 걸어서 부분환불을 받아야하는 걸 보면 적은 가격대라고 해도 스트레스 받는 것은 마찬가지가 아닐까 싶다.

위의 문제만 아니라면 부담없이 구매를 해도 상관은 없으나, 가품이라는 양심적인 문제가 걸림돌이라 볼 수 있는 부분.



구매정보


품명 : S.H.F StarWars RogueOne K2SO (가품)

가격 : 13.80달러 (Free Shipping)

배송 : China Post Registered Air Mail 18.08.01~18.08.13 (결제일 포함 13일)


품명 : QPostket 겨울왕국 안나 (가품불명)

가격 : 6.42달러 (Free Shipping)

배송 : China Post Registered Air Mail 18.08.01~18.08.16 (결제일 포함 16일)


품명 : 소녀전선 Kar98k (가품)

가격 : 28.99달러 (배송비 6.16달러)

배송 : China Post Registered Air Mail 18.12.05~18.12.18 (결제일 포함 14일)


블로그 이미지

김생선

세상의 모든것을 어장관리

,