Skip to main content
F3D
Chậu Lan - Lưới Kiểu Bình Hoa 1

1 image

Đồ Gia Dụng

Chậu Lan - Lưới Kiểu Bình Hoa

By Lorro

Downloads
46
Likes
13
Views
705

Files 6 53.9 MB

  • orchid_pot_S_PETG_1765834994.gcodeGCODE · 5.5 MB
  • orchid_pot_M_PETG_1765834995.gcodeGCODE · 9.2 MB
  • orchid_pot_L_PETG_1765834997.gcodeGCODE · 12.4 MB
  • orchid_pot_S_PLA_1765834999.gcodeGCODE · 5.5 MB

Make a variant with AI

Build another version of this model.

Open Studio

Description

This is a model designed with fullcontrol gcode. 

Follow the interacitve tutorial from github or use one of my pre-sliced files (S, M and L available), but be sure to alter the start and end gcode!

#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(pipot_diameter/(4amplitude)) # 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 + EHi
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 = flipamplitudesin(tauwavesk/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) + 2bulge_depthlog1p(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) + 2bulge_depthlog1p(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)

Read more Show less

Print spec

Formats
gcode
Model files
6
Total size
53.9 MB
Largest file
12.4 MB

0 comments

See all