Ngăn kéo lưu trữ điện trở 10mm x 15mm x 70mm
Bộ ngăn kéo lưu trữ điện trở siêu nhỏ gọn, in phẳng (flat print) để tiết kiệm diện tích. Thiết kế 12 cột cho series E12, ngăn sâu tối thiểu 65mm để bỏ vừa điện trở nguyên cây và linh kiện tương tự.
Mô tả
Mình tự thiết kế cái hộp này vì tìm hoài không ra đúng cái mình cần:
-
Cần có 12 cột cho series E12
-
Ngăn kéo phải nhỏ gọn nhất có thể, mình không muốn chiếm nhiều diện tích.
-
Điện trở phải để vừa nguyên cây, độ sâu tối thiểu 65mm.
In và lắp thì hơi “căng” vì mỗi ngăn kéo có 3 phần, nên yêu cầu bắt buộc là flat print. Nhưng thành phẩm thì rất đã, mình biết chính xác điện trở mình cần nằm ở đâu.

Vô thư mục plate layout để xem các tuỳ chọn in dual colour đã setup sẵn cho Bambu Studio và Orca Slicer.

Mình ghét làm đi làm lại nên mấy cái tile được tạo bằng python script trong Fusion 360 từ danh sách giá trị trong file CSV. Nó tạo đủ 97 mặt trước ngăn kéo với các giá trị điện trở khác nhau chỉ trong 2 phút. Việc chọn màu khi đã lên build plate thì vẫn làm tay, hơi cực chút nhưng làm được. Xem các tree sets đã generate trong thư mục plate layouts.
Python script nằm trong thư mục scripts. Nếu bạn cần mình hướng dẫn cách setup thì mình sẽ viết lại thành wiki, cứ liên hệ nha.
import adsk.core, adsk.fusion, adsk.cam, traceback
import csv, os
# --- CONFIG ---
CSV_PATH = r"C:\Users\Jattie\Documents\E12_series.csv"
TEXT_PARAMETER = "resistor_value_name"
EXPORT_FOLDER = r"C:\Users\Jattie\Documents\print"
USE_PARAMETER = True
EXPORT_FORMAT = "step" # "step" or "3mf"
SKETCH_NAME = "TextSketch"
TEXT_NAME = "MainText"
# --- END CONFIG ---
def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
design = app.activeProduct
if not os.path.exists(EXPORT_FOLDER):
os.makedirs(EXPORT_FOLDER)
with open(CSV_PATH, newline='', encoding='utf-8-sig') as csvfile:
reader = csv.DictReader(csvfile)
rows = list(reader)
for row in rows:
normalized = {k.strip().lower().lstrip('\ufeff'): v for k, v in row.items()}
value = normalized["label"]
safe_value = value.strip().replace("'", "").replace('\n', '').replace('\r', '')
if USE_PARAMETER:
param = design.userParameters.itemByName(TEXT_PARAMETER)
if not param:
raise RuntimeError(f"Parameter '{TEXT_PARAMETER}' not found.")
param.expression = "'" + safe_value + "'"
else:
sketch = design.rootComponent.sketches.itemByName(SKETCH_NAME)
text_obj = sketch.sketchTexts.itemByName(TEXT_NAME)
text_obj.text = safe_value
adsk.doEvents()
design.computeAll()
exportMgr = design.exportManager
filename_step = os.path.join(EXPORT_FOLDER, f"{safe_value}.step")
filename_3mf = os.path.join(EXPORT_FOLDER, f"{safe_value}.3mf")
if EXPORT_FORMAT.lower() == "step":
options = exportMgr.createSTEPExportOptions(filename_step)
elif EXPORT_FORMAT.lower() == "3mf":
# 3MF needs the entity (root component) + filename
root_comp = design.rootComponent
options = exportMgr.createC3MFExportOptions(root_comp, filename_3mf)
else:
raise RuntimeError("EXPORT_FORMAT must be 'step' or '3mf'.")
exportMgr.execute(options)
ui.messageBox("Batch export complete.")
except:
if ui:
ui.messageBox("Failed:\n{}".format(traceback.format_exc()))
File CSV là:
label
1R
1R2
1R5
1R8
2R2
2R7
3R3
3R9
4R7
5R6
6R8
8R2
10R
12R
15R
18R
22R
27R
33R
39R
47R
56R
68R
82R
100R
120R
150R
180R
220R
270R
330R
390R
470R
560R
680R
820R
1K
1K2
1K5
1K8
2K2
2K7
3K3
3K9
4K7
5K6
6K8
8K2
10K
12K
15K
18K
22K
27K
33K
39K
47K
56K
68K
82K
100K
120K
150K
180K
220K
270K
330K
390K
470K
560K
680K
820K
1M
1M2
1M5
1M8
2M2
2M7
3M3
3M9
4M7
5M6
6M8
8M2
10M
12M
15M
18M
22M
27M
33M
39M
47M
56M
68M
82M
Giấy phép
Tìm hiểu thêm về giấy phép này tại https://www.gnu.org/licenses/gpl-3.0.html
File mô hình
Plate Layout 1R - 820R.3mf
1K-820K.3mf
1M-82M.3mf
3R9.3mf
1K.3mf
2M2.3mf
10M.3mf
47M.3mf
1M5.3mf
1R8.3mf
100R.3mf
150R.3mf
1R.3mf
2R2.3mf
1M2.3mf
27M.3mf
1M.3mf
1R5.3mf
15K.3mf
4R7.3mf
56M.3mf
47K.3mf
15M.3mf
12M.3mf
4M7.3mf
220R.3mf
1K2.3mf
22M.3mf
1R2.3mf
5R6.3mf
4K7.3mf
120K.3mf
27R.3mf
2R7.3mf
10R.3mf
6K8.3mf
8R2.3mf
120R.3mf
39R.3mf
68M.3mf
100K.3mf
10K.3mf
2K7.3mf
6R8.3mf
1K5.3mf
8K2.3mf
39M.3mf
12K.3mf
3K3.3mf
22R.3mf
2M7.3mf
470R.3mf
18M.3mf
15R.3mf
2K2.3mf
5M6.3mf
47R.3mf
270R.3mf
27K.3mf
12R.3mf
150K.3mf
68K.3mf
8M2.3mf
33M.3mf
220K.3mf
1K8.3mf
33R.3mf
18K.3mf
330K.3mf
330R.3mf
180R.3mf
470K.3mf
390R.3mf
82R.3mf
680K.3mf
3M3.3mf
82K.3mf
3M9.3mf
39K.3mf
390K.3mf
3R3.3mf
560R.3mf
560K.3mf
820K.3mf
18R.3mf
180K.3mf
680R.3mf
68R.3mf
6M8.3mf
3K9.3mf
270K.3mf
820R.3mf
22K.3mf
5K6.3mf
33K.3mf
82M.3mf
1M8.3mf
56K.3mf
56R.3mf
resistor storage v8 - print layout 1 set.stl
resistor storage.3mf
resistor storage.3mf
resistor storage rack print layout.stl
resistor storage v8 - print layout 12 sets.stl
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Remix (0)
Có thể bạn quan tâm
Đang tìm các mô hình liên quan...
Chưa có bình luận nào. Hãy là người đầu tiên!