Skip to main content

L_RailBracketTab

Written by Julien

Column Name

Description

Data Type

Length

Allow Nulls

Default

RB_RID

RID number of the rail bracket

Integer

4

0
​

RB_TYPE

Types of the rail-bracket:

0 — rail bracket for counterweight
1 — rail bracket for lateral direct and for tackled hydraulic jacks
2 — "simple" rail bracket (e.g. rope-, 2 hydraulic jacks-, central-frames)

Integer

4

✓

0
​

RB_DESC

Detailed description of the rail-bracket.

For example:
- for distinction of the shape, like shape A or shape B
- for distinction of the drive-system, like 1:1 or 2:1
- for which variation of a frame this bracket is used, like Doppelheber (double hydraulic jack) or the exact typ (typ 20.350)
- which variation is this RID number of the bracket (compilation of different plates)
- Description of the Standards which are used

VarWChar

60

✓

RB_SUB_DESC

Sub-description of the rail-bracket

VarWChar

75

✓

RB_MF_RID

RID number of the manufacturer

Integer

4

✓

0
​

RB_PG_GRP

Number of the profile-group construction for the corresponding rail bracket.

void

CGrRailBracket::SetProfilGruppenParameter(double *pData)

{

pData[0] = m_pRBList->m_RB_DBG_Edit;

pData[1] = m_pRBList->m_RB_Y1_Edit;

pData[2] = m_pRBList->m_RB_Y2_Edit;

CGrGuideList *pGL =NULL;

CGrCWKonsolenComp *pCW = NULL;

CGrHyBSKonsolenComp *pHY = NULL;

CGrGuideList *pYokeGL = NULL;

CGrCylinderSingleComp *pCyl = NULL;

CGrYokeGuideComp *pYG = NULL;

m_pRBList->GetRelatedComponents( &pGL, &pYokeGL,&pCyl, &pHY, &pYG);

if(m_pRBList->m_pOwner->IsKindOf(RUNTIME_CLASS(CGrCWKonsolenComp)))

{

pCW = (CGrCWKonsolenComp *)m_pRBList->m_pOwner;

pGL = pCW->m_pCWSingle->m_pGuideLists[0];

}

elseif(m_pRBList->m_pOwner->IsKindOf(RUNTIME_CLASS(CGrHyBSKonsolenComp)))

{

pHY = (CGrHyBSKonsolenComp *)m_pRBList->m_pOwner;

switch(GetShaft()->m_pAnlagenSet->m_SYS_HY_TYPE)

{

case SYS_HY_TYPE_1_ZYL_BS_DIREKT: case SYS_HY_TYPE_1_ZYL_BS_INDIREKT:

pGL = GetShaft()->m_pCar->m_pFrame->m_pGuideLists[0];

}

}

if(pGL)

pData[3] = pGL->m_pGuideSet->m_GD_H_1;

else

pData[3] = 0;

if(m_pRBSet)

pData[4] = m_pRBSet->m_RB_SEPB_Y;

else

pData[4] = 0;

pData[5] = m_pRBList->m_RB_DBG_POS_Edit;

// [6] Wandabstand zur rechten Wand// [7] Wandabstand zur linken Wand// 5.1.05: Neue Parameter// [25] Wandabstand des Separatorbeams auf der linken seite (falls vorhanden)// [26] Breite des Separatorbeams auf der linken seite (falls vorhanden)// [27] Wandabstand des Separatorbeams auf der rechten seite (falls vorhanden)// [28] Breite des Separatorbeams auf der rechten seite (falls vorhanden)

pData[25] = 0;

// links

pData[26] = 0;

pData[27] = 0;

// rechts

pData[28] = 0;

double beam_ymin,beam_ymax,beam_width; switch(m_Wand)

{

case 1:

pData[6] = GetShaft()->m_DX - m_pRBList->m_X0;

pData[7] = m_pRBList->m_X0;

pData[8] = 0;

// linksif(GetShaft()->m_pKonsole[3])

{

GetShaft()->m_pKonsole[3]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[25] = beam_ymin;

pData[26] = beam_width;

}

// rechtsif(GetShaft()->m_pKonsole[4])

{

GetShaft()->m_pKonsole[4]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[27] = beam_ymin;

pData[28] = beam_width;

}

break; case 2:

pData[6] = m_pRBList->m_X0;

pData[7] = GetShaft()->m_DX - m_pRBList->m_X0;

pData[8] = 0;

// linksif(GetShaft()->m_pKonsole[4])

{

GetShaft()->m_pKonsole[4]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[25] = beam_ymin;

pData[26] = beam_width;

}

// rechtsif(GetShaft()->m_pKonsole[3])

{

GetShaft()->m_pKonsole[3]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[27] = beam_ymin;

pData[28] = beam_width;

}

break; case 3:

pData[7] = GetShaft()->m_DY - m_pRBList->m_Y0;

pData[6] = m_pRBList->m_Y0;

// linksif(GetShaft()->m_pKonsole[2])

{

GetShaft()->m_pKonsole[2]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[25] = beam_ymin;

pData[26] = beam_width;

}

// rechtsif(GetShaft()->m_pKonsole[1])

{

GetShaft()->m_pKonsole[1]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[27] = beam_ymin;

pData[28] = beam_width;

}

if(GetShaft()->m_pCar->m_pFrame->m_pGuideLists[0])

{

pData[8] = m_pRBList->m_Y0-GetShaft()->m_pCar->m_pFrame->m_pGuideLists[0]->Get_POS_Y0();

}

else

pData[8] = 0;

break; case 4:

pData[7] = m_pRBList->m_Y0;

pData[6] = GetShaft()->m_DY - m_pRBList->m_Y0;

// linksif(GetShaft()->m_pKonsole[1])

{

GetShaft()->m_pKonsole[1]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[25] = beam_ymin;

pData[26] = beam_width;

}

// rechtsif(GetShaft()->m_pKonsole[2])

{

GetShaft()->m_pKonsole[2]->GetSepBeamPos(&beam_ymin,&beam_ymax,&beam_width);

pData[27] = beam_ymin;

pData[28] = beam_width;

}

if(GetShaft()->m_pCar->m_pFrame->m_pGuideLists[1])

{

pData[8] = GetShaft()->m_pCar->m_pFrame->m_pGuideLists[1]->Get_POS_Y0() - m_pRBList->m_Y0;

}

else

pData[8] = 0;

break; default:

ASSERT(0);

}

// Zylinderdurchmesser in der richtugen Höhe liefern

pData[9]=0;

if(GetShaft()->m_pCar->m_pFrame->m_pCylinder[0])

{

if(GetShaft()->m_pCar->m_pFrame->m_pCylinder[0]->IsActive())

pData[9]=GetShaft()->m_pCar->m_pFrame->m_pCylinder[0]->m_pCylinderSet->m_CY_H;

}

pData[10]=m_pRBSet->m_RB_D;

pData[21] = m_pRBSet->m_RB_P1_WIDTH;

pData[22] = m_pRBSet->m_RB_P2_WIDTH;

pData[23] = m_pRBSet->m_RB_P3_WIDTH;

pData[24] = m_pRBSet->m_RB_P4_WIDTH;

// Abstand zwischen Mitte Stichmaß und EP des Cylinders

pData[11] = 0;

if(m_pRBSet)

{

// Abstand zwischen Schienenbügel und Cylinder

GPoint V1;

if(pCyl)

{

V1 = m_pWorldRoot->m_R0;

V1 -= pCyl->m_pWorldRoot->m_R0;

switch(m_Wand)

{

case 1:

pData[11] = -V1.m_x;

break; case 2:

pData[11] = V1.m_x;

break; case 3:

pData[11] = V1.m_y;

break; case 4:

pData[11] = -V1.m_y;

break;

}

}

}

// Abstand zwischen Mitte Stichmaß und EP des YG

pData[12] = 0;

if(m_pRBSet)

{

// Abstand zwischen Schienenbügel und Cylinder

GPoint V1;

if(pYG)

{

V1 = m_pWorldRoot->m_R0;

V1 -= pYG->m_pWorldRoot->m_R0;

switch(m_Wand)

{

case 1:

pData[12] = -V1.m_x;

break; case 2:

pData[12] = V1.m_x;

break; case 3:

pData[12] = V1.m_y;

break; case 4:

pData[12] = -V1.m_y;

break;

}

}

}

if(pData[12] == 975)

Assert(0);

// Abstand zwischen Mitte Stichmaß und EP des Cylinders

pData[13] = 0;

if(m_pRBSet)

{

// Abstand zwischen Schienenbügel und Cylinder

GPoint V1;

if(pCyl)

{

V1 = pCyl->m_pWorldRoot->m_R0;

V1 -= m_pWorldRoot->m_R0;

switch(m_Wand)

{

case 1:

pData[13] = V1.m_y;

break; case 2:

pData[13] = -V1.m_y;

break; case 3:

pData[13] = V1.m_x;

break; case 4:

pData[13] = -V1.m_x;

break;

}

}

}

// Abstand zwischen Mitte Stichmaß und EP des YG

pData[14] = 0;

if(m_pRBSet)

{

GPoint V1;

if(pYG)

{

V1 = pYG->m_pWorldRoot->m_R0;

V1 -= m_pWorldRoot->m_R0;

switch(m_Wand)

{

case 1:

pData[14] = V1.m_y;

break; case 2:

pData[14] = -V1.m_y;

break; case 3:

pData[14] = V1.m_x;

break; case 4:

pData[14] = -V1.m_x;

break;

}

}

}

pData[15] = 0;

if(pYG)

pData[15] = pYG->GET_DBG();

pData[16] = 0;

if(pYG)

{

if(pYG->m_pGuideLists[0])

pData[16] = pYG->m_pGuideLists[0]->Get_GD_H_1();

}

// Zylinderdurchmesser in der richtigen Höhe liefern

pData[17]=0;

if(GetShaft()->m_pCar->m_pFrame->m_pCylinder[0])

{

if(GetShaft()->m_pCar->m_pFrame->m_pCylinder[0]->m_pCylSupport->IsActive())

pData[17]=GetShaft()->m_pCar->m_pFrame->m_pCylinder[0]->m_pCylSupport->m_pCylSupportSet->m_CSU_D;

}

// 31.10.2005 Neue Parameter des Kabinenrahmens// Wird bei dem CWT railbracket manchmal benötigt// [29] DBG car frame// [30] Mitte RB = mitte CWT -> Mitte DBG carframe

pData[29] = GetShaft()->m_pCar->m_pFrame->GET_DBG();

pData[30] = GetShaft()->m_pCar->m_pFrame->m_CL_Dist;

pData[31] = GetShaft()->m_pCar->m_pFrame->m_CompDist;

pData[32] = 0;

if(GetShaft()->m_pCar->m_pFrame->m_pGuideLists[0])

{

pData[32] = GetShaft()->m_pCar->m_pFrame->m_pGuideLists[0]->Get_GD_H_1() *

GetShaft()->m_pCar->m_pFrame->m_pGuideLists[0]->Get_GD_H_SIGN();

}

pData[50] = m_pRBSet->m_RB_USER_PG_50;

pData[51] = m_pRBSet->m_RB_USER_PG_51;

pData[52] = m_pRBSet->m_RB_USER_PG_52;

pData[53] = m_pRBSet->m_RB_USER_PG_53;

pData[54] = m_pRBSet->m_RB_USER_PG_54;

}

Integer

4

✓

0
​

RB_GD_RID

RID number of the guides.

Insert a "0" here - the guides are selected by the L_DTColTab and the L_DTColDwgDimTab.

Integer

4

✓

0
​

RB_RBY_GRP

Number of the dimension group in the L_RailBracketYTab

Integer

4

✓

0
​

RB_DBG

[0], Distance between guides of the rail-bracket.

Insert a "0" for brackets for rope-, central- and double-hydraulic jack frames.

Double

9

✓

0
​

RB_DBG_J

Distance between the guides of the yoke/auxiliary guide

Double

9

✓

0
​

RB_YG_RID

RID number of the yoke/auxiliary guides

Integer

4

✓

0
​

RB_DBG_POS

[11], Distance between the IP (insert point) of the rail bracket and the position of the cylinder (in x-direction).

Double

9

✓

0
​

RB_WALL

Distance between the IP (insert point) of the rail bracket and the fixing wall of the rail bracket.

Double

9

✓

0
​

RB_D

[10], Difference between the length of the wall-profile and the distance between guide.

Length of the bracket = DBG+RB_D

Insert a "0" for rope- and central-drive brackets, similar to the RB_DBG.

Double

9

✓

0
​

RB_AR_COUNT

Quantity of the anchor-rails to fix the rail bracket.

Following entries are possible:
0, 1 and 2.

SmallInt

2

✓

0
​

RB_AR_RID

RID number of the anchor-rail to fix the rail-bracket

Integer

4

✓

0
​

RB_MODE

This value set some specified options of the rail bracket:

0x0001 — Automatic positioning of the anchor rail
0x0002 — The base of the separator beam is between Y1 and Y2. If not set,the base point of the separator beam is between Y1 and RB_WALL
0x0004 — The rail bracket has a separator beam as default.

Integer

4

✓

0
​

RB_RBN_RID

Connection to L_RailBracketNameTab which defines a main type group for the rail brackets.

For example:
​- "Rail brackets shared by car and cw"

Integer

4

✓

0
​

RB_SEPB_RID

RID number of the separator beam, when one is used for the rail bracket.

Insert a "0" if no one is used.

  • When the separator beam rid is inserted, please check the RB_MODE for the specified options for the separator beam.

Integer

4

✓

0
​

RB_SEPB_Y

Distance between the cw-rail and the front side of the separator beam.

Note:
If the bit 0x0002 is set in the variable RB_MODE, the sign of this variable is important.
If the value > 0, it contains the distance as explained in the drawing.
If the value <= 0, it contains the initial distance to the next component - typically to the counterweight. For example -50 means 50 mm clearance between the counterweight and the seperator beam.

