You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Loading of editable appraisers

Стандартная команда загрузки оценщиков бриллиантов LoadExternalGrading позволяет получить доступ для "горячего" редактирования границ интервалов оценщика. При помощи флагов /edit, /profile и /parents можно задать различное поведение оценщиков.

ФлагПараметрыОписание
/filefilenameЗагрузка оценщика из файла filename без возможности редактирования
/editfilenameЗагрузка оценщика из файла filename с возможностью редактирования
/profilefilenameИспользование файла filename для хранения профилей
/parentsfilename1[;filename2...]Явное указание зависимости файлов с оценщиками, от которых зависит загружаемый оценщик. Если в редакторе будет происходить изменение "родительских" файлов, то это будет автоматически приводит к изменению настоящего оценщика.
/editsourcefilenameИспользование файла filename как источника параметров по умолчанию

В каждом случае, filename может быть задан либо относительно .bat файла в котором указана команда загрузки, либо глобальное название файла, либо с использованием путей %ProgramData%.

Так выглядит простейшая команда загрузки редактируемого оценщика из файла LocalAppraiser.txt и его профилей из файла LocalAppraiser.pro:

LoadExternalGrading /edit LocalAppraiser.txt /profile LocalAppraiser.pro

Один файл может содержать один или несколько оценщиков. Все доступные к редактированию оценщики доступны в поле выбора активного оценщика в панелях "Appraiser Interval Editor" и "Appraiser Profiles". В настоящее время редактировать можно только границы интервалов. Если в оценщике нет ни одной редактируемой сущности, то такой оценщик не будет отображаться в списке. Сохранение оценщика после редактирования приводит к перезагрузке этого файла, а также всех файлов для которых данный файл указан в списке "родительских".

Переключение активного оценщика в редакторе не приводит к переключению активного оценщика в программе оптимизации.

Intervals editing

Все редактируемые интервалы название которых начинается с Restriction_ будут попадать в список Cut. Редактируемые интервалы начинающиеся с Variation_ будут располагаться в списке Symmetry. Интервалы в группе Restriction могут иметь произвольные границы. У интервалов Variation левая граница всегда равна 0 и она не отображается для редактирования. Для того, чтобы в панели появилась строка для редактирования диаметра площадки Table соответствующий интервал в файле оценщика должен называться Restriction_Table:

 interval : Restriction_Table : DC_TableDiameter : : : EX 55 59 VG 54 60.5 GD 53 62.5 FR 52.5 64.5 : (%) : "Intervals for Table"

Значения редактируемых интервалов представлены в панели "Appraiser Interval Editor".

Вверху панели расположены кнопки Show/Hide Appraiser, Show/Hide Parameters, Show/Hide Intervals, Show/Hide Info, View cut, View Symmetry, Undo, Redo, Revert to file, Revert to original. Далее в зависимости от состояния первых четырёх кнопок идут поля выбора активного оценщика, активной огранки, значения интервалов, допустимый диапазон интервалов.

Для редактирования интервала необходимо выбрать оценщик, огранку и список Cut или Symmetry. Оценщик выбирается из списка оценщиков. После выбора оценщика можно выбрать огранку. В списке огранок также присутствует строка "common parameters". Это набор интервалов, который может быть применим для всех огранок в данном оценщике. При этом каждая конкретная огранка может с одной стороны переопределить границы данного интервала, а с другой и вовсе не использовать его для оценки.

Список Cut или Symmetry переключается с помощью кнопок View cut и View Symmetry.

Редактор интервалов автоматически определяет максимальный диапазон, в котором можно редактировать каждый параметр, и разрешение (количество знаков после запятой), с которым можно указать значение параметра. Если указанные значение редактором распознаны неправильно, то нажав кнопку Show Info можно увидеть и изменить как общий диапазон для параметра, так и его разрешение. Невозможно ввести границы интервала за пределами значений, указанных в Minimum и Maximum.

Если до начала редактирования оценщик содержал ошибки в значении интервалов, то такие значения изображаются красным цветом. Если же интервалы становятся неправильными при редактировании, то редактор автоматически изменяет значения в других группах.

