Hi @amrit3701,
I have made required changes in PR.
Please review changes, let me know if further changes are required in it.
Thanks and Regards
Hi @amrit3701,
Hi @amrit3701,Shiv_Charan wrote: ↑Fri Jun 18, 2021 1:23 pm
here is pull request: https://github.com/amrit3701/FreeCAD-Re ... t/pull/156
Current implementation use same type of rebar for both parallel and cross rebars in slab.
I am working on adding support for different type of rebar for parallel and cross rebars.
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="StraightRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=None,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="StraightRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=None,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="StraightRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=None,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="LShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="StraightRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=None,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="UShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="StraightRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=None,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="BentShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=50,
cross_bent_bar_angle=135,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="LShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="LShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="LShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="UShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="LShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="BentShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=50,
cross_bent_bar_angle=135,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="UShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="UShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="UShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="BentShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=50,
cross_bent_bar_angle=135,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="BentShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=20,
parallel_rounding=2,
parallel_bent_bar_length=150,
parallel_bent_bar_angle=135,
cross_rebar_type="BentShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=20,
cross_rounding=2,
cross_bent_bar_length=150,
cross_bent_bar_angle=135,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Nice progress!Shiv_Charan wrote: ↑Sun Jun 20, 2021 3:32 pm Hi @amrit3701,
Implementation for different type of rebars for parallel and cross rebars in slab reinforcement is done.
here is commit: https://github.com/ShivCharanSharma/Fre ... 0c26a8c91d.
Thank you
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="LShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
parallel_l_shape_hook_orintation="Left",
cross_rebar_type="LShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
cross_l_shape_hook_orintation="Alternate",
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="LShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
parallel_l_shape_hook_orintation="Left",
cross_rebar_type="LShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
cross_l_shape_hook_orintation="Left",
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="LShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
parallel_l_shape_hook_orintation="Left",
cross_rebar_type="StraightRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=None,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="LShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
parallel_l_shape_hook_orintation="Alternate",
cross_rebar_type="LShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=None,
cross_bent_bar_angle=None,
cross_l_shape_hook_orintation="Right",
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="StraightRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=20,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=20,
parallel_rounding=None,
parallel_bent_bar_length=None,
parallel_bent_bar_angle=None,
cross_rebar_type="BentShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=20,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=150,
cross_bent_bar_angle=135,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
cross_distribution_rebars_diameter=8,
cross_distribution_rebars_check = True,
cross_distribution_rebars_count = 4,
)
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="BentShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=30,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=150,
parallel_bent_bar_angle=135,
cross_rebar_type="BentShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=29,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=150,
cross_bent_bar_angle=135,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
parallel_distribution_rebars_check= True,
parallel_distribution_rebars_diameter=8,
parallel_distribution_rebars_count= 4,
cross_distribution_rebars_check = True,
cross_distribution_rebars_diameter=8,
cross_distribution_rebars_count = 4,
)
Hi Zolko,
Code: Select all
from SlabReinforcement import SlabReinforcement
import importlib
importlib.reload(SlabReinforcement)
SlabReinforcement.makeSlabReinforcement(
parallel_rebar_type="BentShapeRebar",
parallel_front_cover=20,
parallel_rear_cover=20,
parallel_left_cover=10,
parallel_right_cover=10,
parallel_top_cover=30,
parallel_bottom_cover=20,
parallel_diameter=8,
parallel_amount_spacing_check=True,
parallel_amount_spacing_value=10,
parallel_rounding=2,
parallel_bent_bar_length=150,
parallel_bent_bar_angle=135,
cross_rebar_type="BentShapeRebar",
cross_front_cover=20,
cross_rear_cover=20,
cross_left_cover=10,
cross_right_cover=10,
cross_top_cover=29,
cross_bottom_cover=20,
cross_diameter=8,
cross_amount_spacing_check=True,
cross_amount_spacing_value=10,
cross_rounding=2,
cross_bent_bar_length=150,
cross_bent_bar_angle=135,
mesh_cover_along="Bottom",
structure=App.getDocument("slab").getObject("Beam"),
facename='Face4',
parallel_distribution_rebars_check= True,
parallel_distribution_rebars_diameter=8,
parallel_distribution_rebars_amount_spacing_check= True,
parallel_distribution_rebars_amount_spacing_value= 6,
cross_distribution_rebars_check = True,
cross_distribution_rebars_diameter=8,
cross_distribution_rebars_amount_spacing_check=False,
cross_distribution_rebars_amount_spacing_value = 40,
)
Weekly progress report of Shiv: https://www.patreon.com/posts/implementation-53254413
Implementation of UI to make slab Reinforcement is complete, including suggestions related to removing separate tabs for parallel/cross distribution rebars as discussed in meeting.Shiv_Charan wrote: ↑Thu Jul 01, 2021 2:16 pm
Implementation for UI is in progress and will be complete soon.