Release details

Feature list

  • Integration of the VTK GPU ray caster into the Volume Rendering module.
  • High speed performance
  • Flexibility to support a wide range of graphic card performances
  • Interactive Framerate


VTK GPU RayCasting runs in a degraded mode to support 20fps when interacting with the view

2 modes of rendering: Composite and Maximum Intensity Projection


VTK GPU RayCasting in Composite mode


VTK GPU RayCasting in Maximum Intensity Projection mode

Support scalar mapping: Opacity and Color


VTK GPU RayCasting with Custom Scalar mapping

Clipping


VTK GPU RayCasting with clipping

Frame/Z-buffer aware (do not hide other objects in the scene)


VTK GPU RayCasting within a scene

View menu

View->Manage Extensions:

This Extensions Management Wizard provides status and information about available extensions for 3.6

View->Cache & RemoteIO Manager:

The Cache and Remote Data Handling interface provides status and information about all remote data transfers, and allows some control over the local cache. Remote I/O and Cache preferences can also be set in the Application Settings Interface, described next. Whether you set preferences here or there, they are saved in the Application Registry so that your settings are preserved each time you start up the Slicer Application.

The pop-up interface is shown below. Checkbuttons at the top left provide choices about download and caching behavior, and the cache directory, cache size limit, and cache free space buffer can be set at the interface bottom. Icon buttons at the top right allow global operations on all data transfers (cache clearing and transfer cancellation) and display updates (transfer panel cleanup and cache report refreshing). Each data transfer is listed in the transfer panel along with some information about its type and status.

Below, all of the Cache & Remote Data I/O Manager icons are listed and described:

View->Application Settings Interface:

The Application Settings interface provides options for saving many of Slicer’s Interface and Remote Data Handling options to the Application Registry, so they are preserved across sessions. The first time you start the application, it is recommended that you browse these settings and select options that you prefer. Some of the options provided in the interface are listed below:

  • Slicer Settings allow you to specify whether Slicer should confirm on delete, and set the location for other applications that Slicer may need to use (Firefox, Zip, etc.).
  • Font Settings options allows you to choose among several fonts and relative font sizes to be displayed in the GUI.
  • Module Settings options allow you to select a Temporary directory, a home module (that will be displayed each time Slicer starts up) and whether Slicer should include loadable and command-line modules on startup.
  • Remote Data Handling Settings options allow the specification of Cache and Remote Data I/O settings which are also configurable from the Cache and Remote Data I/O Manager described above.

Возможности Cura 3D

  • Импорт файлов в форматах STL и OBJ;
  • Функции уменьшения и увеличения объектов;
  • Использует технологию перемещения по слоям;
  • Тонкие настройки параметров принтера 3D Print;
  • Выбор используемого порта при подключении к ПК;
  • Всплывающие подсказки после первого запуска Cura;
  • Экспорт файла вашей модели в текстовый документ или .gcode;
  • Возможность расширения опций при помощи специальных плагинов;
  • Быстрое переключение между режимами просмотра объектов в 3D виде;
  • Автообновления софта от официального сайта компании Ultimaker Extended.
  • Регулировка траектории движения печатающей головки и скорости подачи материала;
  • Cura позволяет настроить скорость печати, количество материала  температуру печати и другие параметры, необходимые для оптимизации качества и материальных затрат.

Преимущества

  • Русский язык интерфейса;
  • Удобная панель инструментов;
  • Ручная регулировка рабочей области;
  • Самостоятельное редактирование Г-кода;
  • Быстрое подключение нового принтера;
  • Высокое качество и скорость 3D печати моделей;
  • Готовые шаблоны с правильными настройками материалов;
  • Обладает открытым исходным кодом (Open Source Code);
  • Исправление ошибок в типе G-кода, вызванных сторонними плагинами;
  • Поддерживает форматы OBJ, STL и 3MF от разных приложений для 3D моделирования;
  • Совместимость новой версии программы Cura 3D Printing Software c Winsows, Linux и Mac OS.

Недостатки