После завершение редактирования интервалов необходимо нажать кнопку Save. Одна и та же кнопка Save для удобства продублирована в нескольких местах: рядом с полем выбора оценщика на этой панели, на панели Appraiser Profile, а также на основной ленте приложения в разделе Appraiser/File.

Recalculation of optimization forms

Для правильной работы оптимизации после изменения границ интервалов необходимо пересчитать оптимизационные формы. Поскольку эта операция достаточно продолжительная, то она не запускается автоматически при каждом сохранении изменений в оценщике. Её нужно вызвать вручную при помощи кнопки Recalculate cutting. Пересчёт форм будет производиться для активной огранки в активном оценщике. Если в данном оценщике конкретная огранка не может быть пересчитана автоматически, то кнопка пересчёта заблокирована. При необходимости пересчитать все формы для всех огранок можно воспользоваться кнопкой Recalculate all cuttings. Обе кнопки расположены на основной ленте приложения в разделе Appraiser/Diamond form.
Пока идёт пересчёт форм повторное нажатие на кнопки Recalculate cutting и Recalculate all cuttings недоступно. После пересчёта форм для сохранения dmc и dmcx файлов необходимо нажать кнопку Save.

Creation and editing of profiles

Редактор позволяет создавать различные профили оценщиков. Профиль создаётся для оценщика целиком и содержит собственные значения границ всех интервалов, а также стартовую и оптимизационные формы. Нет возможности иметь профили с разным количеством огранок и/или разным способом оценки одной и той же огранки. Отличаться могут только границы интервалов и наборы форм.

Имеющиеся профили оценщика представлены в панели Appraiser Profile.

Вверху панели расположены кнопки New Profile, New copy of Profile, Delete Profile, Copy data to Appraiser, Copy data to Profile, Set to defaults, Link Profile and Appraiser. Эти кнопки продублированы на основной ленте приложения в разделе Appraiser/Profile. Следом идёт поле выбора активного оценщика и список доступных профилей активного оценщика.

Профиль можно создать либо из оценщика либо как копию другого профиля. Имя профиля должно быть уникальным в пределах одного оценщика. При создании профиля происходит копирование всех связанных с данным оценщиком файлов со стартовыми и оптимизационными формами для всех огранок. Все эти файлы располагаются в той же папке, что и формы оценщика, и дополнительно содержат в названии суффикс sXXXX, позволяющий идентифицировать их именно как файлы определённого профиля.

Редактировать интервалы можно только в оценщике. Редактор позволяет копировать интервалы выбранных параметров из оценщика в профиль и обратно из профиля в оценщик.

Кнопка Link profile and Appraiser позволяет связать профиль с текущим оценщиком. Как правило, она должна быть нажата. В этом случае любые действия по редактированию оценщика автоматически приводят к изменению профиля. И наоборот, переключение профиля автоматически приводит к изменению и перезагрузке оценщика.

Некоторые профили могут быть защищены от изменения данных.

Application 1. Creating a new cut

Оценщики предыдущего поколения содержали одну таблицу интервалов, список параметров используемых при оптимизации, стартовую и оптимизационные формы. Структура редактируемых оценщиков (Version= 7) более сложная и более гибкая. Для его работоспособности необходимо указать следующее:

  • значение (параметр) который оценивается
  • оценка данного значения (как правило редактируемый или не редактируемый интервал)
  • общая оценка камня (набор оценок различных параметров)
  • индивидуальная оценка параметров, выводимая в панели бриллианта
  • список параметров используемых в оптимизации
  • интервалы для использования в оптимизации
  • стартовая и оптимизационные формы

В качестве примера добавления огранки используем внутреннюю огранку "Princess 3s". Предыдущий оценщик содержал такой блок для работы этой огранки:

[cut]
  Name:       "Princess 3s"
  Quality:    EX VG GD FR
  Parameters: DownHeight_GIA (%) \
    DownAngleLevel0 (°) \
    GirdleHeight_GIA (%) \
    Table (%) \
    FullHeight (%) \
    GirdleRatio (.) \
    UpAngle (°) \
    UpAngleLevel1 (°) \
    UpCleanLevel1 (%) \
    VirtualCuletOffsetX (°) \
    VirtualCuletOffsetY (°) \
    DownCleanLevel1 (%) \
    UpHeight_GIA (%) \
    DownCleanLevel2 (%) \
    Unknown_33 (°)
  Optimize:   Table Table Table \
    DownAngleLevel0 DownAngleLevel0 DownAngleLevel0 \
    GirdleHeight GirdleHeight_GIA GirdleHeight_GIA \
    UpAngle UpAngle UpAngle_uHFix \
    DownAngle DownHeight_GIA DownHeight_GIA \
    GirdleRatio GirdleRatio GirdleRatio \
    UpAngleLevel0 UpAngle UpAngle \
    DownAngleLevel1 DownCleanLevel1 DownCleanLevel1 \
    Culet VirtualCuletOffsetX VirtualCuletOffsetX \
    CuletOffsetX VirtualCuletOffsetY VirtualCuletOffsetY \
    OP_1 UpAngleLevel1 UpAngleLevel1 \
    OP_2 UpCleanLevel1 UpCleanLevel1 \
    OP_3 VirtualCuletOffsetX VirtualCuletOffsetX \
    OP_4 VirtualCuletOffsetY VirtualCuletOffsetY \
    OP_5 DownCleanLevel2 DownCleanLevel2 \
    OP_6 Unknown_33 Unknown_33 \
  Mass: 0.01  100000 \
    52 63.0 55 61 1.5 3.5 66.5 72 67.0 74.0 0.980 1.040 33 45 28 40 45 55 -1.00 +1.00 -1.00 +1.00 70 80 8 13 25 40 5 10 \
    50 65.0 54 63 1.3 4.5 64.5 75 65.0 76.0 0.970 1.050 32 48 27 43 43 57 -1.02 +1.02 -1.02 +1.02 65 85 7 15 24 42 4 11 \
    48 66.0 53 64 1.1 5.5 62.5 77 63.0 78.0 0.960 1.060 31 50 26 45 41 59 -1.04 +1.04 -1.02 +1.04 60 90 6 16 23 43 3 12 \
    46 69.0 52 65 1.0 6.5 60.5 79 61.0 80.5 0.920 1.080 30 52 25 47 40 60 -1.09 +1.09 -1.04 +1.09 50 95 5 17 20 45 2 14
[end]
 
; Check 2456250 diamonds. Inside group 682500. Weights: 1.05993 1.07332 1.02597 1.12828
[fixedcut]
  Name: "Princess 3s"
  Parameters: Table (%) DownHeight_GIA UpCleanLevel1 (%) UpAngle (°) DownAngleLevel0 (°) DownCleanLevel1 (%) DownCleanLevel2 (%) GirdleAngle (°) VirtualCuletOffsetX (°) VirtualCuletOffsetY (°) GirdleHeight_GIA (%)
  OptimizationSet1: EX 71.99945100 0.60249450 52.49950050 33.00119900 60.99940100 79.99900100 39.99850100 5.00049900 0.00000000 0.00000000 3.49980100
  OptimizationSet2: EX 71.99945100 0.60249450 52.49950050 33.00119900 60.99940100 79.99900100 39.99850100 5.00049900 0.00000000 0.00000000 3.49980100
  OptimizationSet2: EX 71.99945100 0.52001099 50.00000000 44.99880100 60.99940100 79.99900100 39.99850100 5.00049900 0.00000000 0.00000000 3.49980100
  OptimizationSet2: EX 69.07679981 0.52001099 50.00000000 42.86079851 60.99940100 79.99900100 39.99850100 5.00049900 0.00000000 0.00000000 2.00009950
  OptimizationSet2: EX 71.99945100 0.57500000 50.00000000 44.99880100 60.99940100 79.99900100 39.99850100 5.00049900 0.00000000 0.00000000 3.49980100
; Check 2456250 diamonds. Inside group 737500. Weights: 1.10070 1.13218 1.12642 1.20632
  OptimizationSet1: VG 74.99895100 0.61249250 53.49930050 32.00159900 62.99910100 84.99800100 41.99820100 4.00069900 0.00000000 0.00000000 4.49968100
  OptimizationSet2: VG 74.99895100 0.61249250 53.49930050 32.00159900 62.99910100 84.99800100 41.99820100 4.00069900 0.00000000 0.00000000 4.49968100
  OptimizationSet2: VG 66.79725341 0.50001499 50.00000000 44.92031219 62.99910100 84.99800100 41.99820100 4.00069900 0.00000000 0.00000000 4.49968100
  OptimizationSet2: VG 72.37447550 0.61249250 46.50069950 47.99840100 62.99910100 84.99800100 41.99820100 4.00069900 0.00000000 0.00000000 1.30031900
  OptimizationSet2: VG 72.37447550 0.57500000 50.00000000 47.99840100 62.99910100 84.99800100 41.99820100 4.00069900 0.00000000 0.00000000 4.49968100
; Check 2456250 diamonds. Inside group 825625. Weights: 1.16290 1.16801 1.17259 1.26076
  OptimizationSet1: GD 76.99855100 0.65998201 50.00000000 31.00189900 63.99890100 89.99700100 42.99800100 3.00089900 0.00000000 0.00000000 5.49956100
  OptimizationSet2: GD 76.99855100 0.65998201 50.00000000 31.00189900 63.99890100 89.99700100 42.99800100 3.00089900 0.00000000 0.00000000 5.49956100
  OptimizationSet2: GD 66.12251648 0.48001799 50.00000000 46.19225951 63.99890100 89.99700100 42.99800100 3.00089900 0.00000000 0.00000000 5.49956100
  OptimizationSet2: GD 69.75000000 0.61499100 45.50089950 49.99810100 63.99890100 89.99700100 42.99800100 3.00089900 0.00000000 0.00000000 1.10043900
  OptimizationSet2: GD 69.75000000 0.57000000 45.50089950 49.99810100 63.99890100 89.99700100 42.99800100 3.00089900 0.00000000 0.00000000 5.49956100
; Check 2456250 diamonds. Inside group 868375. Weights: 1.17799 1.20275 1.22186 1.32968
  OptimizationSet1: FR 78.99815100 0.68997701 50.00000000 30.00219900 64.99870100 94.99550100 44.99750100 2.00119900 0.00000000 0.00000000 5.12472550
  OptimizationSet2: FR 78.99815100 0.68997701 50.00000000 30.00219900 64.99870100 94.99550100 44.99750100 2.00119900 0.00000000 0.00000000 5.12472550
  OptimizationSet2: FR 65.55792105 0.46002299 50.00000000 47.45263260 64.99870100 94.99550100 44.99750100 2.00119900 0.00000000 0.00000000 6.49945100
  OptimizationSet2: FR 69.75000000 0.63248850 45.00099950 51.99780100 64.99870100 94.99550100 44.99750100 2.00119900 0.00000000 0.00000000 1.00054900
  OptimizationSet2: FR 69.75000000 0.57500000 45.00099950 51.99780100 64.99870100 94.99550100 44.99750100 2.00119900 0.00000000 0.00000000 6.49945100

  Start: [cutname]     69.25000000 0.57500000 50.00000000 39.00000000 58.00000000 79.99900100 39.99850100 5.00049900 0.00000000 0.00000000 3.00000000
[end]

Graded values

В качестве оцениваемых значений будет использовать параметры указанные в строке Parameters.

Grading of parameters

Для оценки выбранных параметров создадим набор редактируемых интервалов для раздела Cut.

interval : Restriction_Table               : DC_TableDiameter         : : : EX 66.5 72 VG 64.5 75 GD 62.5 77 FR 60.5 79 : (%) : "Intervals for Table"
interval : Restriction_CrownAngle          : DC_CrownAngle            : : : EX 33 45 VG 32.0 48 GD 31 50 FR 30 52 : (°) : "Intervals for Crown Angle"
interval : Restriction_CrownAngle2         : DC_CrownAngleLevel2      : : : EX 28 40 VG 27 43 GD 26 45 FR 25 47 : (°) : "Intervals for Crown Angle Level 2"
interval : Restriction_CrownCleanLevel1    : DC_CrownCleanLevel1      : : : EX 45 55 VG 43 57 GD 41 59 FR 40 60 : (%) : "Intervals for Crown Clean Level 1"
interval : Restriction_PavilionAngle1      : DC_PavilionAngleLevel1   : : : EX 55 61 VG 54 63 GD 53 64 FR 52 65 : (°) : "Intervals for Pavilion Angle Level 1"
interval : Restriction_PavilionCleanLevel1 : DC_PavilionCleanLevel1   : : : EX 70 80 VG 65 85 GD 60 90 FR 50 95 : (%) : "Intervals for Pavilion Clean Level 1"
interval : Restriction_PavilionCleanLevel2 : DC_PavilionCleanLevel2   : : : EX 25 40 VG 24 42 GD 23 43 FR 20 45 : (%) : "Intervals for Pavilion Clean Level 2"
interval : Restriction_GirdleRatio         : DC_GirdleRatio           : : : EX 0.98 1.04 VG 0.97 1.05 GD 0.96 1.06 FR 0.92 1.08 : (.) : "Intervals for Girdle Ratio"
interval : Restriction_GirdleBezel         : DC_GirdleThickness       : : : EX 1.5 3.5 VG 1.3 4.5 GD 1.1 5.5 FR 1 6.5 : (%) : "Intervals for Girdle Thickness"
interval : Restriction_VirtualCuletX       : DC_VirtualCuletOffsetX   : : : EX -1.0 1.0 VG -1.02 1.02 GD -1.04 1.04 FR -1.09 1.09 : (°) : "Intervals for Virtual Culet X"
interval : Restriction_VirtualCuletY       : DC_VirtualCuletOffsetY   : : : EX -1.0 1.0 VG -1.02 1.02 GD -1.02 1.04 FR -1.04 1.09 : (°) : "Intervals for Virtual Culet Y"
interval : Restriction_CornerBreakAngle    : DC_CornerBreakAngle      : : : EX 5 10 VG 4 11 GD 3 12 FR 2 14 : (°) : "Intervals for Corner Break Angle"
interval : Restriction_CrownHeight         : DC_CrownHeight           : : : EX 8.0 13 VG 7 15 GD 6 16 FR 5 17 : (%) : "Intervals for Crown Height"
interval : Restriction_PavilionDepthBezel  : DC_PavilionDepthBezel    : : : EX 52 63 VG 50 65 GD 48 66 FR 46 69 : (%) : "Intervals for Pavilion Depth"
interval : Restriction_TotalHeight         : DC_TotalHeight           : : : EX 67 74 VG 65 76 GD 63 78 FR 61 80.5 : (%) : "Intervals for Total Height"

Overall stone grading

По существующему соглашению, общая оценка камня состоит из оценки оценки Restrictions и Symmetry. Могут быть и дополнительные оценки, но для рассматриваемой огранки пока есть только Restrictions. Поэтому, для начала соберём все оценки выбранных параметров в оценку Restrictions

grading : Restrictions : Restriction_CornerBreakAngle Restriction_TotalHeight Restriction_CrownAngle Restriction_GirdleBezel \
  Restriction_CrownAngle2 Restriction_CrownHeight Restriction_PavilionDepthBezel Restriction_PavilionAngle1 Restriction_Table \
  Restriction_VirtualCuletX Restriction_VirtualCuletY Restriction_GirdleRatio Restriction_CrownCleanLevel1 Restriction_PavilionCleanLevel1 \
  Restriction_PavilionCleanLevel2 : Bad : 

а затем создадим финальную оценку Main, состоящую из одной Restrictions

grading : Main : Restrictions : Bad : Final

Individual grading of parameters

Для индикации в панели бриллианта индивидуальной оценки каждого параметра необходимо определить список с названием IndividualList и задать в нём соответствие параметра и его интервалов.

intervallist : IndividualList : name id : \
  Restriction_CornerBreakAngle, DC_CornerBreakAngle; \
  Restriction_TotalHeight, DC_TotalHeight; \
  Restriction_CrownAngle, DC_CrownAngle; \
  Restriction_GirdleBezel, DC_GirdleThickness; \
  Restriction_CrownAngle2, DC_CrownAngleLevel2; \
  Restriction_CrownHeight, DC_CrownHeight; \
  Restriction_PavilionDepthBezel, DC_PavilionDepthBezel; \
  Restriction_PavilionAngle1, DC_PavilionAngleLevel1; \
  Restriction_Table, DC_TableDiameter; \
  Restriction_VirtualCuletX, DC_VirtualCuletOffsetX; \
  Restriction_VirtualCuletY, DC_VirtualCuletOffsetY; \
  Restriction_GirdleRatio, DC_GirdleRatio; \
  Restriction_CrownCleanLevel1, DC_CrownCleanLevel1; \
  Restriction_PavilionCleanLevel1, DC_PavilionCleanLevel1; \
  Restriction_PavilionCleanLevel2, DC_PavilionCleanLevel2; \
  : "List for individual grading of parameters in Panel"

