Cura проецирование плавающей печати на сборную пластину во время нарезки

Я пытаюсь сделать многофиламентную печать на своем принтере с одним экструдером. Поэтому я выделил модели, основанные на нити филамента, и импортировал детали в Cura. Я позаботился о том, чтобы "Автоматически сбрасывать модели для сборки пластины" было отключено и на этапе "Подготовки" это, похоже, сработало. Однако, когда я разрезаю модель, она отталкивается назад к сборке пластины, как это видно на рисунке ниже. Какие-нибудь рекомендации? Нужно ли просто написать сценарий, чтобы войти и изменить местоположение z?

Preview

, 👍3


1 ответ


Лучший ответ:

2

Я долго играл с этим и придумал решение, поэтому решил поделиться им на случай, если у кого-то еще возникнет такая проблема в будущем. В Ultimaker Cura я включил опоры и z-hopping перед тем, как разрезать деталь, а затем запустил эту функцию Python, чтобы удалить опоры и настроить экструдер.

import re

def float_part(file):
    printString = ';LAYER:'
    partString = ';(.*?).stl'

    with open( file , 'r') as content_file:
        content = content_file.read()

    printArea = re.search( printString , content ).span(0)[0]
    partArea = re.search( partString , content ).span(0)[0]


    uncommentedLine = partArea - re.search( '\n.*?(?<!;)\n' , content[ partArea:printArea:-1 ] ).span(0)[0]

    lastExtrusion = uncommentedLine - re.search( 'E' , content[ uncommentedLine:printArea:-1 ] ).span(0)[0]
    secondLastExtrusion = lastExtrusion - re.search( 'E' , content[ lastExtrusion-1:printArea:-1 ] ).span(0)[0]

    lastExtrusionAmount = float(re.search( '\d+(\.\d+)?', content[lastExtrusion:] ).group(0))
    secondLastExtrusionAmount = float(re.search( '\d+(\.\d+)?', content[secondLastExtrusion:] ).group(0))

    ResetCommand = '\nG92 E' + str(lastExtrusionAmount) + '\n'

    with open( file , 'w') as content_file:
        content_file.write( content[0:printArea] + ResetCommand + content[uncommentedLine:] )

Elevated part


,