News: Need training? HyperSizer Training Videos are available now! Learn more here: https://hypersizer.com/trainingevents/e-learning/

Author Topic: BJSFM v5.8.11  (Read 29060 times)

GrEp_Analyst

  • Client
  • **
  • Posts: 6
    •  
BJSFM v5.8.11
« on: July 21, 2010, 07:10:56 PM »
First, I am using HyperSizer v5.8.11.

In this version a new BJSFM Input/Output Form has been added (Detail button on object tab). I believe this is the first version with this form.

On this form there is a "Fastern Load (limit)" Frame.  When I try to use the "Joint Shear load, q (from sizing form..." option I cannot get loads, or a margin of safety for any of my load cases.  However, everything seems to work fine if I manually input the loads using the first or third options.

Does the Joint load from FEM loads option work in this version? If so, how can do I get this to work?

Secondly, I tried to get around this option by using the object model.  I found the exposed class "Hole" which supposedly would allow me to update all the BJSFM options on the form programmatically.  However, when I implement the methods, and try to save everything with Group().save, nothing in the BJSFM form is updated. Are these methods turned off?

Thanks

Ryan

  • Administrator
  • *****
  • Posts: 145
    •  
Re: BJSFM v5.8.11
« Reply #1 on: July 22, 2010, 08:48:22 AM »
In regards to the object model all of the BJSFM parameters are exposed.

The hole object lives inside the component. There can be multiple hole objects per component. Each one pertains to a different 'object' of the structural concept (facesheet, web, bond).

component.hole(object id)

Make sure that when you modify the hole object parameters, you activate the 'HasHole' boolean.  If you do not, no changes will be visible in the form. Also be sure to reassign the modified hole object to the 'object load'

Sample Code:

Code: [Select]
                For Each oObjectLoad In oObjectLoadCol
                   
                    Set oHole = oComp.Hole(oObjectLoad.ObjectID)
                    oHole.HasHole = True
                   
                    Select Case lngId
                        Case 350 'Bearing Force
                            oHole.BearingForce = Cells(row, col).Value
                        Case 351 'Diameter
                            oHole.FastenerDiameter = Cells(row, col).Value
                        Case 352 'Load Angle
                            oHole.LoadAngle = Cells(row, col).Value

                        Case 369 'BJSFM Load Method, 1 = User Shear Load, 2 = Auto Shear Load, 3 = Bearing Force
                           
                            Select Case CLng(Cells(row, col).Value)
                                Case 1
                                    oHole.ModeLoad = flmJointShearLoad
                                Case 2
                                    oHole.ModeLoad = flmJointShearLoadSizingForm
                                Case 3
                                    oHole.ModeLoad = flmBearingForce
                            End Select
                           
                        Case 370 'BJSFM User Shear Load
                            oHole.ShearLoad = Cells(row, col).Value

                    End Select
                   
                    ' Assign modified hole object to component object
                    oComp.Hole(oObjectLoad.ObjectID) = oHole
                                   
                Next oObjectLoad