Developer Documentation

Introduction to Slicer3 Key People
Getting the software and troubleshooting
Overall Architecture and Slicer 3 Coding Style
Contributing codes to Slicer3
Three module types (Command line, Loadable, Scriptable) Key People
Integrating with the 3D Slicer Jim and Steve
Command line modules and how to implement one and Tutorial Jim
Key People
Alex
Alex
Alex
GUI Key People
Adding keyboard shortcuts Wendy
GUI style guidelines (undergoing change for move to Qt) Wendy
Wendy
3DSlicer’s logo and visual communication guidelines Wendy
Jim
Some experiments/advanced techniques for developing slicer3 interfaces Steve
Engineering Key People
Tips for avoiding memory leaks: Current Practice Steve
Tips for avoiding memory leaks: Suggested change to SmartPointers Jim
Generating tests Bill
Setting up Testing
Build Information
The Launcher
Documenting your moduleInfrastructure has been added to link to wiki pages from the «Help & Acknowledgment» panel in your module’s GUI. We ask developers to fill out a brief document describing your module and its use. Key People
Documenting a module with wink
Integrate Slicer3 into a development environment Key People
Original Eclipse Michael Keilhack
Revised Eclipse Instructions Curtis Lisle
Debugging Slicer with Eclipse Instructions Curtis Lisle
Microsoft Visual Studio 200x

Версия 4.1.0

