То есть ты сделал жесткую привязку покрытия на основе параметра iusageid? хм... ну в принципе вариант.
Можешь, пожалуйста, прислать выдержку как в итоге выглядит настроенные парочку шаблонов из afelements.xml и в какую часть скрипта AFPlank.gsm добавил присвоения покрытия?
В шаблонах файла
Нужно каждом материалу прописать так;
!!!!Левая сторона вертикальная
<!-- Left side vertical -->
<planks group="vertical" axis="y" skipaxis="1">
<material id="[matid_left;default=@matid;type=matid]"
zoff="[zoff_left;default=0]"
rotangle="[rotangle_left;type=real;default=0]">
!!!!!!!!!!!!!!!!!!!!! Устанавливает Тип Для Стойка Левая!!!!!!!!!!!!!!!!!!
<objparam name="iUsageId">Стойка Левая</objparam>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</material>
<force>
<parallel x1off="[off_center;default=mat_thickness*0.5]"></parallel>
</force>
</planks>
Название типа должно строго совпадать с типом из списка выпора типа.
В AFPlank.gsm;
Скрипт 3D:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
material _MAT_P
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
specPen=0
if iElemLocked then specPen=iPenLocked
if iCnc=0 or iElemModule<>"" or iCncFraming=0 then specPen=iPenNoCnc
if specPen then
default_pen=specPen
pen default_pen
r=req( "red_of_pen " + str(specPen, 1,0))
g=req( "green_of_pen " + str(specPen, 1,0))
b=req( "blue_of_pen " + str(specPen, 1,0))
define material "_FrameLockedPlank_" 3,r,g,b
mat_top=IND(MATERIAL, "_FrameLockedPlank_")
mat_bot=mat_top
mat_side=mat_top
material mat_top
endif
В скрипте параметры Вначале:
1. Создать такой же список выбора параметров.
2. В параметрах в самом начале:
!!!!!!!!!!!!!!!!!!!!!!!!!!!Выборка Типов!!!!!!!!!!!!!!!!!!!!!!!
values "iUsageId" "", "Элемент Каркаса", "Балка", "Брус",,,,,,,,,,,,,,
parameters iMatName=iMatName
parameters _MATy=_MATy
_MATy=iUsageId
!!!!!!!!!!!!!!!Покрытие по умолчанию!!!!!!!!!!!!!
_MAT_P=0
parameters _MAT_P=_MAT_P
!material=0
!!!!!!!!!!!!!!!!!!!!!!! Назначение покрытий !!!!!!!!!!!!!!!!!
if _MATy="" then _MAT_P=_MAT_00
if _MATy="Элемент Каркаса" then _MAT_P=_MAT_0
if _MATy="Балка" then _MAT_P=_MAT_1
if _MATy="Брус" then _MAT_P=_MAT_2
if _MATy="Вагонка" then _MAT_P=_MAT_3
if _MATy="Доска" then _MAT_P=_MAT_4
,,,,,,,,,,,.
и в самих параметрах создать переменные _MAT_00, _MAT_01 ...... с назначением материала.
Теперь если типы _MATy и _MAT_P будут совпадать то будет присваивается материал + MAT_01 и так далие.
если нет совпадения или отсутствовать, то MAT_00.