nickita startcev (nicka_startcev) wrote,
nickita startcev
nicka_startcev

компилятырь

кривой вопрос. куда смотреть, что читать, что на самом деле мне нужно и как это выразить в терминах нужной мне матчасти.

есть исходный файл - некий субсет команд опенскада, файл опенскада, но в котором не применялись особо хитрые конструкции.

пример файла:

translate([34,13,0]) rotate([0,0,0]) scale(1) import("Aquila_02_b.stl");
translate([34,60,0]) rotate([0,0,0]) scale(1) import("Mechanicus_00.stl");
translate([85,20,0]) rotate([0,0,90]) scale(1) import("simple_v4.stl");
translate([0,90,0]) rotate([0,0,0]) scale(1) import("step_03.stl");


суть: экспортируем внешний файл, масштабируем, вращаем, двигаем (в общем случае эти операторы применяются в любом порядке), все сущности верхнего уровня объединяются.

чего хочется.

есть пачка утилит, которые двигают, вращают один файл, склеивают два файла в один. хочу как-то автоматически генерировать по входному опенскаду скрипт, который тупо проделает ту же композицию операторов, сам создаст имена временных результатов, сам в конце удалит временные результаты.

что читать про совсем теорию, что читать про полупрактику, что читать про тамагочение того, что помянуто в полупрактике чтоб понять, как именно это применить мне.

как я понимаю, задача примерно эквивалентна задаче преобразования "y=a*x^3+b*x^2+c*x+d" в последовательность умножений-сложений и выделений временных регистров под результаты, с последующей приборкой мусора.
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments