©2001-2012 Autotorg. Email: autotorg1@narod.ru

  Главная Описание / Помощь Закачка  Цены

 

Функции для вычислений:

Function GetMesurmentKoefInSpecification() As Double

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

Function GetSizePartOfRackForCrossbarOnXAxe(ARackID As String) As Double

Возвращает размер части стойки который используется для вычисления длины ригеля между стойками.

Параметры:

ARackID - Идентификатор стойки.

Примеры:

для идентификатора стойки "Rack3Directions"

для идентификатора стойки "Rack4Directions"

Function CalculateLength_LateralCrossBar(ByVal AWidth As Double, ByVal AForwardRack As String, ByVal ABackRack As String) As Double

Возвращает необходимую длину бокового ригеля который нужно поместить между 2-мя стойками относительно заданной глубины витрины.

AWidth - Глубина витрины

AForwardRack - Идентификатор стойки спереди

ABackRack - Идентификатор стойки сзади

Пример:

myrigel = CalculateLength_LateralCrossBar(400, "Rack4Directions", "AngularRack")

 

Function GetStructuresCount(AAmountOfStructures As String) As Integer

Возвращает количество составов

Параметры:

AAmountOfStructures - строка, количество составов, м.б. задана специальным форматом колич_составов:длина_ригеля1,длина_ригеля2, ...)

 

Function GetPRigelsSizesArray(ByVal ALength As Double, ByVal ASostavsFieldValue As String, ALeftRackID, ARightRackID) As Variant

Если нужно то вычисляет размеры не заданных передних ригелей между составами и возвращает массив с размерами передних ригелей для всех составов. Индекс первого элементва массива равен 1.

Параметры:

ALength - длина витрины

ASostavsFieldValue - строка. Количество составов из которых будет состоять витрина. Размер составов определяется автоматически. Также существует возможность задания разных размеров составов. В этом случае необходимо после количества поставить двоеточие и указать размеры передних ригелей для каждого состава витрины через запятую. Если размеры последних составов не задать то их размер будет расчитан автоматически. В задании размеров можно использовать символ *, что означает автоматическое определение размера ригеля.

Например:

Допустим мы задали витрину длиной 3200 мм.

Нам нужно создать витрину из 4-х составов, причем 2-й и 3-й составы должны быть размером 500 мм,600 мм. Для этого в поле "Количество составов" необходимо ввести: 4:*,500,600,*

ALeftRackID - идентификатор стойки слева

ARightRackID - идентификатор стойки справа

Пример:

RigelsArray = GetPRigelsSizesArray(4900, "5:900,*,725", "AngularRack", "AngularRack")

Содержание RigelsArray после запуска примера:
Watch : - : RigelsArray : : Variant/Variant(0 to 5) : M_Calculations.test : RigelsArray(0) : Empty : 0-й элемент не используется
: RigelsArray(1) : 900 : Variant/Double : M_Calculations.test
: RigelsArray(2) : 1018,33333333333 : Variant/Double : M_Calculations.test
: RigelsArray(3) : 725 : Variant/Double : M_Calculations.test
: RigelsArray(4) : 1018,33333333333 : Variant/Double : M_Calculations.test
: RigelsArray(5) : 1018,33333333333 : Variant/Double : M_Calculations.test

Function GetYSizeOfLeftRackByID(ARackID) As Double

Возвращает наибольший размер стойки по оси Y

Параметры:

ARackID - идентификатор стойки

Например для прогонной стойки на 3 направления(Rack3Directions):

Function GetYPartSizeOfLeftRackForCrossbarsByID(ByVal ARackID) As Double

Возвращает часть размера стойки по оси Y которая используется для уточнения положения точки вставки

Параметры:

ARackID - идентификатор стойки

Функции для создания и экспорта контейнера спецификации:

Описанные ниже функции оперируют с глобальным предопределенным объектом CurSpecContainer. Его объявление:
Public CurSpecContainer As TSpecificationContainer

Sub SpecContainer_ClearAndInit()

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

