Ilogic Boiler wall panel

Ilogic Boiler wall panel

ekjerside
Contributor Contributor
317 Views
1 Reply
Message 1 of 2

Ilogic Boiler wall panel

ekjerside
Contributor
Contributor

Hello

I am trying to build an ilogic the can parametric control a assembly of a wallpanel for a boiler. I am using a Skeletal modelling teknik to build the model and sync/update that into to the assembly.

overview.png

But the catch is following:

1. If the Cladding is on , then the Slit Cutout shall be in every middle fines and if the Cladding is covering the Slit Cutout then the Slit Cutout has to cut through the cladding also.
2. If the Cladding is off, then the Slit Cutout shall be in every second middle fin if the Cladding is covering the Slit Cutout then the Slit Cutout has to cut through the cladding also.

The code:

 

'Parameter panel from skelet model
Parameter("test_skeletmodel:1", "Totalheight") = Panelheight
Parameter("test_skeletmodel:1", "pitch") = Pitch
Parameter("test_skeletmodel:1", "tubes") = Tubes
Parameter("test_skeletmodel:1", "Vertical_section")=Verticalsection
Parameter("test_skeletmodel:1", "Tube_Bend_radius")=panelbendradius
Parameter("test_skeletmodel:1", "deduction")=Deduction
'Parameter fin slit from skeletmodel
Parameter("test_skeletmodel:1", "pitch_left_side") = Fin_width_left
Parameter("test_skeletmodel:1", "pitch_right_side") = Fin_width_left
Parameter("test_skeletmodel:1", "tubes") = Tubes

'Parameter tube material and certifikat
iProperties.MaterialOfComponent("test_tube:1") = Tube_material
'Parameter tube Certifikat
MultiValue.SetListInComponent("test_tube:1", "Cert", "EN10204-2.2", "EN10204-3.1", "EN10204-3.2")
Parameter("test_tube:1", "Cert") = Tube_Material_Certifikat
'Parameter tube dimension data
Parameter("test_skeletmodel:1", "Tubediameter") = pipediameter
Parameter("test_skeletmodel:1", "Tube_wall_thickness") = pipethickness
Parameter("test_skeletmodel:1", "Pipechamfer") = Tube_end_chamfer



'Chanfer on tubes yes or no
If  Tube_end_chamfer = False
	Feature.IsActive("test_skeletmodel:1", "Topchamfer_pipe") = False
	Feature.IsActive("test_skeletmodel:1", "bottomchamfer_pipe") = False
Else If Tube_end_chamfer = True
	Feature.IsActive("test_skeletmodel:1", "Topchamfer_pipe") = True
	Feature.IsActive("test_skeletmodel:1", "bottomchamfer_pipe") = True
End If

'Parameter fines on/off
Parameter("test_skeletmodel:1", "Fin_thickness") = finthickness
Parameter("test_skeletmodel:1", "fin_cutout") = fincutoutlength
'Parameter("Test_fin:1", "Fin_slit_YesNO") = Fin_slit_end
'If  Fin_slit_end = False
    'Feature.IsActive("Pattern_finslit_bottom") = False
    'Feature.IsActive("Pattern_finslit_top") = False
	'Feature.IsActive("Finslit_Cutout_bottom") = False
	'Feature.IsActive("Finslit_Cutout_top") = False
'Else If Fin_slit_end = True
	'Feature.IsActive("Pattern_finslit_bottom") = True
    'Feature.IsActive("Pattern_finslit_top") = True
	'Feature.IsActive("Finslit_Cutout_bottom") = True
	'Feature.IsActive("Finslit_Cutout_top") = True
'End If



'Parameter fines configuration inconel yes/no
'If Internal_Cladding = True Or External_Cladding = True 
	'Parameter("Fin_slit_numbers") = Tubes - 1
	'Parameter("Fin_Slit_pitch") = Pitch
	'Parameter("Fin_slit_numbers") = Tubes-1
	'Parameter("Fin_Slit_pitch") = Pitch
'Else If Internal_Cladding = False Or External_Cladding = False
	'Parameter("Fin_slit_numbers") = Round((Tubes - 1) / 2)
	'Parameter("Fin_Slit_pitch") = Pitch * 2
	'Parameter("Fin_slit_numbers") = Round((Tubes - 1) / 2)
	'Parameter("Fin_Slit_pitch") = Pitch * 2
'End If

'fin left side configuration
If Leftside_fin_configuration = "None" Then
Feature.IsActive("test_skeletmodel:1", "Chamfer1left") = False
Feature.IsActive("test_skeletmodel:1", "Chamfer2left") = False
Feature.IsActive("test_skeletmodel:1", "Chamfer3left") = False
Else If Leftside_fin_configuration = "Chamfer1"
	Feature.IsActive("test_skeletmodel:1", "Chamfer1left") = True
	Feature.IsActive("test_skeletmodel:1", "Chamfer2left") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer3left") = False