Double

9

✓

0
​

RB_P1_WIDTH

[21], Width of rear profile

Double

9

✓

0
​

RB_P2_WIDTH

[22], Width of right profile

Double

9

✓

0
​

RB_P3_WIDTH

[23], Width of front profile

Double

9

✓

0
​

RB_P4_WIDTH

[24], Width of left profile

Double

9

✓

0
​

RB_PART_NO

No. of the supplier, part number or ordering number

VarWChar

50

✓

RB_USER_PG_50

Variable for a free selection

Double

9

✓

0
​

RB_USER_PG_51

Variable for a free selection

Double

9

✓

0
​

RB_USER_PG_52

Variable for a free selection

Double

9

✓

0
​

RB_USER_PG_53

Variable for a free selection

Double

9

✓

0
​

RB_USER_PG_54

Variable for a free selection

Double

9

✓

0
​

RB_USER_PG_55

Double

9

✓

0
​

RB_USER_PG_56

Double

9

✓

0
​

RB_USER_PG_57

Double

9

✓

0
​

RB_USER_PG_58

Double

9

✓

0
​

RB_USER_PG_59

Double

9

✓

0
​

RB_USER_PG_60

Double

9

✓

0
​

RB_USER_PG_61

Double

9

✓

0
​

RB_USER_PG_62

Double

9

✓

0
​

RB_USER_PG_63

Double

9

✓

0
​

RB_USER_PG_64

Double

9

✓

0
​

RB_USER_PG_65

Double

9

✓

0
​

RB_USER_PG_66

Double

9

✓

0
​

RB_USER_PG_67

Double

9

✓

0
​

RB_USER_PG_68

Double

9

✓

0
​

RB_USER_PG_69

Double

9

✓

0
​

Did this answer your question?