Пример:
SpecContainer_ClearAndInit

Sub SpecContainer_Add(ADetailID, ACount, ALength, AWidth, APrimechanie, AColor)

Добавляет новую запись о детали в контейнер спецификации. Если именно такая деталь уже есть в контейнере то к существующей записи суммируется полученное количество деталей.

Параметры:

ADetailID - строка, идентификатор детали
ACount - количество
ALength - длина
AWidth - ширина
APrimechanie - примечание
AColor - цвет

Пример:

SpecContainer_Add ToDetailID(pLeftForwardRack.Value), 1, stoika * edizm, 1, "-", "-"
SpecContainer_Add "LegForRackAdjustableSP10", 1, 1, 1, "-", "-"
SpecContainer_Add "LegForRackAdjustableSP10", 1, 1, 1, "-", "-"

Sub SpecContainer_ExportTo(AAnotherContainerID As String)

Экспортирует контейнер спецификации для работы в другой программе. На данный момент доступен только Excel.

Параметры:

AAnotherContainerID - идентификатор контейнера. Если равно "Excel" или "xls" то спецификация экспортируется в MS Excel.

Пример:

SpecContainer_ExportTo "Excel"

Функции для расчета набора деталей:

Sub SpecContainer_Add_CrossbarsWall(ByVal AHeight As Double, ByVal ALengthOfCrossbar As Double, ByVal AHeightOfStore As Double, AStoreDetailID As String, ByVal AHeightOfFrieze As Double, AFriezeDetailID As String, ByVal AAmountOfSections As Integer, ASectionDetailID As String, STPRIR, edizm, ACrossbarID)

Вычисляет и добавляет необходимое количество ригелей, замков для ригелей, стенок для боковой, передней или задней стенки витрины

Параметры:

AHeight - высота витрины
ALengthOfCrossbar - длина ригеля
AHeightOfStore - высота накопителя
AStoreDetailID - идентификатор детали в накопитель, если равен "none" то стенки в накопитель не ставятся
AHeightOfFrieze - высота фриза
AFriezeDetailID - идентификатор детали во фриз, если равен "none" то стенки во фриз не ставятся
AAmountOfSections - количество секций
ASectionDetailID - идентификатор детали в секции(ю), если равен "none" то стенки в секции не ставятся
STPRIR - приращение для стенок. Если 0 то к стенкам добавляются шканты.
edizm - коэффициент для перевода из милиметров в другие единицы измерения
ACrossbarID - опционально, материал для ригеля, если не задано, то выбирается ригель с одной полкой.


Sub SpecContainer_Add_Shelf(ADetailID, ACount, APrigelLength, ABrigelLength, AColor, edizm)

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

Параметры:

ADetailID - идентификатор детали
ACount - количество
APrigelLength - длина переднего ригеля
ABrigelLength - длина бокового ригеля
AColor - цвет полки
edizm - коэффициент для перевода из миллиметров

Функции для работы с Excel напрямую:

Sub PutSpecificationHeader(ByRef specData, ByVal ARow)

Заполняет шапку для листа рабочей книги Excel со спецификацией

Параметры:

specData - объект, лист рабочей книги Microsoft Excel
ARow - номер строки

Sub FillSpecificationRow(ByRef specData, ByVal ARow, ADetailID, ACount, ALength, AWidth, APrimechanie, AColor)

Заполняет одну строку в Excel файле спецификации.

Параметры:

specData - объект, лист рабочей книги Microsoft Excel
ARow - номер строки
ADetailID - строка, идентификатор детали
ACount - количество
ALength - длина
AWidth - ширина
APrimechanie - примечание
AColor - цвет

Sub PutSpecificationFormulas(ByRef specData, ByVal ARow)

Заполняет лист рабочей книги Excel формулами для вычисления стоимости деталей и всего изделия, так же заполняет строку стоимость материала, исходя из названия материала детали.

Параметры:

specData - объект, лист рабочей книги Microsoft Excel
ARow - строка на которой список деталей в спецификации заканчивается


Hosted by uCoz