Else If Leftside_fin_configuration = "Chamfer2"
	Feature.IsActive("test_skeletmodel:1", "Chamfer1left") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer2left") = True
	Feature.IsActive("test_skeletmodel:1", "Chamfer3left") = False
Else If Leftside_fin_configuration = "Chamfer3"
	Feature.IsActive("test_skeletmodel:1", "Chamfer1left") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer2left") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer3left") = True
End If

'fin equal check
'If Equal_end_fins = True 
	'Then Leftside_fin_configuration = Rightside_fin_configuration And Rightside_fin_configuration = Leftside_fin_configuration
'Else If Equal_end_fins = False
	'Then Leftside_fin_configuration = Leftside_fin_configuration And Rightside_fin_configuration = Rightside_fin_configuration 
'End If
	

'fin right_side configuration
If Rightside_fin_configuration = "None" Then
    Feature.IsActive("test_skeletmodel:1", "Chamfer1right") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer2right") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer3right") = False
Else If Rightside_fin_configuration = "Chamfer1"
	Feature.IsActive("test_skeletmodel:1", "Chamfer1right") = True
	Feature.IsActive("test_skeletmodel:1", "Chamfer2right") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer3right") = False
Else If Rightside_fin_configuration = "Chamfer2"
	Feature.IsActive("test_skeletmodel:1", "Chamfer1right") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer2right") = True
	Feature.IsActive("test_skeletmodel:1", "Chamfer3right") = False
Else If Rightside_fin_configuration = "Chamfer3"
	Feature.IsActive("test_skeletmodel:1", "Chamfer1right") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer2right") = False
	Feature.IsActive("test_skeletmodel:1", "Chamfer3right") = True
End If

'Parameter Cladding
Parameter("Test_skeletmodel:1", "cladding_cutout") = Free_lenght_cladding

'Cladding on/off
'Inner Cladding
If Internal_Cladding = False
	    Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_inner") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_inner:pattern") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_inner") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_inner_pattern") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_LFIN_T1_inner") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_RFIN_T1_inner") = False
	Else If Internal_Cladding = True
		Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_inner") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_inner:pattern") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_inner") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_inner_pattern") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_LFIN_T1_inner") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_RFIN_T1_inner") = True
End If

'Outer Cladding
If External_Cladding = False
	    Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_outer") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_outer_pattern") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_outer") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_outer_pattern") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_outer_pattern") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_LFIN_T1_outer") = False
	Feature.IsActive("test_skeletmodel:1", "Cladding_RFIN_T1_outer") = False
	Else If External_Cladding = True
		Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_outer") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_pipe_outer_pattern") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_outer") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_fin_outer_pattern") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_LFIN_T1_outer") = True
	Feature.IsActive("test_skeletmodel:1", "Cladding_RFIN_T1_outer") = True
End If

'Check if tubes are even or odd
'If Tubes Mod 2 = 0  AndAlso Internal_Cladding = True
'	Component.IsActive("Pattern_fin_slit_odd") = False
'	Component.IsActive("Pattern_fin_odd") = False
'	Component.IsActive("Pattern_fin_slit_even") = True
'	Component.IsActive("Pattern_fin_even") = False
'Else If Tubes Mod 2 = 1 And Internal_Cladding = False 
'	Component.IsActive("Pattern_fin_slit_odd") = True
'	Component.IsActive("Pattern_fin_odd") = False
'	Component.IsActive("Pattern_fin_slit_even") = False
'	Component.IsActive("Pattern_fin_even") = True
'End If
	
			
'Opdatering af skeleton
iLogicVb.RunRule("test_skeletmodel:1", "update")
iLogicVb.UpdateWhenDone = True

 Code attached and and models. Ilogic placed in assembly.

 

Any suggestions?....

 

 

 

0 Likes
318 Views
1 Reply
Reply (1)
Message 2 of 2

dalton98
Collaborator
Collaborator

Hello,

Is this a template assembly that you will copy/paste and use again? I ask because it sounds like the claddings could end up being the only custom parts - per assembly.

This might be too easy a solution, but this might work:

1. Make both claddings adaptive

2. Edit cladding > create sketch > project geometry all slits

3. create two extrusion ( one for the top of cladding, one bottom)

4. name extrusions accordingly and use the .IsActive whenever you need the slits cut out

(5.) Extrusions for the every other slit orientation

 

Also for every second fin to have a slit in it you could just continue how you have it set up and create a 5th and 6th pattern for that.

0 Likes