Вопросы и ответы Oslo
Файлы .hpg и OSLO
Вопрос
Я пытаюсь преобразовать выходной файл *.hpg (графический файл Hewlett Packard) в файл PostScript. Раньше это можно было успешно сделать с помощью команды hp2ps. С тех пор поменялось много людей, которые здесь контролируют рабочие станции Unix, и программа была потеряна. Недавно они установили версию, которая вызывает программу Alun Jones DrawHPGL. Проблема в том, что она генерирует ошибки. В частности, пятна на точечных диаграммах не отображаются. Меня интересует версия hp2ps, которая поддерживает все выходные данные Oslo.
Краткое содержание
Файлы .hpg и OSLO
Решение
Я нашел несколько ссылок на программу hp2ps. Вы можете найти копию программы по ссылке http://www.idiom.com/free-compilers/TOOL/HPGL-1.html и в других источниках.
ДОПОЛНЕНИЕ 13 АВГУСТА 2008
Доступ к базе данных каталогов линз в файле параметров линз
Вопрос
Как вставить линзу из каталога в мой файл параметров линзы OSLO?
Краткое содержание
Доступ к базе данных каталогов линз в файле параметров линз
Решение
Чтобы вставить линзу из базы данных каталогов в существующий файл:
- В электронной таблице параметров поверхности щелкните правой кнопкой мыши на сером поле номера поверхности, куда вы хотите вставить линзу из каталога
- Выберите Insert Catalog Lens… (Вставить линзу из каталога…) из появившегося всплывающего списка
- В появившемся диалоговом окне Catalog Lens Database (База данных каталогов линз) можно щелкнуть поле Catalog (Каталог), чтобы просмотреть список доступных каталогов
- Вы можете использовать кнопки Lens Types (Тип линзы) и Sort By (Сортировка по) для помощи в поиске линзы
- После того как нужная линза найдена, нажмите зеленую галочку в верхнем левом углу диалогового окна, чтобы сделать выбор
Доступ к базе данных каталогов линз для применения новой линзы
Вопрос
Как получить доступ к базе данных каталогов линз для применения новой линзы в OSLO?
Краткое содержание
Доступ к базе данных каталогов линз для применения новой линзы
Решение
Чтобы получить доступ к базе данных каталогов линз для применения новой линзы в OSLO
Выберите File>>New Lens… (Файл>>Новая линза) в меню OSLO
- Нажмите кнопку Catalog Lens (Линза каталога), а затем нажмите ОК в появившемся диалоговом окне.
- В появившемся диалоговом окне Catalog Lens Database (База данных каталогов линз) можно щелкнуть поле Catalog (Каталог), чтобы просмотреть список доступных каталогов
- Вы можете использовать кнопки Lens Types (Тип линзы) и Sort By (Сортировка по) для помощи в поиске линзы
- После того как нужная линза найдена, нажмите зеленую галочку в верхнем левом углу диалогового окна, чтобы сделать выбор
Доступ к буферу электронной таблицы OSLO
Вопрос
Я слышал, что могу повторно использовать данные из буфера электронной таблицы OSLO в своих собственных макрокомандах CCL. Но я не знаю, что такое буфер электронной таблицы. Как получить доступ к буферу электронной таблицы?
Краткое содержание
Доступ к буферу электронной таблицы OSLO
Решение
Всякий раз, когда вы выполняете анализ в OSLO, который приводит к выводу текста, OSLO размещает эти данные в буфер, который мы называем буфером электронной таблицы. Буфер электронной таблицы представляет собой подобие большой электронной таблицы Excel, который работает в OSLO в скрытом режиме. Также текстовое окно (Text Window) можно представить как некое удобное окно, которое просматривает данные, содержащиеся в буфере электронной таблицы.
Рассмотрим на примере в OSLO:
Загрузите любую линзу в OSLO и введите команду «pxs» в командной строке. Вы получите результат в текстовом окне, который выглядит подобным образом (цифры будут различаться в зависимости от того, какую линзу вы загрузили): *PARAXIAL SETUP OF LENS APERTURE (ПАРАКСИАЛЬНАЯ НАСТРОЙКА АПЕРТУРЫ ЛИНЗЫ) Entrance beam radius (Радиус входного пучка): * 6.250000 Image axial ray slope (Наклон осевого луча изображения): -0.124999 Object num. aperture (Числовая апертура объекта): 6.2500e-20 F-number (F-число): 4.000043 Image num. aperture (Числовая апертура изображения): 0.124999 Working F-number (Рабочее F-число): 4.000043 FIELD Field angle (Угол поля зрения): * 20.000000 Object height (Высота объекта): -3.6397e+19 Gaussian image height (Высота гауссова изображения): 18.198709 Chief ray ims height (Высота главного луча поверхности изображения): 18.154007 CONJUGATES Object distance (Расстояние до объекта): 1.0000e+20 Srf 1 to prin. pt. 1: 13.429779 Gaussian image dist. (Расстояние до гауссова изображения): 43.080554 Srf 6 to prin. pt. 2: -6.919987 Overall lens length (Общая длина линзы): 17.000000 Total track length (Общая длина траектории): 1.0000e+20 Paraxial magnification (Параксиальное увеличение): -5.0001e-19 Srf 6 to image srf: 42.950000 OTHER DATA Entrance pupil radius (Радиус входного зрачка): 6.250000 Srf 1 to entrance pup.: 10.466307 Exit pupil radius (Радиус выходного зрачка): 6.643768 Srf 6 to exit pupil: -10.070166 Lagrange invariant (Инвариант Лагранжа): -2.274814 Petzval radius (Радиус Петцваля): -149.381547 Effective focal length (Эффективное фокусное расстояние): 50.000541 SPOT DIAGRAMS Aperture divisions (Деления апертуры): 17.030000 Gaussian apod. spec.: Off X 1/e^2 entr. irrad.: 1.000000 Y 1/e^2 entr. irrad.: 1.000000 Теперь, в текстовом окне, нажмите на число для радиуса Петцваля. Если это первый анализ, который вы сформировали в текстовое окно в этом сеансе OSLO, то в области комментариев OSLO (область комментариев находится чуть ниже командной строки) полная точность радиуса Петцваля будет отображаться в формате, аналогичном к следующему: b12 = -149.3815465797474 Обратите внимание, что «b12» относится к расположению ячейки в буфере электронной таблицы: столбец 2 и строка 12. Не беспокойтесь, если у вас другое расположение ячейки, чем b12, это просто означает, что ваш буфер электронной таблицы частично заполнен данными других анализов OSLO, которые вы провели.
Чтобы доказать, что данные в буфере электронной таблицы доступны для использования, введите в командной строке следующую команду:
напечатайте “The Petzval Radius is = ” b12 и нажмите клавишу (не забудьте заменить расположение ячейки, если оно отличается). Обратите внимание на результат, который отображается в текстовом окне. Это должно выглядеть примерно так: Радиус Петцваля = -149,381547. Заметьте, что если вы снова и снова введете команду PXS, результирующие значения анализа окажутся в разных местах в буфере электронной таблицы. Как найти аналитические данные в постоянной ячейке буфера электронной таблицы, на которые можно положиться? Это тема для другой статьи базы знаний.Добавление элементов на панель инструментов пользователя User Tools
Вопрос
Я заметил, что файл a_menu.ccl определяет меню OSLO и структуру панели инструментов. Это означает, что он может быть изменен любым пользователем. Я также заметил, что есть специальная панель инструментов с текстовым окном и панель инструментов с графическим окном, каждая из которых называется _USER_TOOLS_. Как мне отобразить эти панели инструментов и как добавить элементы на панель инструментов пользователя?
Краткое содержание
Добавление элементов на панель инструментов пользователя User Tools
Решение
Понимание этого ответа требует наличия у вас практических знаний по использованию языка CCL OSLO. Вот некоторые вещи, о которых вам нужно знать:
- Как создавать настраиваемые команды CCL в файлах CCL.
- Как компилировать команды CCL (OSLO требует, чтобы вы компилировали файлы CCL до того, как изменения в файлах будут распознаны).
- Как изменить существующие команды CCL (OSLO последовательно компилирует общие и личные папки CCL. Существующие «общие» команды, которые вы хотите изменить, будут скопированы в личную папку CCL и отредактированы там. Команды в файлах в вашей личной папке CCL имеют приоритет над командами с тем же именем в общей папке CCL).
- Как изменить настройки OSLO. (Многие настройки OSLO устанавливаются и доступны через команду set_preference (STP). Доступ к настройкам также можно получить из пункта меню File>>Preferences>>Set Preference (Файл>>Настройки>>Установить настройки)).
Во-первых, необходимо определить _USER_TOOLS_, чтобы панель распознавалась вашей установленной версией OSLO:
Вам нужно установить предпочтение OSLO: «CCL_compiler_options», чтобы определить «_USER_TOOLS_». Вы можете сделать это в командной строке, введя команду stp ccop “-D _USER_TOOLS_”; убедитесь, что кавычки включены в текст в командной строке.
Теперь необходимо перекомпилировать все общие и личные команды CCL:Выберите Tools>>Compile CCL (Инструменты>>Компилировать CCL) в меню OSLO, а затем выберите public>>all (общие>>все) в качестве последующих параметров. Теперь нажмите клавишу ввода, чтобы принять текст по умолчанию в командной строке. Через несколько секунд вы увидите следующее сообщение в текстовом окне: *CCL COMPILATION MESSAGES: No errors detected (*СООБЩЕНИЯ КОМПИЛЯЦИИ CCL: Ошибки не обнаружены). Это означает, что компиляция была успешно завершена.
Теперь вы должны увидеть панель User Tools среди опций панелей инструментов:Нажмите на значок текстового окна Setup Window/Toolbar (Окно настройки/Панель инструментов) и обратите внимание, что панель User Tools теперь отображается в нижней части всплывающего списка панелей инструментов. Панель инструментов User Tools также будет появляться в любом графическом окне.
Чтобы добавить элементы на панели инструментов User Tools, просто найдите нужные позиции в файле «a_menu.ccl» в личном каталоге CCL OSLO:В файле «a_menu.ccl» уже есть заполнители для определения панели инструментов User Tools. Определение панели инструментов User Tools для графического окна начинается со строки 1278. Определение панели инструментов User Tools для текстового окна начинается со строки 1378. Заполнитель выглядит следующим образом: #ifdef _USER_TOOLS_ menu toolbarXX // User textout toolbar {\t”separate2,” = “”, } #endif
Для получения более подробной информации о том, как добавить элементы на панель инструментов OSLO, см. статью базы знаний под названием «Выполнение изменений для меню OSLO и панелей инструментов».
Добавление элементов для асферической поверхности
Вопрос
Как добавить асферические элементы для поверхности в OSLO?
Краткое содержание
Добавление элементов для асферической поверхности
Решение
- Определите поверхность, для которой вы хотите добавить асферический элемент, и выберите серый квадратик в столбце этой поверхности Special
- Выберите Polynomial Asphere (A) (Полиномиальная асфера (A)) во всплывающем списке
- Если необходимо добавить к поверхности коническую константу, выберите Conic/Toric (Конический/Тороидальный) из всплывающего списка
- Если вы хотите добавить для поверхности асферические элементы более высокого порядка, выбор Standard Asphere позволит ввести достаточное количество асферических элементов более высокого порядка для большинства целей. (Обратите внимание, что доступны другие формы асферических поверхностей)
Применение весовой функции для цвета во время оптимизации
Вопрос
В диалоговом окне Optimization Conditions (Условия оптимизации) (см. пункт меню Optimize>>Optimization Conditions) я заметил, что могу применять весовые функции для поля, зрачка и цвета. Как мне это сделать?
Краткое содержание
Применение весовой функции для цвета во время оптимизации
Симптомы
Вы можете применить пользовательскую весовую функцию для цвета/длины волны (написанную на CCL), которая будет реализована при выборе опции Generate Wavelengths (Создать длины волн) в редакторе параметров длин волн Wavelength Data Editor (эти данные впоследствии используются при создании функции ошибок оптимизации). Эта статья базы знаний посвящена особенностям применения и настройки весовой функции для цвета. Применение весовых функций для поля и зрачка будет предметом отдельных статей.
Решение
Пример процедуры CCL для весовой функции цвета можно найти в файле «asyst_tools1.ccl» в папке «…/public/ccl». Команда называется «color_wt» и в настоящий момент находится рядом с 97-й строкой файла CCL. Эта команда уже содержит уравнение, определяющее весовую функцию по умолчанию. В демонстрационных целях мы будем использовать эту весовую функцию по умолчанию без изменения файла. Краткое описание того, как изменить весовую функцию, будет представлено ниже.
Демонстрация весовой функции цвета:
Откроем файл параметров простой линзы и сгенерируем набор длин волн, как с применением весовой функции цвета, так и без нее. Проверим весовой коэффициент длины волны до и после.
- Загрузите типичную линзу, такую как «TRIP.len» в папку «…/private/len».
- Во-первых, нам нужно сгенерировать набор выборочных длин волн.
- Нажмите кнопку Wavelength в открытой таблице параметров поверхности Surface Data Spreadsheet. Откроется редактор параметров длин волн.
- Нажмите кнопку Generate Wavelengths и ответьте на полученные вопросы выбором значений по умолчанию. Это автоматически сгенерирует последовательность из трех длин волн и весов, отобранных с использованием гауссовой квадратуры в диапазоне длин волн от 0,4 до 0,7 мкм.
- Обратите внимание, что данные в редакторе параметров длин волн изменились на следующие значения: Вес длины волны 0.505545 0.977595 0.418886 0.390364 0.644535 1.000000
- Закройте редактор параметров длин волн, нажав зеленую галочку в левом верхнем углу окна редактора.
- Теперь применим весовую функцию цвета.
- Выберите Optimize>>Optimization Conditions в меню OSLO.
- В появившемся диалоговом окне, введите «color_wt» (без кавычек) в ячейку рядом с параметром Command for color weighting (Команда для определения веса цвета).
- Не забудьте нажать на зеленую галочку в левом верхнем углу окна, чтобы принять изменения.
- В качестве альтернативы использованию диалогового окна условий оптимизации Optimization Conditions, вы можете ввести в командной строке следующую команду: opcw color_wt;
- Теперь мы снова сгенерируем выборку длин волн и проверим, как она изменилась.
- Сгенерируйте длины волн так же, как и на шаге 2 выше.
- Обратите внимание, что данные в редакторе параметров длин волн изменились на следующие значения: Вес длины волны 0.518982 1.000000 0.434658 0.127632 0.614795 0.705439
- Ослабление чувствительности к длине волны намного более выражено к концу диапазона длин волн.
- Эти данные выборки по длине волны могут позже использоваться при создании функции ошибок оптимизации.
Изменение весовой функции цвета:
Если вы хотите изменить расчет весовой функции цвета, рекомендуется скопировать функцию «color_wt» из файла «asyst_tools1.ccl» в папке «…/public/ccl» в новый файл CCL в папке «…/private/ccl/» (файлы в вашей личной папке не будут перезаписываться в более поздней версии OSLO).
- Скопируйте раздел файла со строки 96 до строки 105: double color_wt(double lambda) // hlp: See Fig. 9 (approximate photopic response of the human eye). // kwd: human eye, color, weights // cat: general tools, math functions { \treturn exp(-150.0*(lambda-0.550)*(lambda-0.550)); }…из файла «asyst_tools1.ccl» в ваш новый файл CCL в папке «…/private/ccl».
- Создав новый файл CCL, сохраните его и убедитесь, что ваши личные файлы CCL скомпилированы (Tools>>Compile CCL в меню OSLO). Сообщение: *CCL COMPILATION MESSAGES: No errors detected … (*СООБЩЕНИЯ КОМПИЛЯЦИИ CCL: ошибки не обнаружены ...) в текстовом окне указывает на то, что новый файл CCL был создан правильно.
- Теперь вы можете редактировать содержимое вашего нового файла CCL.
- Обратите внимание, что «лямбда» - это значение длины волны, которое передается функции.
- Результат уравнения: exp(-150.0*(lambda-0.550)*(lambda-0.550));… - это весовой коэффициент, который передается обратно в OSLO и используется.
- Убедитесь, что имя нового файла CCL оканчивается разделителем *.CCL
- По желанию вы можете присвоить новому файлу CCL то же имя («asyst_tools1.ccl»), или вы можете изменить его. Значение имеют названия команд внутри файла.
- Вы даже можете изменить название команды «color_wt». Просто убедитесь, что название изменено как в файле CCL, так и в ячейке в диалоговом окне Optimization Conditions.
- Можно разместить более одной команды CCL в каждом файле CCL, таким образом объединить несколько весовых функций в одном файле CCL.