요약
이 오픈SCAD 스크립트는 사용자가 선택한 크기의 장치를 위한 2개의 부분으로 구성된 포장을 생성할 것입니다. 다양한 모양의 절단물, 지지 기둥, 새겨진 텍스트 및 로고는 특수 배열 변수를 사용하여 모든 면에 쉽게 배치할 수 있습니다. 사용 방법에 대한 자세한 정보는 아래의 지침 및 코드의 예
작가: 마크 가프니
버전: 2.6c (버전 d 및 f는 특정 항목에 대한 약간의 수정사항이지만, 제대로 된 제어 없이 제공되었습니다. 하지만 이는 버전 2.7에 포함될 예정입니다)
날짜: 2013-04-04
할 일 목록:
사용자가 제어할 수 있는 플랜지와 상호 연결되는 립 기능을 추가하세요.
경고:
값, 형태, 위치 등의 일부 조합은 잘못된 또는 비연속적인 형태를 만들 수 있으며, 이로인해 .stl을 내보낼 수 없습니다.
만일 이런 일이 발생하면, 유효한 모양을 얻을 때까지 일부 기능이나 값을 제거하거나 변경해 보십시오. 그런 다음 문제가 되는 항목을 찾을 때까지 점차적으로 그것들을 다시 추가하십시오. 그런 다음 문제를 일으키지 않도록 그것을 변경하십시오.
이전 버전들과 비교한 변화 사항:
v2.6c
- 상자 모양을 선택할 수 있는 기능을 구현했습니다. 예를 들면, '사각형', '사방이 둥글다', '6면이 둥글다', '6면이 날카롭다' 등입니다.
- 각 box_half를 생성할 때 "box_type" 모듈이 사용되는지 확인했습니다.
v2.6b - 일부 상부 입술의 불정확한 정렬을 조사하고 수정했습니다.
v2.6 - 얼굴에 배치할 외부 객체(예: .stl 파일)를 로드하는 기능을 구현합니다.
- 전 버전의 얼굴에 있는 텍스트의 간과된 번역을 구현했습니다.
- 메이크_カット아우트에서 box_t를 고치기
v2.5 (AKA 루프를 위한 얼굴에 오버레이_v0_2.scad) - Lip_fit을 사용하여 2개의 반쪽 사이의 연결을 공차 처리하십시오.
- 얼굴에 글을 적용하기
- 완전한 문서화
v2.4 (AKA cutouts_on_faces_for_loop-v0_4.scad) - 사용자는 장치의 크기와 내부 간격을 제공하며, 포장 크기는 이에 따라 계산됩니다.
- 서로 다른 벽 두께를 허용하기 위한 준비물들. x,y,z에서.
- 게시물을 구현하세요.
- 마우스 귀는 제대로 작동됩니다.
- 유니온으로 연결된 '옆에 있는' 레이아웃의 2개의 반쪽.
v2.3 2013-03-23 (AKA cutouts_on_faces_for_loop-v0_3.scad)
- make_box 및 half_box 모듈로의 고정된 호출
- 만들기 모듈과 반 만들기 모듈에 위치를 잘라내기 위한 '홀' 배열을 처리할 수 있는 기능이 추가되었습니다.
- 라운드된 정육면체를 위한 추가 모듈
- 라운드 큐브오이드 커트아웃의 a_bit 사용에 있는 오류를 수정했습니다.
- 상자에 입술을 만들기 위한 번역 오류를 고치었습니다.
- 모든 부분이 z=0에서 생성되도록 했습니다.
- 식별하기 쉽게 상부(초록색)와 하부(적색)를 서로 다른 색으로 표시했습니다.
- 더 직관적인 오리엔테이션을 위해 '옆에' 레이아웃의 회전된 상단 부분.
- 박스 크로스 모듈을 추가하고 선체 계산에 포함시켰으며, 이를 통해 낮은 측면 개수에도 박스 크기가 정확히 되도록 했습니다.
- 서로 다른 모양의 상자를 선택하거나 현재 변수에 따라 자동으로 상자를 바꾸게 하기 위해 box_type 모듈을 추가했습니다.
- 마우스_이어스 모듈을 추가했습니다.
참고: 스택된 모드에서는 빨간 반쪽이 전체 길이처럼 보일 수 있는데, 이것은 OpenSCAD의 시각화 버그인 것 같고, 해당 부분은 올바르게 생성되었습니다.
v2.2 2013-03-22 (AKA cutouts_on_faces_for_loop-v0_2.scad)
제 자신의 구조에 바탕으로.
- 새로운 형식 [얼굴 이름, 모양 이름, 모양 위치[x_pos, y_pos, x_offs, y_offs, 회전, 정렬], 모양 크기[깊이,,,]]
-
- 얼굴 이름 ("N", "S", "E", "W", "T", "B")
-
- 모양 이름(사각형, 직사각형, 원형 직사각형, 원통, 타원, 원추)
-
- shape_position[x_pos,y_pos,x_offs,y_offs,rotate,align=("inside" or "outside")]
-
-
- "사각형" 모양_크기[깊이, 길이_폭]
-
-
-
- 직사각형 모양의 크기는 [깊이, 길이, 폭]입니다.
-
-
-
- "Round_Rect" 모양의 크기[깊이, 길이, 폭, 코너 반지름, 코너 측면]
-
-
-
- "사이클리더" 모양_크기[깊이, 반지름, 면면들]
-
-
-
- "타원형" shape_size[깊이, 반지름 길이, 반지름 폭, 면들]
-
-
-
- "코너" 모양_크기[[깊이, 바닥 반경, 상부 반경, 면들]
-
- 포즈_x와 포즈_y는 북쪽, 위쪽 또는 동쪽에서 원점을 향한 보기와 정렬되도록 선택되어서, [-x,+z], [+x,+y] 및 [+y,+z]와 각각 정렬되도록 합니다.
- 회전은 원점을 바라보며 북쪽, 위쪽 또는 동쪽 면의 평면을 따라 시계방향으로 이루어집니다. 이는 반대 면에서는 시계방향의 반대로 회전된다는 것을 의미하며, (위와 같은 규칙을 따른다는 것을 의미합니다)
- 이 두 가지 규칙은 반대쪽 면에 정렬되는 커팅의 위치를 더 쉽게 조정할 수 있도록 선택되었습니다. 예를 들어, 회전된 타원형 파이프에 적합하는 상자와 같이 말이죠.
v2.1 2013-03-22 (AKA cutouts_on_faces_for_loop-v0_1.scad)
- 키트란의 배열 구조에 기반하여, 원추형과 직사각형을 지원합니다.
- 키트란의 사용자 정의 전자 장치 포장http://www.thingiverse.com/thing:8607
-
- 사각형 [ x-오프셋, y-오프셋, x-너비, y-너비, 코너-라디우스, 코너-사이드, 깊이, 회전 ]
-
- 실린더 [ x-오프셋, y-오프셋, 내부 반경, 외부 반경, 면, 깊이, 회전 ]
지시사항
이는 사용자가 몇몇 기본 값을 입력하는 것으로 시작됩니다:
- XYZ에 포장할 물건의 치수(device_xyz, [x,y,z])
- 물건의 각 면과 포장의 내부 벽 사이의 간격의 크기(clearance_xyz, [x,y,z])
- 포장재의 두께가 얼마나 두كن 지만지요 (wall_t)
- 포장의 라운드 코너의 외부 반경(corner_radius)
- 이 라운드 코너들은 몇 개의 면이 있습니까? (corner_sides, 대부분의 물품에서 3~10이 좋고, 1은 날카로운 가장자리를 제공해 줍니다)
- 두 반쪽을 연결하는 립의 높이는 얼마나 되나요? (lip_h, 대부분의 애플리케이션에서는 1.5에서 3이 좋습니다)
- 위부분이 아래부분에 비해 얼마나 높은가? (top_bottom_ratio, 0.1부터 0.9, 0.5은 같은 높이의 두 반을 제공해 줄 것입니다)
- 그 부분은 마우스 귀가 있는 것인가요, 아닌가요? (has_mouseears, 참 또는 거짓)
- 마우스 귀를 만드는 평평한 디스크가 얼마나 두应该 되어야 하는지 (mouse_ear_thickness, 인쇄 레이어 두께의 두 배는 좋은 아이디어입니다)
- 마우스의 귀를 만드는 평평한 디스크의 크기는 얼마나 큰가? (mouse_ear_radius, 5에서 15까지가 일반적으로 잘 작동됩니다)
- 당신이 원하는 부분들과 그들이 어떻게 배열되어 있는지(레이아웃, [옆에, 쌓여, 위, 아래])
- 인접 레이아웃에서 두 반쪽이 얼마나 멀리 떨어져 있는지(분리, 2가 좋습니다)
- 내부 및 외부 입술 표면(lip_fit) 간의 오버랩(-ve) 또는 간격(+ve)이 얼마나 되는가? 0의 값은 그들이 정확히 가운데 만나는 것을 의미하며, 이는 재료, 프린터 등에 따라 달라납니다. 따라서 이 변수를 조정해야 할 것입니다.
다음으로 사용자는 패키지의 각 면에 구멍, 포스트, 및 텍스트를 만드는 데이터 구조를 수정할 수 있습니다. 이것들은 복잡하며, 값을 조정하거나 코드의 아래에 있는 일부 주석을 읽어야 할 수 있습니다.
- 포장지에 사용된 절개 및 오목부분(구멍 = [])
각 홀의 형식 [얼굴 이름, 모양 이름, 모양 위치[x_pos, y_pos, x_offs, y_offs, 회전, 정렬], 모양 크기[깊이,,,]] - 포장에 사용된 내부 지지 구조(posts=[[]])
각 게시물의 형식 [얼굴 이름, 모양 이름, 모양 위치[x_pos, y_pos, x_offs, y_offs, 회전, 정렬], 모양 크기[깊이,,,]] -
포장에 사용된 새겨진 텍스트(text=[[]])
각 텍스트의 형식 [face_name, text_to_write, shape_position[x_pos,y_pos,x_offs,y_offs,rotate,align], shape_size[depth,font_height,font_spacing,mirror]] 참고: 어리석은 이유로 인해, 이 버전에서 mirror는 거짓과 진실에 해당하는 0이나 1이어야 합니다.포장의 6면중 어디에 이 기능을 원하십니까? (face_name, T,B,N,E,W,S)
"T", 상위 또는 Z+ 얼굴
"B", 바닥 또는 Z-페이스
"N", 북쪽 또는 Y+ 면
"E", 동쪽 또는 X+ 면
"W", 서부 또는 X-페이스
"S", 남쪽 또는 Y-페이스
이 기능을 얼굴의 어디에 원하십니까? (shape_position [x_pos,y_pos,x_offs,y_offs,rotate,align])
x_pos, 얼굴을 따라 X 방향으로 얼마나 멀리 움직이십니까?
y_pos, 얼굴을 따라서 Y 방향으로 얼마나 멀리 움직이는가?
엑스_오프스, 얼굴을 따라 엑스 방향으로 측정을 하려면 어디서부터 시작해야 하나요?
y_offs, 얼굴의 어디에서 Y 방향으로 측정을 하나요?
회전, 객체을 몇 도로 회전하시려는 거예요?
위에 나열된 것들 중 하나도 사용하지 않는 경우에는 0으로 설정해 주십시오! 그들을 비워두지 마세요!
정렬, 물건을 포장면의 '내부' 또는 '외부'와 정렬하고 싶습니까?어떤 모양을 원하십니까? (모양 이름, 원추형/타원형/원기형/원형/사각형/직사각형/돌기형/오목형/중공형)
모양의 치수는 무엇인가(shape_size[depth,,,])...각 모양마다 다르기 때문에 아래 절을 읽어야 할 것입니다.
"사각형" 모양_크기[깊이, 길이_폭]
직사각형 모양의 크기는 [깊이, 길이, 폭]입니다.
"Round_Rect" 형태의 크기는 [깊이, 길이, 폭, 모서리 반지름, 모서리 면수] 로 표현됩니다.
"사이클리더" 모양_크기[깊이, 반지름, 면면수]
"타원형" shape_size[깊이, 반지름 길이, 반지름 폭, 면면들]
"코너" 모양_크기[깊이, 바닥 반지름, 상단 반지름, 면면수]
"Nub_Post" 모양_크기[깊이, 바닥 반지름, 상단 반지름, 深入_nub, 측면]
"Dip_Post" 형태_크기[깊이, 바닥 반지름, 상단 반지름, 디프_디프, 측면]
"Hollow_Cylinder" 모양의 크기[깊이, 바깥 반경, 안쪽 반경, 면수]
얼굴에 새겨진 텍스트 문자열 (text_to_write)
텍스트 모양_크기[깊이, 글자 높이, 글자 간격, 거울]
사용자가 이 데이터를 제공한 후 모양은 다음과 같이 만들어집니다:
- "device_xyz", "clearance_xyz" 및 "wall_t"에 기반하여 포장의 외부 크기를 계산하세요.
- 조금 더 작은 것과 조금 더 큰 것을 서로 뺄셈하여 오목한 입방체 모양을 만들어보세요.
- '포스트'에서 내부 지원 구조와 연합을 만들고, 이를 이전의 형태와 합쳐서요.
- 각 면에서 '구멍'에서 형태를 만들고, 이전 형태와 다른 점을 만들어내세요.
- "텍스트"에서 각 얼굴에 글자를 만들고, 이전 모양과 다른 점을 보여주세요.
- 포장 높이, 'lip_h', 'top_bottom_ratio' 및 'lip_fit'를 사용하여 이전 모양을 위와 아래 두 부분으로 분할합니다.
- 레이아웃과 분리를 사용하여 사용자가 지정한 대로 부품을 배열하십시오.
- 레이아웃, mouse_ears, mouse_ear_thickness 및 mouse_ear_radius를 사용하여 마우스 귀를 이전 모양에 올바르게 연결합니다.
- 완료되었습니다!
태그
모델 소스
