Artigos de CABINET VISION

0

UCS - FURAÇÃO FRENTE INTERMÉDIA E FRENTE GAVETA

Avatar
Eduardo Fernandes


Este UCS adiciona furações entre frente intermédia e frente de gaveta para caixas de gaveta de 5 peças. 



Para isso, precisamos primeiramente de criar o Intelli-Joint que será aplicado no Gestor de Uniões Intelli-Joint da seguinte forma: 



O UCS contém parâmetros públicos para permitir definir margens às extremidades e espaçamentos. O calculo da repetição dos furos é sempre baseado em múltiplos de 32mm.



O UCS deve estar ativo e com a seguinte configuração para funcionar corretamente: 


BIT_GEN - FURACAO FRENTE INTERMEDIA E FRENTE GAVETA

;Aplicar furação para fixação de Frente Intermédia e Frente nas gavetas

For Each BF Part

Public MARGEM_LATERAL<meas> = 50mm ;Margem lateral Mínima
Public MARGEM_INFERIOR<meas> = 50mm ;Margem Inferior Mínima
Public MARGEM_SUPERIOR<meas> = 50mm ;Margem Superior Mínima

Public DIS_MAX_FUROS_HOR<meas> = 400mm ;Distância Máxima entre furos Horizontais
Public DIS_MIN_FUROS_VER<meas> = 100mm ;Distância Mínima entre furos Verticais

;Cálculos

;Furos à Largura
DISTANCIA_UTIL_LARG<meas> := DY - MARGEM_LATERAL * 2
NUM_FUROS_INTERM_HOR<int> := TRUNC(DISTANCIA_UTIL_LARG / DIS_MAX_FUROS_HOR) + 1
DISTANCIA_FUROS_INTERM_HOR<meas> := DISTANCIA_UTIL_LARG / NUM_FUROS_INTERM_HOR
DISTANCIA_FUROS_INTERM_M32_HOR<meas> := TRUNC(DISTANCIA_FUROS_INTERM_HOR / 32mm) * 32mm
ACERTO_HOR<meas> := (DISTANCIA_UTIL_LARG - DISTANCIA_FUROS_INTERM_M32_HOR * NUM_FUROS_INTERM_HOR) / 2
ESP_ENTRE_FUROS<meas> := DISTANCIA_FUROS_INTERM_M32_HOR
REPET_FUROS<int> := NUM_FUROS_INTERM_HOR + 1

;Furos à Altura
DISTANCIA_UTIL_ALt<meas> := DX - MARGEM_INFERIOR - MARGEM_SUPERIOR
ESP_32MM_ALTURA<int> := TRUNC(DISTANCIA_UTIL_ALt / 32mm)
DIST_FUROS_EXTREM_VER<meas> := 32mm * ESP_32MM_ALTURA
ACERTO_VER<meas> := (ALTURA_UTIL - DIST_FUROS_EXTREM_VER) / 2

IF DISTANCIA_FUROS_INTERM_HOR > 0 Then
 
ELSE
;DISTANCIA_FUROS_INTERM_HOR<int> := 0
ESP_ENTRE_FUROS := 32mm * ESPACOS_32MM_LARGURA
End If

If DISTANCIA_UTIL_ALt > DIS_MIN_FUROS_VER Then

Dim FurosCent_FrenteGaveta as New IJoint
FurosCent_FrenteGaveta._FACEWP = 2
FurosCent_FrenteGaveta.DX = 1mm
FurosCent_FrenteGaveta.DY = 1mm
FurosCent_FrenteGaveta.DZ = 0
FurosCent_FrenteGaveta.X := MARGEM_SUPERIOR + ACERTO_VER + DIST_FUROS_EXTREM_VER
FurosCent_FrenteGaveta.Y := MARGEM_LATERAL + ACERTO_HOR
FurosCent_FrenteGaveta.Z = 0
FurosCent_FrenteGaveta.AX<deg> = 0
FurosCent_FrenteGaveta.AY<deg> = 0
FurosCent_FrenteGaveta.AZ<deg> = 0
FurosCent_FrenteGaveta.ESPAC<meas> := ESP_ENTRE_FUROS
FurosCent_FrenteGaveta.REPET<int> := REPET_FUROS
FurosCent_FrenteGaveta.IJNT<int> = IJointID('Furos Frente Gaveta')

Dim FurosSup_FrenteGaveta as New IJoint
FurosSup_FrenteGaveta._FACEWP = 2
FurosSup_FrenteGaveta.DX = 1mm
FurosSup_FrenteGaveta.DY = 1mm
FurosSup_FrenteGaveta.DZ = 0
FurosSup_FrenteGaveta.X := MARGEM_SUPERIOR + ACERTO_VER
FurosSup_FrenteGaveta.Y := MARGEM_LATERAL + ACERTO_HOR
FurosSup_FrenteGaveta.Z = 0
FurosSup_FrenteGaveta.AX<deg> = 0
FurosSup_FrenteGaveta.AY<deg> = 0
FurosSup_FrenteGaveta.AZ<deg> = 0
FurosSup_FrenteGaveta.ESPAC<meas> := ESP_ENTRE_FUROS
FurosSup_FrenteGaveta.REPET<int> := REPET_FUROS
FurosSup_FrenteGaveta.IJNT<int> = IJointID('Furos Frente Gaveta')

Else

Dim FurosCent_FrenteGaveta as New IJoint
FurosCent_FrenteGaveta._FACEWP = 2
FurosCent_FrenteGaveta.DX = 1mm
FurosCent_FrenteGaveta.DY = 1mm
FurosCent_FrenteGaveta.DZ = 0
FurosCent_FrenteGaveta.X := MARGEM_SUPERIOR + ACERTO_VER + DIST_FUROS_EXTREM_VER / 2
FurosCent_FrenteGaveta.Y := MARGEM_LATERAL + ACERTO_HOR
FurosCent_FrenteGaveta.Z = 0
FurosCent_FrenteGaveta.AX<deg> = 0
FurosCent_FrenteGaveta.AY<deg> = 0
FurosCent_FrenteGaveta.AZ<deg> = 0
FurosCent_FrenteGaveta.ESPAC<meas> := ESP_ENTRE_FUROS
FurosCent_FrenteGaveta.REPET<int> := REPET_FUROS
FurosCent_FrenteGaveta.IJNT<int> = IJointID('Furos Frente Gaveta')

End If
Avatar
Descartar