暂存-说明文档(部分)
This commit is contained in:
432
scripts/all_keys.txt
Normal file
432
scripts/all_keys.txt
Normal file
@@ -0,0 +1,432 @@
|
||||
acceleration_limit_mess
|
||||
acceleration_limit_mess_enable
|
||||
accel_to_decel_enable
|
||||
accel_to_decel_factor
|
||||
activate_air_filtration
|
||||
activate_chamber_temp_control
|
||||
adaptive_layer_height
|
||||
additional_cooling_fan_speed
|
||||
after_layer_gcode
|
||||
ai_infill
|
||||
alternate_extra_wall
|
||||
bed_shape
|
||||
bed_type
|
||||
before_layer_gcode
|
||||
bottom_shell_layers
|
||||
bottom_shell_thickness
|
||||
bottom_solid_infill_flow_ratio
|
||||
bottom_surface_pattern
|
||||
bridge_acceleration
|
||||
bridge_angle
|
||||
bridge_density
|
||||
bridge_flow
|
||||
bridge_no_support
|
||||
bridge_speed
|
||||
brim_ears_detection_length
|
||||
brim_ears_max_angle
|
||||
brim_object_gap
|
||||
brim_type
|
||||
brim_width
|
||||
chamber_temperature
|
||||
close_fan_the_first_x_layers
|
||||
compatible_printers_condition
|
||||
complete_print_exhaust_fan_speed
|
||||
cool_cds_fan_start_at_height
|
||||
cooling_tube_length
|
||||
cooling_tube_retraction
|
||||
cool_plate_temp
|
||||
cool_plate_temp_initial_layer
|
||||
cool_special_cds_fan_speed
|
||||
counterbore_hole_bridging
|
||||
customized_plate_temp
|
||||
customized_plate_temp_initial_layer
|
||||
default_acceleration
|
||||
default_filament_colour
|
||||
default_jerk
|
||||
deretract_speed
|
||||
detect_narrow_internal_solid_infill
|
||||
detect_overhang_wall
|
||||
detect_thin_wall
|
||||
dont_filter_internal_bridges
|
||||
draft_shield
|
||||
during_print_exhaust_fan_speed
|
||||
elefant_foot_compensation
|
||||
elefant_foot_compensation_layers
|
||||
enable_arc_fitting
|
||||
enable_overhang_bridge_fan
|
||||
enable_overhang_speed
|
||||
enable_pressure_advance
|
||||
enable_prime_tower
|
||||
enable_special_area_additional_cooling_fan
|
||||
end_gcode
|
||||
enforce_support_layers
|
||||
eng_plate_temp
|
||||
eng_plate_temp_initial_layer
|
||||
ensure_vertical_shell_thickness
|
||||
epoxy_resin_plate_temp
|
||||
epoxy_resin_plate_temp_initial_layer
|
||||
exclude_object
|
||||
extra_loading_move
|
||||
extra_perimeters_on_overhangs
|
||||
extruder_clearance_height_to_lid
|
||||
extruder_clearance_height_to_rod
|
||||
extruder_clearance_radius
|
||||
extruder_colour
|
||||
extruder_offset
|
||||
family
|
||||
fan_cooling_layer_time
|
||||
fan_max_speed
|
||||
fan_min_speed
|
||||
filament_cooling_final_speed
|
||||
filament_cooling_initial_speed
|
||||
filament_cooling_moves
|
||||
filament_cost
|
||||
filament_density
|
||||
filament_deretraction_speed
|
||||
filament_diameter
|
||||
filament_end_gcode
|
||||
filament_flow_ratio
|
||||
filament_is_support
|
||||
filament_loading_speed
|
||||
filament_loading_speed_start
|
||||
filament_load_time
|
||||
filament_max_volumetric_speed
|
||||
filament_minimal_purge_on_wipe_tower
|
||||
filament_multitool_ramming
|
||||
filament_multitool_ramming_flow
|
||||
filament_multitool_ramming_volume
|
||||
filament_notes
|
||||
filament_ramming_parameters
|
||||
filament_retract_before_wipe
|
||||
filament_retraction_length
|
||||
filament_retraction_minimum_travel
|
||||
filament_retraction_speed
|
||||
filament_retract_lift_above
|
||||
filament_retract_lift_below
|
||||
filament_retract_lift_enforce
|
||||
filament_retract_restart_extra
|
||||
filament_retract_when_changing_layer
|
||||
filament_settings_id
|
||||
filament_shrink
|
||||
filament_shrinkage_compensation_z
|
||||
filament_soluble
|
||||
filament_start_gcode
|
||||
filament_toolchange_delay
|
||||
filament_type
|
||||
filament_unloading_speed
|
||||
filament_unloading_speed_start
|
||||
filament_unload_time
|
||||
filament_vendor
|
||||
filament_wipe
|
||||
filament_wipe_distance
|
||||
filament_z_hop
|
||||
filament_z_hop_types
|
||||
filter_out_gap_fill
|
||||
first_layer_bed_temperature
|
||||
flush_into_infill
|
||||
flush_into_objects
|
||||
flush_into_support
|
||||
full_fan_speed_layer
|
||||
fuzzy_skin
|
||||
fuzzy_skin_first_layer
|
||||
fuzzy_skin_point_distance
|
||||
fuzzy_skin_thickness
|
||||
gap_fill_target
|
||||
gap_infill_speed
|
||||
gcode_add_line_number
|
||||
gcode_comments
|
||||
gcode_flavor
|
||||
gcode_label_objects
|
||||
high_current_on_filament_swap
|
||||
hole_to_polyhole
|
||||
hole_to_polyhole_threshold
|
||||
hole_to_polyhole_twisted
|
||||
hot_plate_temp
|
||||
hot_plate_temp_initial_layer
|
||||
idle_temperature
|
||||
independent_support_layer_height
|
||||
infill_anchor
|
||||
infill_anchor_max
|
||||
infill_combination
|
||||
infill_direction
|
||||
infill_jerk
|
||||
infill_wall_overlap
|
||||
initial_layer_acceleration
|
||||
initial_layer_infill_speed
|
||||
initial_layer_jerk
|
||||
initial_layer_line_width
|
||||
initial_layer_min_bead_width
|
||||
initial_layer_print_height
|
||||
initial_layer_speed
|
||||
initial_layer_travel_speed
|
||||
inner_wall_acceleration
|
||||
inner_wall_jerk
|
||||
inner_wall_line_width
|
||||
inner_wall_speed
|
||||
interface_shells
|
||||
internal_bridge_flow
|
||||
internal_bridge_speed
|
||||
internal_solid_infill_acceleration
|
||||
internal_solid_infill_line_width
|
||||
internal_solid_infill_pattern
|
||||
internal_solid_infill_speed
|
||||
ironing_angle
|
||||
ironing_flow
|
||||
ironing_pattern
|
||||
ironing_spacing
|
||||
ironing_speed
|
||||
ironing_support_layer
|
||||
ironing_type
|
||||
is_infill_first
|
||||
layer_height
|
||||
line_width
|
||||
machine_limits_usage
|
||||
machine_max_acceleration_e
|
||||
machine_max_acceleration_extruding
|
||||
machine_max_acceleration_retracting
|
||||
machine_max_acceleration_travel
|
||||
machine_max_acceleration_x
|
||||
machine_max_acceleration_y
|
||||
machine_max_acceleration_z
|
||||
machine_max_jerk_e
|
||||
machine_max_jerk_x
|
||||
machine_max_jerk_y
|
||||
machine_max_jerk_z
|
||||
machine_max_speed_e
|
||||
machine_max_speed_x
|
||||
machine_max_speed_y
|
||||
machine_max_speed_z
|
||||
machine_min_extruding_rate
|
||||
machine_min_travel_rate
|
||||
make_overhang_printable
|
||||
make_overhang_printable_angle
|
||||
make_overhang_printable_hole_size
|
||||
material_flow_dependent_temperature
|
||||
material_flow_temp_graph
|
||||
material_type
|
||||
max_bridge_length
|
||||
max_layer_height
|
||||
max_print_height
|
||||
max_travel_detour_distance
|
||||
max_volumetric_extrusion_rate_slope
|
||||
max_volumetric_extrusion_rate_slope_segment_length
|
||||
min_bead_width
|
||||
min_feature_size
|
||||
minimum_sparse_infill_area
|
||||
minimum_support_area
|
||||
min_layer_height
|
||||
min_length_factor
|
||||
min_width_top_surface
|
||||
mmu_segmented_region_interlocking_depth
|
||||
mmu_segmented_region_max_width
|
||||
nozzle_diameter
|
||||
nozzle_temperature
|
||||
nozzle_temperature_initial_layer
|
||||
nozzle_temperature_range_high
|
||||
nozzle_temperature_range_low
|
||||
only_one_wall_first_layer
|
||||
only_one_wall_top
|
||||
ooze_prevention
|
||||
outer_wall_acceleration
|
||||
outer_wall_jerk
|
||||
outer_wall_line_width
|
||||
outer_wall_speed
|
||||
overhang_1_4_speed
|
||||
overhang_2_4_speed
|
||||
overhang_3_4_speed
|
||||
overhang_4_4_speed
|
||||
overhang_fan_speed
|
||||
overhang_fan_threshold
|
||||
overhang_reverse
|
||||
overhang_reverse_internal_only
|
||||
overhang_reverse_threshold
|
||||
overhang_speed_classic
|
||||
parking_pos_retraction
|
||||
pause_print_gcode
|
||||
precise_outer_wall
|
||||
pressure_advance
|
||||
prime_tower_brim_width
|
||||
prime_tower_enhance_type
|
||||
prime_tower_width
|
||||
prime_volume
|
||||
printer_model
|
||||
printer_technology
|
||||
printer_variant
|
||||
print_flow_ratio
|
||||
print_order
|
||||
print_sequence
|
||||
print_settings_id
|
||||
raft_contact_distance
|
||||
raft_expansion
|
||||
raft_first_layer_density
|
||||
raft_first_layer_expansion
|
||||
raft_layers
|
||||
reduce_crossing_wall
|
||||
reduce_fan_stop_start_freq
|
||||
reduce_infill_retraction
|
||||
required_nozzle_HRC
|
||||
resolution
|
||||
retract_before_travel
|
||||
retract_before_wipe
|
||||
retract_layer_change
|
||||
retract_length
|
||||
retract_length_toolchange
|
||||
retract_lift_above
|
||||
retract_lift_below
|
||||
retract_restart_extra
|
||||
retract_restart_extra_toolchange
|
||||
retract_speed
|
||||
role_based_wipe_speed
|
||||
scarf_angle_threshold
|
||||
scarf_joint_flow_ratio
|
||||
scarf_joint_speed
|
||||
scarf_overhang_threshold
|
||||
seam_gap
|
||||
seam_position
|
||||
seam_slope_conditional
|
||||
seam_slope_entire_loop
|
||||
seam_slope_inner_walls
|
||||
seam_slope_min_length
|
||||
seam_slope_start_height
|
||||
seam_slope_steps
|
||||
seam_slope_type
|
||||
show_name
|
||||
silent_mode
|
||||
single_extruder_multi_material
|
||||
single_extruder_multi_material_priming
|
||||
skirt_distance
|
||||
skirt_height
|
||||
skirt_loops
|
||||
skirt_speed
|
||||
slice_closing_radius
|
||||
slicing_mode
|
||||
slowdown_for_curled_perimeters
|
||||
slow_down_for_layer_cooling
|
||||
slow_down_layers
|
||||
slow_down_layer_time
|
||||
slow_down_min_speed
|
||||
small_area_infill_flow_compensation
|
||||
small_area_infill_flow_compensation_model
|
||||
small_perimeter_speed
|
||||
small_perimeter_threshold
|
||||
solid_infill_filament
|
||||
sparse_infill_acceleration
|
||||
sparse_infill_density
|
||||
sparse_infill_filament
|
||||
sparse_infill_line_width
|
||||
sparse_infill_pattern
|
||||
sparse_infill_speed
|
||||
speed_limit_to_height
|
||||
speed_limit_to_height_enable
|
||||
spiral_mode
|
||||
spiral_mode_max_xy_smoothing
|
||||
spiral_mode_smooth
|
||||
staggered_inner_seams
|
||||
standby_temperature_delta
|
||||
start_filament_gcode
|
||||
start_gcode
|
||||
support_angle
|
||||
support_base_pattern
|
||||
support_base_pattern_spacing
|
||||
support_bottom_interface_spacing
|
||||
support_bottom_z_distance
|
||||
support_critical_regions_only
|
||||
support_expansion
|
||||
support_interface_bottom_layers
|
||||
support_interface_filament
|
||||
support_interface_loop_pattern
|
||||
support_interface_not_for_body
|
||||
support_interface_pattern
|
||||
support_interface_spacing
|
||||
support_interface_speed
|
||||
support_interface_top_layers
|
||||
support_line_width
|
||||
support_material
|
||||
support_material_angle
|
||||
support_material_auto
|
||||
support_material_bottom_interface_layers
|
||||
support_material_extrusion_width
|
||||
support_material_interface_extruder
|
||||
support_material_interface_fan_speed
|
||||
support_material_pattern
|
||||
support_material_spacing
|
||||
support_material_speed
|
||||
support_material_style
|
||||
support_material_threshold
|
||||
support_material_xy_spacing
|
||||
support_object_xy_distance
|
||||
support_on_build_plate_only
|
||||
support_remove_small_overhang
|
||||
support_speed
|
||||
support_threshold_angle
|
||||
support_top_z_distance
|
||||
support_tree_angle
|
||||
support_tree_angle_slow
|
||||
support_tree_branch_diameter
|
||||
support_tree_branch_diameter_angle
|
||||
support_tree_branch_diameter_double_wall
|
||||
support_tree_branch_distance
|
||||
support_tree_tip_diameter
|
||||
support_tree_top_rate
|
||||
support_type
|
||||
support_xy_overrides_z
|
||||
temperature_vitrification
|
||||
textured_plate_temp
|
||||
textured_plate_temp_initial_layer
|
||||
thick_bridges
|
||||
thick_internal_bridges
|
||||
timelapse_type
|
||||
top_shell_layers
|
||||
top_shell_thickness
|
||||
top_solid_infill_flow_ratio
|
||||
top_surface_acceleration
|
||||
top_surface_jerk
|
||||
top_surface_line_width
|
||||
top_surface_pattern
|
||||
top_surface_speed
|
||||
travel_acceleration
|
||||
travel_jerk
|
||||
travel_speed
|
||||
travel_speed_z
|
||||
tree_support_adaptive_layer_height
|
||||
tree_support_angle_slow
|
||||
tree_support_auto_brim
|
||||
tree_support_branch_angle
|
||||
tree_support_branch_angle_organic
|
||||
tree_support_branch_diameter
|
||||
tree_support_branch_diameter_angle
|
||||
tree_support_branch_diameter_double_wall
|
||||
tree_support_branch_diameter_organic
|
||||
tree_support_branch_distance
|
||||
tree_support_branch_distance_organic
|
||||
tree_support_brim_width
|
||||
tree_support_tip_diameter
|
||||
tree_support_top_rate
|
||||
tree_support_wall_count
|
||||
use_firmware_retraction
|
||||
use_relative_e_distances
|
||||
wall_direction
|
||||
wall_distribution_count
|
||||
wall_filament
|
||||
wall_generator
|
||||
wall_infill_order
|
||||
wall_loops
|
||||
wall_sequence
|
||||
wall_transition_angle
|
||||
wall_transition_filter_deviation
|
||||
wall_transition_length
|
||||
wipe
|
||||
wipe_before_external_loop
|
||||
wipe_on_loops
|
||||
wipe_speed
|
||||
wipe_tower_bridging
|
||||
wipe_tower_cone_angle
|
||||
wipe_tower_extra_spacing
|
||||
wipe_tower_no_sparse_layers
|
||||
wipe_tower_rotation_angle
|
||||
wiping_volumes_extruders
|
||||
xy_contour_compensation
|
||||
xy_hole_compensation
|
||||
z_hop
|
||||
z_hop_types
|
||||
z_offset
|
||||
54
scripts/fix_ini_files.py
Normal file
54
scripts/fix_ini_files.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import os
|
||||
import glob
|
||||
import difflib
|
||||
|
||||
# Read valid keys
|
||||
valid_keys = set()
|
||||
with open('valid_keys.txt', 'r') as f:
|
||||
for line in f:
|
||||
valid_keys.add(line.strip())
|
||||
|
||||
def process_file(filepath):
|
||||
with open(filepath, 'r') as f:
|
||||
lines = f.readlines()
|
||||
|
||||
new_lines = []
|
||||
changed = False
|
||||
|
||||
for line in lines:
|
||||
stripped = line.strip()
|
||||
# Skip empty lines, metadata sections, or already commented lines with ;
|
||||
if not stripped or stripped.startswith('[') or stripped.startswith(';'):
|
||||
new_lines.append(line)
|
||||
continue
|
||||
|
||||
if '=' in line:
|
||||
parts = line.split('=', 1)
|
||||
key = parts[0].strip()
|
||||
val = parts[1]
|
||||
|
||||
if key in valid_keys:
|
||||
new_lines.append(line)
|
||||
else:
|
||||
matches = difflib.get_close_matches(key, valid_keys, n=1, cutoff=0.8)
|
||||
if matches:
|
||||
new_key = matches[0]
|
||||
new_lines.append(line.replace(key + ' ', new_key + ' ', 1) if key + ' ' in line else line.replace(key + '=', new_key + '=', 1))
|
||||
print(f"{filepath}: Reacted {key} to {new_key}")
|
||||
changed = True
|
||||
else:
|
||||
new_lines.append(';;;' + line)
|
||||
print(f"{filepath}: Commented {key}")
|
||||
changed = True
|
||||
else:
|
||||
new_lines.append(line)
|
||||
|
||||
if changed:
|
||||
with open(filepath, 'w') as f:
|
||||
f.writelines(new_lines)
|
||||
|
||||
for root, dirs, files in os.walk('print_config/prusa_slicer'):
|
||||
for file in files:
|
||||
if file.endswith('.ini'):
|
||||
process_file(os.path.join(root, file))
|
||||
|
||||
246
scripts/llm_semantic_fix2.py
Normal file
246
scripts/llm_semantic_fix2.py
Normal file
@@ -0,0 +1,246 @@
|
||||
import os
|
||||
|
||||
def load_valid_keys():
|
||||
valid = set()
|
||||
if os.path.exists('valid_keys.txt'):
|
||||
with open('valid_keys.txt', 'r') as f:
|
||||
for line in f:
|
||||
if line.strip():
|
||||
valid.add(line.strip())
|
||||
# 补充一些在 PrusaSlicer ini常见但可能在cli中缺失的原生合法字段
|
||||
valid.update([
|
||||
"start_gcode", "end_gcode", "before_layer_gcode", "temperature",
|
||||
"first_layer_temperature", "bed_temperature", "first_layer_bed_temperature",
|
||||
"printer_model", "family", "z_offset", "printer_technology",
|
||||
"gcode_flavor", "silent_mode", "printer_variant", "max_print_height",
|
||||
"nozzle_diameter", "extruder_colour", "extruder_offset", "use_relative_e_distances",
|
||||
"use_firmware_retraction", "retract_layer_change", "retract_length",
|
||||
"retract_lift", "retract_lift_above", "retract_lift_below", "retract_speed",
|
||||
"deretract_speed", "retract_before_travel", "retract_before_wipe", "wipe",
|
||||
"machine_limits_usage", "machine_max_acceleration_x", "machine_max_acceleration_y",
|
||||
"machine_max_acceleration_z", "machine_max_acceleration_e",
|
||||
"machine_max_speed_x", "machine_max_speed_y", "machine_max_speed_z",
|
||||
"machine_max_speed_e", "machine_max_jerk_x", "machine_max_jerk_y",
|
||||
"machine_max_jerk_z", "machine_max_jerk_e", "machine_min_travel_rate",
|
||||
"default_filament_colour", "filament_type", "filament_diameter",
|
||||
"filament_density", "filament_cost", "fan_always_on", "cooling",
|
||||
"support_material", "support_material_auto", "support_material_style"
|
||||
])
|
||||
return valid
|
||||
|
||||
VALID_KEYS = load_valid_keys()
|
||||
|
||||
# 基于全量 all_keys.txt 逐一梳理的语义映射字典
|
||||
SEMANTIC_MAP = {
|
||||
# 打印层高相关
|
||||
"adaptive_layer_height": "variable_layer_height",
|
||||
"initial_layer_print_height": "first_layer_height",
|
||||
"layer_height": "layer_height",
|
||||
"min_layer_height": "min_layer_height",
|
||||
"max_layer_height": "max_layer_height",
|
||||
"print_sequence": "complete_objects",
|
||||
|
||||
# 线宽相关
|
||||
"line_width": "extrusion_width",
|
||||
"initial_layer_line_width": "first_layer_extrusion_width",
|
||||
"outer_wall_line_width": "external_perimeter_extrusion_width",
|
||||
"inner_wall_line_width": "perimeter_extrusion_width",
|
||||
"top_surface_line_width": "top_infill_extrusion_width",
|
||||
"sparse_infill_line_width": "infill_extrusion_width",
|
||||
"internal_solid_infill_line_width": "solid_infill_extrusion_width",
|
||||
|
||||
# 墙/外壳相关
|
||||
"wall_loops": "perimeters",
|
||||
"top_shell_layers": "top_solid_layers",
|
||||
"bottom_shell_layers": "bottom_solid_layers",
|
||||
"top_shell_thickness": "top_solid_min_thickness",
|
||||
"bottom_shell_thickness": "bottom_solid_min_thickness",
|
||||
"only_one_wall_top": "top_one_perimeter_type",
|
||||
"detect_thin_wall": "thin_walls",
|
||||
# "detect_narrow_internal_solid_infill": "thin_walls",
|
||||
"reduce_crossing_wall": "avoid_crossing_perimeters",
|
||||
|
||||
# 填充相关
|
||||
"sparse_infill_density": "fill_density",
|
||||
"sparse_infill_pattern": "fill_pattern",
|
||||
"infill_direction": "fill_angle",
|
||||
"infill_wall_overlap": "infill_overlap",
|
||||
"infill_combination": "solid_infill_every_layers",
|
||||
"bottom_surface_pattern": "bottom_fill_pattern",
|
||||
"top_surface_pattern": "top_fill_pattern",
|
||||
"gap_fill_target": "gap_fill_enabled",
|
||||
|
||||
# 速度相关
|
||||
"initial_layer_speed": "first_layer_speed",
|
||||
"initial_layer_infill_speed": "first_layer_infill_speed",
|
||||
"outer_wall_speed": "external_perimeter_speed",
|
||||
"inner_wall_speed": "perimeter_speed",
|
||||
"top_surface_speed": "top_solid_infill_speed",
|
||||
"sparse_infill_speed": "infill_speed",
|
||||
"internal_solid_infill_speed": "solid_infill_speed",
|
||||
"gap_infill_speed": "gap_fill_speed",
|
||||
"bridge_speed": "bridge_speed",
|
||||
"travel_speed": "travel_speed",
|
||||
"travel_speed_z": "travel_speed_z",
|
||||
"small_perimeter_speed": "small_perimeter_speed",
|
||||
"support_speed": "support_material_speed",
|
||||
"support_interface_speed": "support_material_interface_speed",
|
||||
|
||||
# 加速度相关
|
||||
"default_acceleration": "default_acceleration",
|
||||
"initial_layer_acceleration": "first_layer_acceleration",
|
||||
"outer_wall_acceleration": "external_perimeter_acceleration",
|
||||
"inner_wall_acceleration": "perimeter_acceleration",
|
||||
"top_surface_acceleration": "top_solid_infill_acceleration",
|
||||
"travel_acceleration": "travel_acceleration",
|
||||
"bridge_acceleration": "bridge_acceleration",
|
||||
|
||||
# 支撑相关
|
||||
"support_angle": "support_material_angle",
|
||||
"support_top_z_distance": "support_material_contact_distance",
|
||||
"support_bottom_z_distance": "support_material_bottom_contact_distance",
|
||||
"support_interface_top_layers": "support_material_interface_layers",
|
||||
"support_interface_bottom_layers": "support_material_bottom_interface_layers",
|
||||
"support_interface_spacing": "support_material_interface_spacing",
|
||||
# "support_remove_small_overhang": "support_material_threshold",
|
||||
"support_interface_pattern": "support_material_interface_pattern",
|
||||
|
||||
# 底座/附着相关
|
||||
"brim_width": "brim_width",
|
||||
"raft_layers": "raft_layers",
|
||||
"raft_contact_distance": "raft_contact_distance",
|
||||
"raft_expansion": "raft_expansion",
|
||||
"raft_first_layer_density": "raft_first_layer_density",
|
||||
"raft_first_layer_expansion": "raft_first_layer_expansion",
|
||||
"skirt_distance": "skirt_distance",
|
||||
"skirt_height": "skirt_height",
|
||||
"skirt_loops": "skirts",
|
||||
"elefant_foot_compensation": "elefant_foot_compensation",
|
||||
|
||||
# 回抽与耗材相关
|
||||
"z_hop": "retract_lift",
|
||||
"retract_length": "retract_length",
|
||||
"retract_speed": "retract_speed",
|
||||
"retract_before_wipe": "retract_before_wipe",
|
||||
"retract_before_travel": "retract_before_travel",
|
||||
"retract_layer_change": "retract_layer_change",
|
||||
"retract_lift_above": "retract_lift_above",
|
||||
"retract_lift_below": "retract_lift_below",
|
||||
"filament_deretraction_speed": "filament_deretract_speed",
|
||||
"filament_retraction_length": "filament_retract_length",
|
||||
"filament_retraction_speed": "filament_retract_speed",
|
||||
"material_type": "filament_type",
|
||||
"nozzle_temperature": "temperature",
|
||||
"nozzle_temperature_initial_layer": "first_layer_temperature",
|
||||
"filament_flow_ratio": "extrusion_multiplier",
|
||||
|
||||
# 其他属性
|
||||
"bridge_flow": "bridge_flow_ratio",
|
||||
# "idle_temperature": "standby_temperature_delta",
|
||||
"enable_arc_fitting": "arc_fitting",
|
||||
"slowdown_for_curled_perimeters": "avoid_crossing_curled_overhangs",
|
||||
"slow_down_layer_time": "slowdown_below_layer_time",
|
||||
"fan_max_speed": "max_fan_speed",
|
||||
"fan_min_speed": "min_fan_speed",
|
||||
"spiral_mode": "spiral_vase",
|
||||
"prime_tower_brim_width": "wipe_tower_brim_width",
|
||||
"prime_tower_width": "wipe_tower_width",
|
||||
|
||||
"bridge_no_support": "dont_support_bridges",
|
||||
"minimum_sparse_infill_area": "solid_infill_below_area",
|
||||
"xy_hole_compensation": "xy_size_compensation",
|
||||
"enable_prime_tower": "wipe_tower",
|
||||
"ironing_flow": "ironing_flowrate",
|
||||
"overhang_1_4_speed": "overhang_speed_0",
|
||||
"overhang_2_4_speed": "overhang_speed_1",
|
||||
"overhang_3_4_speed": "overhang_speed_2",
|
||||
"overhang_4_4_speed": "overhang_speed_3",
|
||||
"enable_overhang_speed": "enable_dynamic_overhang_speeds",
|
||||
"enforce_support_layers": "support_material_enforce_layers",
|
||||
"fuzzy_skin_point_distance": "fuzzy_skin_point_dist",
|
||||
# "initial_layer_min_bead_width": "min_bead_width",
|
||||
# "internal_bridge_flow": "bridge_flow_ratio",
|
||||
# "internal_bridge_speed": "bridge_speed",
|
||||
"internal_solid_infill_acceleration": "solid_infill_acceleration",
|
||||
"internal_solid_infill_pattern": "solid_fill_pattern",
|
||||
"is_infill_first": "infill_first",
|
||||
"seam_gap": "seam_gap_distance",
|
||||
"seam_slope_entire_loop": "scarf_seam_entire_loop",
|
||||
"seam_slope_inner_walls": "scarf_seam_on_inner_perimeters",
|
||||
"seam_slope_min_length": "scarf_seam_length",
|
||||
"seam_slope_start_height": "scarf_seam_start_height",
|
||||
"sparse_infill_acceleration": "infill_acceleration",
|
||||
"internal_solid_infill_acceleration": "solid_infill_acceleration",
|
||||
"wall_generator": "perimeter_generator",
|
||||
# "wipe_tower_rotation_angle": "wipe_tower_cone_angle"
|
||||
}
|
||||
|
||||
def process_file(filepath):
|
||||
with open(filepath, 'r') as f:
|
||||
lines = f.readlines()
|
||||
|
||||
new_lines = []
|
||||
changed = False
|
||||
|
||||
for line in lines:
|
||||
stripped = line.strip()
|
||||
# 忽略空行、段名和已经是原生的配置行
|
||||
if not stripped or stripped.startswith('[') or stripped.startswith(';') or stripped.startswith('show_name'):
|
||||
new_lines.append(line)
|
||||
continue
|
||||
|
||||
if '=' in line:
|
||||
parts = line.split('=', 1)
|
||||
raw_key = parts[0].strip()
|
||||
# 兼容前面可能被加了;;;的key重新解开的情况(以防跑多次)
|
||||
key = raw_key.lstrip(';')
|
||||
val = parts[1].strip()
|
||||
|
||||
# 处理一些特有的布尔值或字符串转义差异
|
||||
if key == "print_sequence" and val == "by layer":
|
||||
val = "0"
|
||||
elif key == "print_sequence" and val == "by object":
|
||||
val = "1"
|
||||
if key == "spiral_mode":
|
||||
val = "1" if val != "0" else "0"
|
||||
if key == "support_type" and "auto" in val:
|
||||
val = "1"
|
||||
|
||||
if val == "zig-zag":
|
||||
val = "zigzag"
|
||||
|
||||
if key == "enable_arc_fitting":
|
||||
if str(val) == "1":
|
||||
val = "emit_center"
|
||||
else:
|
||||
val = "disabled"
|
||||
|
||||
if key == "only_one_wall_top":
|
||||
if str(val) == "1":
|
||||
val = "top"
|
||||
else:
|
||||
val = "none"
|
||||
|
||||
if key in SEMANTIC_MAP:
|
||||
new_key = SEMANTIC_MAP[key]
|
||||
new_lines.append(f"{new_key} = {val}\n")
|
||||
changed = True
|
||||
elif key in VALID_KEYS:
|
||||
# 已经是PrusaSlicer的原生可用属性
|
||||
new_lines.append(f"{key} = {val}\n")
|
||||
else:
|
||||
# 在 all_keys.txt 中但找不到任何对应 PrusaSlicer 语义的属性
|
||||
new_lines.append(f";;;{raw_key} = {val}\n")
|
||||
changed = True
|
||||
else:
|
||||
new_lines.append(line)
|
||||
|
||||
if changed:
|
||||
with open(filepath, 'w') as f:
|
||||
f.writelines(new_lines)
|
||||
|
||||
for root, dirs, files in os.walk('print_config/prusa_slicer'):
|
||||
for file in files:
|
||||
if file.endswith('.ini'):
|
||||
process_file(os.path.join(root, file))
|
||||
print("All keys mapped exhaustively.")
|
||||
21
scripts/tmp_get_ini_from_json.py
Normal file
21
scripts/tmp_get_ini_from_json.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
all_files = os.sys.argv[1:]
|
||||
print(all_files)
|
||||
keys = {}
|
||||
for file in all_files:
|
||||
js = json.load(open(file))
|
||||
for k, v in js.items():
|
||||
if k in ['filament_id','setting_id',"type","name","from","instantiation","inherits","compatible_printers","filename_format"]:
|
||||
continue
|
||||
if type(v) == list:
|
||||
v = v[0]
|
||||
keys[k] = v
|
||||
print(json.dumps(keys))
|
||||
with open("0.08mm_Extra_Fine.ini", "w") as f:
|
||||
for k, v in keys.items():
|
||||
v_str = v.replace('\n', '\\n')
|
||||
f.write(f"{k} = {v_str}\n")
|
||||
417
scripts/valid_keys.txt
Normal file
417
scripts/valid_keys.txt
Normal file
@@ -0,0 +1,417 @@
|
||||
load
|
||||
material_profile
|
||||
print_profile
|
||||
printer_profile
|
||||
export_3mf
|
||||
export_gcode
|
||||
gcode
|
||||
export_obj
|
||||
export_sla
|
||||
sla
|
||||
export_stl
|
||||
gcodeviewer
|
||||
help
|
||||
help_fff
|
||||
help_sla
|
||||
info
|
||||
query_print_filament_profiles
|
||||
query_printer_models
|
||||
save
|
||||
slice
|
||||
align_xy
|
||||
center
|
||||
cut
|
||||
dont_arrange
|
||||
duplicate
|
||||
duplicate_grid
|
||||
ensure_on_bed
|
||||
no_ensure_on_bed
|
||||
merge
|
||||
rotate
|
||||
rotate_x
|
||||
rotate_y
|
||||
scale
|
||||
scale_to_fit
|
||||
split
|
||||
config_compatibility
|
||||
datadir
|
||||
delete_after_load
|
||||
ignore_nonexistent_config
|
||||
load
|
||||
loglevel
|
||||
opengl_aa
|
||||
output
|
||||
single_instance
|
||||
threads
|
||||
fill_pattern
|
||||
load
|
||||
arc_fitting
|
||||
autoemit_temperature_commands
|
||||
avoid_crossing_curled_overhangs
|
||||
avoid_crossing_perimeters
|
||||
bed_custom_model
|
||||
bed_custom_texture
|
||||
bed_shape
|
||||
bed_temperature
|
||||
before_layer_gcode
|
||||
between_objects_gcode
|
||||
binary_gcode
|
||||
bridge_acceleration
|
||||
bridge_fan_speed
|
||||
chamber_minimal_temperature
|
||||
chamber_temperature
|
||||
color_change_gcode
|
||||
colorprint_heights
|
||||
complete_objects
|
||||
cooling
|
||||
cooling_perimeter_transition_distance
|
||||
cooling_slowdown_logic
|
||||
cooling_tube_length
|
||||
cooling_tube_retraction
|
||||
custom_parameters_filament
|
||||
custom_parameters_print
|
||||
custom_parameters_printer
|
||||
default_acceleration
|
||||
deretract_speed
|
||||
disable_fan_first_layers
|
||||
draft_shield
|
||||
duplicate_distance
|
||||
enable_dynamic_fan_speeds
|
||||
end_filament_gcode
|
||||
end_gcode
|
||||
external_perimeter_acceleration
|
||||
extra_loading_move
|
||||
extruder_clearance_height
|
||||
extruder_clearance_radius
|
||||
extruder_colour
|
||||
extruder_offset
|
||||
extrusion_axis
|
||||
extrusion_multiplier
|
||||
fan_always_on
|
||||
fan_below_layer_time
|
||||
filament_abrasive
|
||||
filament_colour
|
||||
filament_cooling_final_speed
|
||||
filament_cooling_initial_speed
|
||||
filament_cooling_moves
|
||||
filament_cost
|
||||
filament_density
|
||||
filament_deretract_speed
|
||||
filament_diameter
|
||||
filament_infill_max_crossing_speed
|
||||
filament_infill_max_speed
|
||||
filament_load_time
|
||||
filament_loading_speed
|
||||
filament_loading_speed_start
|
||||
filament_max_volumetric_speed
|
||||
filament_minimal_purge_on_wipe_tower
|
||||
filament_multitool_ramming
|
||||
filament_multitool_ramming_flow
|
||||
filament_multitool_ramming_volume
|
||||
filament_notes
|
||||
filament_purge_multiplier
|
||||
filament_ramming_parameters
|
||||
filament_retract_before_travel
|
||||
filament_retract_before_wipe
|
||||
filament_retract_layer_change
|
||||
filament_retract_length
|
||||
filament_retract_length_toolchange
|
||||
filament_retract_lift
|
||||
filament_retract_lift_above
|
||||
filament_retract_lift_below
|
||||
filament_retract_restart_extra
|
||||
filament_retract_restart_extra_toolchange
|
||||
filament_retract_speed
|
||||
filament_seam_gap_distance
|
||||
filament_shrinkage_compensation_xy
|
||||
filament_shrinkage_compensation_z
|
||||
filament_soluble
|
||||
filament_spool_weight
|
||||
filament_stamping_distance
|
||||
filament_stamping_loading_speed
|
||||
filament_toolchange_delay
|
||||
filament_travel_lift_before_obstacle
|
||||
filament_travel_max_lift
|
||||
filament_travel_ramping_lift
|
||||
filament_travel_slope
|
||||
filament_type
|
||||
filament_unload_time
|
||||
filament_unloading_speed
|
||||
filament_unloading_speed_start
|
||||
filament_wipe
|
||||
first_layer_acceleration
|
||||
first_layer_acceleration_over_raft
|
||||
first_layer_bed_temperature
|
||||
first_layer_infill_speed
|
||||
first_layer_speed
|
||||
first_layer_speed_over_raft
|
||||
first_layer_temperature
|
||||
full_fan_speed_layer
|
||||
gcode_comments
|
||||
gcode_flavor
|
||||
gcode_label_objects
|
||||
gcode_resolution
|
||||
gcode_substitutions
|
||||
high_current_on_filament_swap
|
||||
infill_acceleration
|
||||
infill_first
|
||||
after_layer_gcode
|
||||
layer_gcode
|
||||
max_fan_speed
|
||||
max_layer_height
|
||||
max_print_height
|
||||
max_print_speed
|
||||
max_volumetric_extrusion_rate_slope_negative
|
||||
max_volumetric_extrusion_rate_slope_positive
|
||||
max_volumetric_speed
|
||||
min_fan_speed
|
||||
min_layer_height
|
||||
min_print_speed
|
||||
min_skirt_length
|
||||
multimaterial_purging
|
||||
notes
|
||||
nozzle_diameter
|
||||
nozzle_high_flow
|
||||
only_retract_when_crossing_perimeters
|
||||
ooze_prevention
|
||||
output_filename_format
|
||||
overhang_fan_speed_0
|
||||
overhang_fan_speed_1
|
||||
overhang_fan_speed_2
|
||||
overhang_fan_speed_3
|
||||
parking_pos_retraction
|
||||
pause_print_gcode
|
||||
perimeter_acceleration
|
||||
post_process
|
||||
prefer_clockwise_movements
|
||||
preset_name
|
||||
preset_names
|
||||
printer_model
|
||||
printer_notes
|
||||
printer_technology
|
||||
printer_variant
|
||||
remaining_times
|
||||
resolution
|
||||
retract_before_travel
|
||||
retract_before_wipe
|
||||
retract_layer_change
|
||||
retract_length
|
||||
retract_length_toolchange
|
||||
retract_lift
|
||||
retract_lift_above
|
||||
retract_lift_below
|
||||
retract_restart_extra
|
||||
retract_restart_extra_toolchange
|
||||
retract_speed
|
||||
seam_gap_distance
|
||||
silent_mode
|
||||
single_extruder_multi_material
|
||||
single_extruder_multi_material_priming
|
||||
skirt_distance
|
||||
skirt_height
|
||||
skirts
|
||||
slowdown_below_layer_time
|
||||
solid_infill_acceleration
|
||||
solid_layers
|
||||
solid_min_thickness
|
||||
spiral_vase
|
||||
staggered_inner_seams
|
||||
standby_temperature_delta
|
||||
start_filament_gcode
|
||||
start_gcode
|
||||
temperature
|
||||
template_custom_gcode
|
||||
thumbnails
|
||||
thumbnails_format
|
||||
toolchange_gcode
|
||||
top_solid_infill_acceleration
|
||||
travel_acceleration
|
||||
travel_lift_before_obstacle
|
||||
travel_max_lift
|
||||
travel_ramping_lift
|
||||
travel_short_distance_acceleration
|
||||
travel_slope
|
||||
travel_speed
|
||||
travel_speed_z
|
||||
use_firmware_retraction
|
||||
use_relative_e_distances
|
||||
use_volumetric_e
|
||||
variable_layer_height
|
||||
wipe
|
||||
wipe_tower
|
||||
wipe_tower_acceleration
|
||||
wipe_tower_bridging
|
||||
wipe_tower_brim_width
|
||||
wipe_tower_cone_angle
|
||||
wipe_tower_extra_flow
|
||||
wipe_tower_extra_spacing
|
||||
wipe_tower_no_sparse_layers
|
||||
wipe_tower_width
|
||||
wiping_volumes_matrix
|
||||
wiping_volumes_use_custom_matrix
|
||||
z_offset
|
||||
bridge_flow_ratio
|
||||
elefant_foot_compensation
|
||||
infill_anchor
|
||||
infill_anchor_max
|
||||
infill_overlap
|
||||
interlocking_beam
|
||||
interlocking_beam_layer_count
|
||||
interlocking_beam_width
|
||||
interlocking_boundary_avoidance
|
||||
interlocking_depth
|
||||
interlocking_orientation
|
||||
min_bead_width
|
||||
min_feature_size
|
||||
mmu_segmented_region_interlocking_depth
|
||||
mmu_segmented_region_max_width
|
||||
slice_closing_radius
|
||||
slicing_mode
|
||||
wall_distribution_count
|
||||
wall_transition_angle
|
||||
wall_transition_filter_deviation
|
||||
wall_transition_length
|
||||
xy_size_compensation
|
||||
bed_temperature_extruder
|
||||
extruder
|
||||
infill_extruder
|
||||
perimeter_extruder
|
||||
solid_infill_extruder
|
||||
support_material_extruder
|
||||
support_material_interface_extruder
|
||||
wipe_tower_extruder
|
||||
automatic_extrusion_widths
|
||||
external_perimeter_extrusion_width
|
||||
extrusion_width
|
||||
first_layer_extrusion_width
|
||||
infill_extrusion_width
|
||||
perimeter_extrusion_width
|
||||
solid_infill_extrusion_width
|
||||
support_material_extrusion_width
|
||||
top_infill_extrusion_width
|
||||
fuzzy_skin
|
||||
fuzzy_skin_point_dist
|
||||
fuzzy_skin_thickness
|
||||
automatic_infill_combination
|
||||
automatic_infill_combination_max_layer_height
|
||||
bottom_fill_pattern
|
||||
external_fill_pattern
|
||||
solid_fill_pattern
|
||||
bridge_angle
|
||||
fill_angle
|
||||
fill_density
|
||||
fill_pattern
|
||||
infill_every_layers
|
||||
solid_infill_below_area
|
||||
solid_infill_every_layers
|
||||
top_fill_pattern
|
||||
external_fill_pattern
|
||||
solid_fill_pattern
|
||||
ironing
|
||||
ironing_flowrate
|
||||
ironing_spacing
|
||||
ironing_type
|
||||
avoid_crossing_perimeters_max_detour
|
||||
bottom_solid_layers
|
||||
bottom_solid_min_thickness
|
||||
ensure_vertical_shell_thickness
|
||||
external_perimeters_first
|
||||
extra_perimeters
|
||||
extra_perimeters_on_overhangs
|
||||
first_layer_height
|
||||
gap_fill_enabled
|
||||
interface_shells
|
||||
layer_height
|
||||
only_one_perimeter_first_layer
|
||||
overhangs
|
||||
perimeter_generator
|
||||
perimeters
|
||||
scarf_seam_entire_loop
|
||||
scarf_seam_length
|
||||
scarf_seam_max_segment_length
|
||||
scarf_seam_on_inner_perimeters
|
||||
scarf_seam_only_on_smooth
|
||||
scarf_seam_placement
|
||||
scarf_seam_start_height
|
||||
seam_position
|
||||
thick_bridges
|
||||
thin_walls
|
||||
top_one_perimeter_type
|
||||
top_solid_layers
|
||||
top_solid_min_thickness
|
||||
machine_limits_usage
|
||||
machine_max_acceleration_e
|
||||
machine_max_acceleration_extruding
|
||||
machine_max_acceleration_retracting
|
||||
machine_max_acceleration_travel
|
||||
machine_max_acceleration_x
|
||||
machine_max_acceleration_y
|
||||
machine_max_acceleration_z
|
||||
machine_max_feedrate_e
|
||||
machine_max_feedrate_x
|
||||
machine_max_feedrate_y
|
||||
machine_max_feedrate_z
|
||||
machine_max_jerk_e
|
||||
machine_max_jerk_x
|
||||
machine_max_jerk_y
|
||||
machine_max_jerk_z
|
||||
machine_max_junction_deviation
|
||||
machine_min_extruding_rate
|
||||
machine_min_travel_rate
|
||||
brim_separation
|
||||
brim_type
|
||||
brim_width
|
||||
bridge_speed
|
||||
enable_dynamic_overhang_speeds
|
||||
external_perimeter_speed
|
||||
gap_fill_speed
|
||||
infill_speed
|
||||
ironing_speed
|
||||
over_bridge_speed
|
||||
overhang_speed_0
|
||||
overhang_speed_1
|
||||
overhang_speed_2
|
||||
overhang_speed_3
|
||||
perimeter_speed
|
||||
small_perimeter_speed
|
||||
solid_infill_speed
|
||||
top_solid_infill_speed
|
||||
dont_support_bridges
|
||||
raft_contact_distance
|
||||
raft_expansion
|
||||
raft_first_layer_density
|
||||
raft_first_layer_expansion
|
||||
raft_layers
|
||||
support_material
|
||||
support_material_angle
|
||||
support_material_auto
|
||||
support_material_bottom_contact_distance
|
||||
support_material_bottom_interface_layers
|
||||
support_material_buildplate_only
|
||||
support_material_closing_radius
|
||||
support_material_contact_distance
|
||||
support_material_enforce_layers
|
||||
support_material_interface_contact_loops
|
||||
support_material_interface_layers
|
||||
support_material_interface_pattern
|
||||
support_material_interface_spacing
|
||||
support_material_interface_speed
|
||||
support_material_pattern
|
||||
support_material_spacing
|
||||
support_material_speed
|
||||
support_material_style
|
||||
support_material_synchronize_layers
|
||||
support_material_threshold
|
||||
support_material_with_sheath
|
||||
support_material_xy_spacing
|
||||
support_tree_angle
|
||||
support_tree_angle_slow
|
||||
support_tree_branch_diameter
|
||||
support_tree_branch_diameter_angle
|
||||
support_tree_branch_diameter_double_wall
|
||||
support_tree_branch_distance
|
||||
support_tree_tip_diameter
|
||||
support_tree_top_rate
|
||||
wipe_into_infill
|
||||
wipe_into_objects
|
||||
idle_temperature
|
||||
Reference in New Issue
Block a user