Optimization parameters

Список параметров, используемых в оптимизации составляется по списку Optimize исходного оценщика

Optimize: \
  DC_TableDiameter DC_TableDiameter DC_TableDiameter \
  DC_GirdleThicknessValue DC_GirdleThicknessBezel DC_GirdleThicknessBezel \
  DC_CrownAngle_Table DC_CrownAngle_Table DC_CrownAngle_CrownHeight_Fixed \
  DC_PavilionAngle DC_PavilionDepthBezel DC_PavilionDepthBezel \
  DC_GirdleRatio DC_GirdleRatio DC_GirdleRatio \
  DC_CrownAngleLevel1 DC_CrownAngle_Table DC_CrownAngle_Table \
  DC_PavilionAngleLevel1 DC_PavilionAngleLevel1 DC_PavilionAngleLevel1 \
  DC_PavilionAngleLevel2 DC_PavilionCleanLevel1 DC_PavilionCleanLevel1 \
  DC_Culet DC_VirtualCuletOffsetX DC_VirtualCuletOffsetX \
  DC_CuletX DC_VirtualCuletOffsetY DC_VirtualCuletOffsetY \
  OP_1 DC_CrownAngleLevel2 DC_CrownAngleLevel2 \
  OP_2 DC_CrownCleanLevel1 DC_CrownCleanLevel1 \
  OP_3 DC_VirtualCuletOffsetX DC_VirtualCuletOffsetX \
  OP_4 DC_VirtualCuletOffsetY DC_VirtualCuletOffsetY \
  OP_5 DC_PavilionCleanLevel2 DC_PavilionCleanLevel2 \
  OP_6 DC_CornerBreakAngle DC_CornerBreakAngle \

Optimization intervals

Необходимо явно указать наборы оптимизационных интервалов. Имена таких интервалов должны начинаться с opt_ и каждый из них должен быть связан непосредственно с идентификатором параметра огранки.

optimizationinterval : opt_ca  : DC_CornerBreakAngle             : : Restriction_CornerBreakAngle    : left : right : , : (°) : "Optimization for Corner Break Angle"
optimizationinterval : opt_th  : DC_TotalHeight                  : : Restriction_TotalHeight         : left : right : , : (%) : "Optimization for Total Height"
optimizationinterval : opt_b   : DC_CrownAngle_Table             : : Restriction_CrownAngle          : left : right : , : (°) : "Optimization for Crown Angle"
optimizationinterval : opt_gi  : DC_GirdleThicknessBezel         : : Restriction_GirdleBezel         : left : right : , : (%) : "Optimization for Girdle Thickness"
optimizationinterval : opt_b2  : DC_CrownAngleLevel2             : : Restriction_CrownAngle2         : left : right : , : (°) : "Optimization for Crown Angle Level 2"
optimizationinterval : opt_hc  : DC_CrownHeight_CrownAngle_Fixed : : Restriction_CrownHeight         : left : right : , : (%) : "Optimization for Crown Height"
optimizationinterval : opt_pdb : DC_PavilionDepthBezel           : : Restriction_PavilionDepthBezel  : left : right : , : (%) : "Optimization for Pavilion Depth"
optimizationinterval : opt_a1  : DC_PavilionAngleLevel1          : : Restriction_PavilionAngle1      : left : right : , : (°) : "Optimization for Pavilion Angle Level 1"
optimizationinterval : opt_t   : DC_TableDiameter                : : Restriction_Table               : left : right : , : (%) : "Optimization for Table"
optimizationinterval : opt_vcx : DC_VirtualCuletOffsetX          : : Restriction_VirtualCuletX       : left : right : , : (°) : "Optimization for Virtual Culet X"
optimizationinterval : opt_vcy : DC_VirtualCuletOffsetY          : : Restriction_VirtualCuletY       : left : right : , : (°) : "Optimization for Virtual Culet Y"
optimizationinterval : opt_rt  : DC_GirdleRatio                  : : Restriction_GirdleRatio         : left : right : , : (.) : "Optimization for Girdle Ratio"
optimizationinterval : opt_c1  : DC_CrownCleanLevel1             : : Restriction_CrownCleanLevel1    : left : right : , : (%) : "Optimization for Crown Clean Level 1"
optimizationinterval : opt_p1  : DC_PavilionCleanLevel1          : : Restriction_PavilionCleanLevel1 : left : right : , : (%) : "Optimization for Pavilion Clean Level 1"
optimizationinterval : opt_p2  : DC_PavilionCleanLevel2          : : Restriction_PavilionCleanLevel2 : left : right : , : (%) : "Optimization for Pavilion Clean Level 2"