Добавлен новый скрипт постпроцессинга Insert at Layer change. Он позволяет добавить свой G-code до или после смены слоя. Данный скрипт, как и другие, находится в меню Extensions → Post Processing → Modify G-code (. Скрипт оказался жутко бестолковым. G-код для вставки должен быть введен в одну строку, и эта строка будет вставлена, как есть. Никакими ухищрениями типа регулярных выражений и эскейп-символов мне не удалось заставить скрипт превратить строку, содержащую несколько команд, в несколько отдельных строк. То есть, по сути, скрипт можно использовать чтобы вставить между слоями только одну команду. Очень сомнительная польза. Этого ограничения, кстати, нет у другого скрипта, который называется Search and Replace, но о нем я расскажу как-нибудь в другой раз.

Добавили настройку Prime tower brim (Кайма черновой башни), добавляет кайму для черновой башни на мультиэкструдерных конфигурациях. Работает по аналогичному принципу с вышеупомянутой настройкой Support Brim, помогает увеличить адгезию черновой башни к столу.

Довольно важная настройка — Maximum deviation (Максимальное отклонение). Эта настройка вообще была и раньше, но была скрыта в коде и жестко приравнена к значению настройки Maximum Resolution (Максимальное разрешение), деленному на 2. Теперь же значение этого параметра можно задать вручную. Настройка Maximum Deviation задает максимальное отклонение в мм для сгенерированных слайсером траекторий относительно исходной модели. Настройка Maximum Resolution задает минимальную длину сегмента траектории, сегменты меньшей длины Cura будет генерировать только в том случае, если нарушается требование настройки Maximum Deviation.

Updating Your getbuildtest Build

There are a few options:

  • you can re-run getbuildtest and it will update slicer3 and rebuild (just slicer3)
  • you can add the —update option and all the libs will get a cvs/svn update and will rebuild if needed (good for tracking the development head of VTK/ITK/KWWidgets etc).
  • you can just ‘svn update’ in the Slicer3 directory and then do ‘make’ in the Slicer3-build to get just the latest Slicer3 code.

The following command for unix machines will update, build, and launch the latest Slicer3:

svn update && (cd ../Slicer3-build; make && ./bin/Slicer3)

Note that on Windows you can also use the CMakeSetup.exe interface to CMake and then use Microsoft Visual Studio for debugging. You can use a command like the following in a cygwin shell to use the slicer launcher to start up visual studio with the correct environment to find the .dll files needed for debugging.

./Slicer3.exe --launch c:/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE/devenv.exe --detach Slicer3.sln

Support in Slicer 3.4

Development in the slicer3 trunk through early August 2009 has led to a version that works well and is being migrated to the 3.4 release branch for use in patch version 3.4.1. Fixes from the following files are being migrated:

  • Applications/GUI/Slicer3.{cxx,xml}
  • Base/GUI/vtkSlicerApplication.{h,cxx}
  • Base/GUI/vtkSlicerApplicationSettingsInterface.{h,cxx}
  • Base/GUI/vtkSlicerModulesWizardDialog.{h,cxx}
  • Base/GUI/vtkSlicerModulesStep.{h,cxx}
  • Base/GUI/vtkSlicerModulesConfigurationStep.{h,cxx}
  • Scripts/extend.tcl
  • launch.tcl.in

FOR DEVELOPERS

Extensions must follow the appropriate architecture and must meet minimum documentation requirements for them to be made available to end users. See Slicer3:Loadable_Modules for an example of how to make GUI and GUI-less Loadable Modules. Command Line and Scripted Modules will also work with this framework.

You can choose the version of your code that you want to make available to end users by having the Subversion repository URL in the s3ext script point to either the trunk of your code base or to a stable branch.

Once your code compiles successfully on all of the standard platforms (win32, OsX, linux 32 and linux 64) you can choose to talk to Katie Hayes to make your extension available through the extension wizard in Slicer3.

To enable your Command Line, Scripted, or Loadable module, add an «s3ext» script to the Slicer3/Extensions directory of the Slicer3 source repository.

 Slicer3/Extensions/MyModule.s3ext

Building Locally

The source code manager parameter in the .s3ext file will point to a repository where a top level CMakeLists.txt file is checked out as well as your source code. The CMakeLists.txt file can use External_Project CMake command to check out additional code from other repositories if necessary. As you’re developing your extension module, you can build it by running the extend.tcl script:

 cd Slicer3/Scripts
 ./extend.tcl MyModule

On Windows, make sure that you set the project name in the top level CMakeLists.txt file to MyModule as otherwise extend.tcl will not find the MyModule.sln file to build.

The extend script will create

 Slicer3-ext/MyModule

and check out your code into that directory. It will then delete any old versions of these directories and create them fresh:

 Slicer3-ext/MyModule-build
 Slicer3-ext/MyModule-install

At the top level you can use ${CMAKE_CURRENT_BINARY_DIR} or ${MyModule_BINARY_DIR} to refer to the MyModule-build directory and ${CMAKE_INSTALL_PREFIX} to refer to the MyModule-install/lib/Slicer3 directory during the install step. Files placed in the ${CMAKE_INSTALL_PREFIX} directory will be zipped up by the extend.tcl script and uploaded to the extension server under the current svn revision number of Slicer3.

Test inegration of your extension by downloading and installing your module from the extension server. The archive will be expanded in the designated extensions installation directory, so it must contain everything needed to run your module.

For testing a command line module, at a minimum use the CMake command add_test to test the —xml argument:

 add_test(MyModule_TEST_XML ${CMAKE_INSTALL_PREFIX}/lib/Slicer3/MyModule --xml)

Run the test with the following:

 cd Slicer3-ext/MyModule-build
 ctest -R MyModule_TEST_XML -VV

Версия 3.6.0

Данная версия длительное время оставалась основной для большинства печатников. Она очень стабильно работала с самого начала, к ней даже багфикс не выпускали, и многие долго не хотели обновляться с нее на Cura 4, а некоторые и до сих пор ей пользуются.

Первое, что бросается в глаза, это конечно Gyroid Infill, гироидное заполнение. Очень интересный шаблон заполнения, которой уже был в других слайсерах, но в Cura появился только в этой версии. Данный шаблон относится к трехмерным и должен обеспечивать более равномерную прочность модели. Печатается он при этом довольно быстро, несмотря на хитрую извилистую форму – сказывается отсутствие углов, как например в том же гексагональном заполнении. За счет того, что шаблон трехмерный, на просвет в напечатанном изделии его не видно. Главный минус по сравнению с обычными шаблонами типа Lines и Grid – некоторая неравномерность расстояния между линиями, из-за чего первый слой крышки может хуже ложиться, так что лучше добавить дополнительный слой, а то и пару, по сравнению с обычными шаблонами.

Еще одна крутая настройка — Enable support brim (Разрешить кайму поддержек). Как и следует из названия, она добавляет Brim, то есть кайму, под поддержки. Настройка Support Brim Width (Ширина каймы поддержки) задает ширину этой каймы. Позволяет существенно улучшить адгезию поддержек к столу, особенно в комбинации с упомянутой ранее настройкой Initial layer support line distance.

Версия 4.3.0

Нововведений не так много, но все они весьма интересные.

Во-первых, наконец добавили функцию Align faces to the build plate, которая уже пару лет как есть в других слайсерах. Данная функция, расположенная в панели инструмента Rotate, позволяет ориентировать модель к столу произвольной гранью. Выбираем инструмент, щелкаем по нужной нам грани в модели, модель поворачивается этой гранью вниз и опускается до упора. Причем упереться она может не обязательно этой гранью, а любой другой точкой модели, то есть под стол модель Cura не задвинет.

Во-вторых, появилась настройка Print small features slower. На самом деле, это 4 настройки, расположенные в разделе Experimental. Small Hole Max Size (Максимальный размер малого отверстия) задает диаметр условных отверстий и контуров деталей, меньше которого они будут считаться мелкими элементами. Small Feature Max Length (Максимальная длина малого элемента) – то же самое, но задает максимальную длину линии этих мелких элементов, по умолчанию равно длине окружности с диаметром Small Hole Max Size. Small Feature Speed (Скорость для малых элементов) – процент, до которого будет снижаться скорость печати мелких элементов, First Layer Speed (Скорость первого слоя) – то же самое, но для первого слоя. Этот функционал позволяет существенно улучшить качество печати мелких элементов моделей, а также улучшить адгезию небольших периметров, например букв или отверстий, на первом слое. Да, конечно раньше была настройка Minimum layer time (Минимальное время слоя), которая позволяла замедлить печать слоев с малой площадью, чтобы дать им время на остывание, но вот если помимо мелких элементов в слое присутствовали крупные, или мелких элементов было много, так что суммарно слой печатался долго, то мелкие элементы все равно печатались слишком быстро, что сказывалось на качестве не лучшим образом.


Первым, кто протестировал эти функции в нашем телеграм-чате стал @Ilya Din. Прекрасно видно, насколько выше качество печати мелких элементов модели – гаечного ключа и отвертки – со включенным режимом Print small features slower.

В этой версии настройки шва снова не обошли стороной и добавили параметр Z Seam Position (Позиция Z шва). Это выпадающий список, в котором можно выбрать одно из стандартных положений шва, если включен режим User Specified для Z Seam Alignment. Работает элементарно – при выборе желаемого положения автоматически заполняются значения настроек Z seam X и Z seam Y. Значения вносятся на основе размеров стола, поэтому при включении опции Z seam relative, которая считает координаты относительно центра модели, все работает не очень корректно. Для новичков функция удобная, а бывалые пользователи настраивают шов даже не задумываясь.

Новые настройки Support infill line directions (Направление линии заполнения поддержек) и Support interface line directions (Направления линии связующего слоя поддержек) позволяют задать углы для шаблонов поддержек и интерфейса поддержек. Работают аналогично настройкам Infill line directions (Направления линии заполнения) и Top/bottom line directions (Направление линии дна/крышки). Задаем список углов, на каждом слое поддержки или интерфейс поддержек рисуются поочерёдно под углами, указанными в списке. Функция полезная и интересная, особенно что касается интерфейса, позволяет лучше ориентировать интерфейс относительно поддержек или относительно печатающейся на нем части модели, чтобы уменьшить провисания. Рекомендую поиграть на досуге с этими параметрами.

Ну и последняя маленькая настроечка — Randomize infill start (Рандомизация начала заполнения). Позволяет на каждом слое начинать печать заполнения в новом месте. Может служить в качестве костыля для исправления косяка, когда самое начало заполнения на слое печатается с недоэкструзией – недоэкструзия будет каждый слой в новом месте и в целом в заполнении не будет дырки.

Ну что же, на сегодня это все. Надеюсь, вы узнали для себя что-то новое и полезное. По мере выхода новых версий я буду стараться выпускать статьи и по ним тоже.

До новый встреч, коллеги!

Errors from getbuildtest

You will need to have your firewall configured to allow access to cvs servers through port 2401. Also you need 8081 for submitting to the dashboard.

Other errors might mean you don’t have all the build tools (see next section).

If you want to generate a log of the build process, you can use a command like the following:

# for csh/tcsh:
./Scripts/getbuildtest.tcl |& tee build.log

or

# for sh/bash:
./Scripts/getbuildtest.tcl 2>&1 | tee build.log

Windows: visual studio build messages do not go to stdout/stderr, but each build directory in Slicer3-lib will have a buildlog.txt file with the details.

Slicer3 and Python

Enabling Python in the Slicer Build

  1. Edit slicer_variables.tcl
    1. Change «set ::USE_PYTHON «off»» to «on»
  2. Optional: If you prefer to use your system Python installation, change set ::USE_SYSTEM_PYTHON «false» to «true»

    1. This will give an error under Linux and Windows, but it can be easily fixed by adding the system path for Python, just search for «if { $::USE_SYSTEM_PYTHON } {«
  3. Optional: installing SciPy

    1. Unzip the egg in any directory that is part of Slicer’s Python path, eg Slicer3-build/lib/Slicer3/Plugins
    2. SciPy should now be available in Slicer’s Python interpreter

Build Slicer3 using «getbuildtest.tcl», i.e.:

Macintosh:Slicer3 blezek$ Scripts/getbuildtest.tcl

A new menu command Python Interpreter should appear on the Window menu.

This command should bring up the Python Console window.

Using System Python Libraries with Slicer’s python

import sys
d = '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/'
packages = 
for p in packages:
  sys.path.append(d+p)

Features

Change normal support vs. tree support into a drop-down. There is now the option of easily switching between normal and tree support.

Search through setting descriptions. Upon every search in the Custom settings the results which are now returned include all the matches found in both the setting names and the setting description, settings are now easier to find.

Support Stair Step Minimum Slope Angle. With this setting you can disable stair stepping on the very bottom of the support, up until the slope of the model has a certain angle.

Add local printer improvements. Whenever the user wants to add a non-networked printer it is now easier to distinguish the scrollbar and some more information regarding the selected printer in our new redesigned layout. Have a look yourself! Brought to us by fieldOfView.

Add “Multiply model” to Edit menu. The option is now also accessible in the Edit menu and not only in the context menu (right-click).

Show all while searching per object settings. For more ease-of-use, the behavior has been changed so that all settings are visible temporarily, even if initial were hidden.

Check for account updates manually. A check for update/sync/refresh button was added near the account so that the user can manually check for updates and start the syncing package flow or have cloud printers added in Cura.

Always select last write-device. fieldOfView’s PR adds a preference to remember which last used device was chosen (print/save to file/save to usb/etc.).

Add preference for single instance. If enabled, only one instance of Cura will be started at a time. Contributed by fieldOfView.

Improved sync with the Ultimaker Marketplace. Profile picture and links to the digital factory have been improved in the account dropdown.

Add option to sign in with another account while looking for cloud printers. The «Sign In with a different account» link logs the user off both from Cura and the browser, so that they can sign in with another account. In case the other account has extra cloud printers, then these printers are added to Cura and are available for use.

Show warning in printer management page that it will be added with removal. When removing a connected printer, a message pops up to inform the user that the printer will be re-added in the next sync.

Show cloud connection not available. We now display an offline icon when losing connection to a cloud printer.

Show notification when printer is removed from account. We show a notification when the printer is removed from the account. You can either go to the account page to restore access or remove it from Cura. In order to establish a new connection, the user is directed to the Digital Factory.

Add an offline printer, linked to an account, to Cura. Currently not online printers will also be added to the list even if they are temporary offline, the only actions available will be printing via USB and Save to file.

Adjust initial layer horizontal expansion to compensate for elephant’s foot. We adjusted the initial layer horizontal expansion for some profiles. This compensates for Elephant’s Foot, a small defect where the bottom of the print has a little ridge where it is molten to the build plate.

Allow a g-code to be inserted before or after pausing. It allows the user to enter a custom g-code before and after a pause at height. Contributed by rodrigosclosa.

Remove ‘ratings’ feature. The packages rating has been removed from the Marketplace.

Remove extra skin wall count in concentric. Hide «Extra Skin Wall Count» if a concentric pattern is used.

Pause at Height with more than 1 redo layer collides with model. The «Redo layers» is now a checkbox that allows only one layer to be redone, to prevent hitting the model with the nozzle.

Change at Z improvements. Added support for changing Retract Length and Speed and fixed an issue when multiple changes are stacked on top of each other. Contributed by novamxd.

Add post-processing script display progress on LCD. The «Display Progress On LCD» post-processing script shows the time left and the percentage on their LCD screen. Contributed by Bostwickenator.

Unify Pause at Height script. fieldOfView has combined all Pause at Height scripts into one. It ensures that all flavors have the same options available.

Remove spaghetti infill. The setting was rarely used, and didn’t work well.

Slicer 4.0.0 gamma

  • Note: gamma for developers.
  • Slicer 4.0.0 gamma-RC2 (2011/06/20)
    • Archived repositories:
      • Svn:
  • Slicer 4.0.0 gamma-RC1 (2011/06/13)
    • svn
  • Contributors
$ git shortlog -s -n 400betaRC2..400gammaRC2
  571  jcfr
  301  finetjul
  165  naucoin
   78  pieper
   67  alexy
   37  haehn
   37  fedorov
   35  lorensen
   19  harveerar
   13  partyd
    8  millerjv
    6  dpace
    5  domibel
    4  zach.mullen
    4  demian
    4  inorton
    4  matthew.bowman
    4  mscully
    3  hjohnson
    1  francois_budin

Impact

$ git diff --stat 400betaRC2 400gammaRC2
2617 files changed, 109115 insertions(+), 357477 deletions(-)
    • Known issues
  • New features
    • Modules
      • Support for «Command Line Executables»
      • (New)
      • (New)
      • Volumes
        • .
        • Control over the slider range when editing Window/Level.
      • Data
      • Annotations
    • Application
      • Dynamic Layouts
    • Misc.
      • CMake configuration template for building extensions
      • Mac Bundle
      • Python testing
  • What is missing?
    • Speed improvement
    • Status report
    • «Compare Views»
    • UI for DICOM loading
    • Reformat widget
    • Crosshair widget
    • Slice intersections
    • Volume Rendering presets
    • More annotation types

FAQ

What do I gain from the switch to Qt?

  • Performance, performance, performance.
  • Community, Community, Community!
  • Better support for integration on the different platforms (e.g. no need for X11 on Mac)
  • Webkit will allow better integration of webcontent

Didn’t we just make a big change from Slicer2 to Slicer3 just a few years ago? Why should we change again?

Constant re-invention is the nature of research. Slicer3 has served us very well, and we expect the 3.6 release to be stable and in-use for several years. Where the transition from 2->3 was about an 80% rewrite, the transition from 3->4 is expected to be concentrated primarily on the GUI.

Oh no, not another source code repository. What’s wrong with svn and why should we use git?

  • Similar to Qt, git has become a widely adopted standard. It is used for CMake and now for VTK.

I like Tcl — why emphasize python?

This is another de facto standard, just like Qt and git — there’s a lot of activity that we’d like to leverage like NiPy. In a lot of ways, our experience with slicer3 has been that tcl and python are really very similar. The way python is integrated in slicer3 proves that the two languages can co-exist and both can fill the need for runtime programmability.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector