Chậu Lan - Lưới Kiểu Bình Hoa
Chậu Lan được thiết kế để thoáng khí cho rễ. Có thể tùy chỉnh hoàn toàn và điều chỉnh cho máy in của bạn. Mô hình này được tạo ra bằng fullcontrol gcode, bạn có thể dùng hướng dẫn hoặc file slice sẵn.
652
Lượt Xem
13
Lượt Thích
46
Lượt Tải
Cập Nhật Dec 15, 2025
Mô tả
Nội dung được dịch bằng AI
Đây là một mô hình được thiết kế với fullcontrol gcode.
Theo hướng dẫn tương tác từ github hoặc sử dụng một trong các tệp đã được slice sẵn của tôi (có các kích thước S, M và L), nhưng hãy nhớ thay đổi gcode bắt đầu và kết thúc!
#import packages
import fullcontrol as fc
from math import sin, cos, pi, tau, log1p
#design parameters
design_name = 'orchid_pot'
nozzle_temp = 230
bed_temp = 75
print_speed = 1200
fan_percent = 50
EH = 0.2 # extrusion heigth
EW = 0.5 # extrusion width
printer_name = 'prusa_i3'
# functional parameters
center_x = 125
center_y = 105
pot_heigth = 100 # heigth of the pot in mm
pot_diameter = 65 # base diamter of the pot
amplitude = 1.2 # amplitude of the ripples in mm
waves = int(pi*pot_diameter/(4*amplitude)) # No. of ripples, calculated to match with the amplitude
segments = waves * 8 # makes sure each sine-wave consists of 8 points
stacked_waves = 5 # No. of ripples before the phase gets inverted
layers = int(pot_heigth/EH) # No. of layers calculated from extrusion heigth and pot heigth
base_layers = 4 # No. of solid layers
# aesthetic parameters
bulges = 7 # No. of bulges
bulge_depth = 3 # amplitude of bulges
# other parameters used for design generation
clockwise = bool(True)
flip = 1
steps = []
for i in range (base_layers):
steps.append(fc.Fan(speed_percent = i/base_layers * fan_percent))
current_z = EH + EH*i
spiral_starting_radius = pot_diameter/2 + log1p(10*(i/layers)) + amplitude
spiral_turns = int(spiral_starting_radius/EW)
steps.extend(fc.spiralXY(fc.Point(x = center_x, y = center_y, z = current_z), spiral_starting_radius, EW/2, tau, spiral_turns, 2000, clockwise))
steps.extend(fc.travel_to(fc.polar_to_point(fc.Point(x = center_x, y = center_y, z = current_z + EH), spiral_starting_radius, tau)))
if (clockwise == True):
clockwise = False
else:
clockwise = True
steps.append(fc.Fan(speed_percent = fan_percent))
for layer in range(base_layers, layers):
current_z = EH + EH*layer
steps.extend(fc.travel_to(fc.Point(z = current_z)))
if ((layer - base_layers) % stacked_waves == 0):
flip = flip * (-1)
for k in range(segments):
current_ripple = flip*amplitude*sin(tau*waves*k/segments)
current_bulge = bulge_depth * (layer/layers) * sin(tau * bulges * k/segments + 0.5 * tau * (layer/layers))
if (layer < layers-3):
current_radius = (pot_diameter/2 + current_ripple + current_bulge) + 2*bulge_depth*log1p(10*((layer/layers)))
else:
steps.append(fc.ExtrusionGeometry(width=1.5))
steps.append(fc.Printer(print_speed=300))
current_radius = (pot_diameter/2 + current_bulge) + 2*bulge_depth*log1p(10*((layer/layers)))
current_angle = tau * k / segments
steps.append(fc.polar_to_point(fc.Point(x=center_x, y =center_y, z = current_z), current_radius, current_angle))
fc.transform(steps, 'plot', fc.PlotControls(color_type='print_sequence'))
#fc.transform(steps, 'plot', fc.PlotControls(color_type='print_sequence', style="line"))
gcode_controls = fc.GcodeControls(
printer_name=printer_name,
save_as=design_name,
initialization_data={
'primer': 'front_lines_then_y',
'print_speed': print_speed,
'nozzle_temp': nozzle_temp,
'bed_temp': bed_temp,
'fan_percent': fan_percent,
'extrusion_width': EW,
'extrusion_height': EH})
gcode = fc.transform(steps, 'gcode', gcode_controls)
Giấy phép
File mô hình
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.
Vui lòng đăng nhập để khoe bản in của bạn.
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!