Start form and optimization forms

Поскольку оценщик является редактируемым, то после изменения границ интервалов имеющиеся оптимизационные формы могут выйти за пределы нужной группы, что сильно снизит эффективность работы алгоритмов. Выход за пределы группы стартовой формы вообще сделает оптимизацию по данной огранке неработоспособной. Для пересчёта форм они должны быть заданы следующим образом.

form : "Start and optimization" : Start "DMCs\Princess 3s_Start.dmc"; \
  SetDiamond1 EX DMCs\Princess_3s_EX_Set1.dmcx, VG DMCs\Princess_3s_VG_Set1.dmcx, GD DMCs\Princess_3s_GD_Set1.dmcx, FR DMCs\Princess_3s_FR_Set1.dmcx; \
  SetDiamond2 EX DMCs\Princess_3s_EX_Set2.dmcx, VG DMCs\Princess_3s_VG_Set2.dmcx, GD DMCs\Princess_3s_GD_Set2.dmcx, FR DMCs\Princess_3s_FR_Set2.dmcx \
  : allacceptable : auto : Type1 : "Standard 10 optimization min-max forms for all grades"

В некоторых случаях автоматический пересчёт оптимизационных форм невозможен. Например, оценщик 15Sep2016 использует для огранки BrilliantF64 помимо интервальных ещё и не интервальные оценки из Facetware. В этом случае необходимо отключить автоматический пересчёт форм, заменив "... : auto : ..." на "... : fixed : ...". При этом также необходимо помнить, что после изменения интервалов этой огранки необходимо вручную заменить в оценщике dmc и dmcx файлы с формами. Редактор оценщиков в настоящее время не располагает такими возможностями. Всё что он сделает - это выведет в терминале программы предупреждение о том, что стартовая форма или "такая-то оптимизационная форма" не находится в пределах нужной группы и будет её игнорировать.

Conclusion

Настоящий пример переноса оценщика огранки из не редактируемого вида в редактируемый является фактически прямым переносом: что было в старом оценщике без изменений переносится в новый. Имеет смысл подходить к этому процессу более творчески. Например, параметр виртуального сдвига калетты скорее должен принадлежать к разделу Variation нежели Restriction.

interval : Variation_VirtualCuletX       : DC_VirtualCuletOffsetX   : : : EX 0 1.0 VG 0 1.02 GD 0 1.04 FR 0 1.09 : (°) : "Intervals for Virtual Culet X"

Тогда соответствующий оптимизационный интервал будет выглядеть вот так

optimizationinterval : opt_vcx : DC_VirtualCuletOffsetX : : Variation_VirtualCuletX : -right : right : , : (°) : "Optimization for Virtual Culet X"

Далее необходимо определить оценку Symmtery, изменить общую оценку Main и список индивидуальной оценки параметров. Скорее всего, с точки зрения оценки данной огранки нет никакой разницы между DC_VirtualCuletOffsetX и DC_VirtualCuletOffsetY. Поэтому, интервал Variation стоит определить только для одного из них, причём с нейтральным названием Variation_VirtualCulet, а вот оценку уже делать для двух разных параметров. Какие-то общие рекомендации для подобных случаев делать довольно сложно,так как они весьма специфичны для каждой огранки и оценщика. Например, обычный сдвиг калетты для огранки Brilliant подчиняется правилу "независимости" для направлений Ox и Oy (границы сдвига будут одинаковы в каждом направлении), а для огранки Emerald они уже могут быть неодинаковы.

  • No labels