Hi everyone again,
I am trying to define an structure with VB.net and I have problems with buckling length. I am defining it with:
With RdmMembDefData
.SetStructureSwayYZ(RobotOM.IRDimMembDefBucklingDataType.I_DMDBDT_BUCKLING_Y, 1)
.SetLengthYZUV(RobotOM.IRDimMembDefLengthDataType.I_DMDLDT_LENGTH_Y, 1.0#)
.SetStructureSwayYZ(RobotOM.IRDimMembDefBucklingDataType.I_DMDBDT_BUCKLING_Z, 1)
.SetLengthYZUV(RobotOM.IRDimMembDefLengthDataType.I_DMDLDT_LENGTH_Z, 1.0#)
.SetDeflectionYZ(RobotOM.IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Y, 1)
.SetDeflectionYZ(RobotOM.IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 1)
.SetDeflYZRelLimit(RobotOM.IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Y, 10.0#)
.SetDeflYZRelLimit(RobotOM.IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, 10.0#)
.CantileverMode = 1
.SetDisplacementXY(RobotOM.IRDimMembDefDispDataType.I_DMDDDT_DISP_X, 1)
.SetDisplacementXY(RobotOM.IRDimMembDefDispDataType.I_DMDDDT_DISP_Y, 1)
.SetDisplXYRelLimit(RobotOM.IRDimMembDefDispDataType.I_DMDDDT_DISP_X, 10.0#)
.SetDisplXYRelLimit(RobotOM.IRDimMembDefDispDataType.I_DMDDDT_DISP_Y, 10.0#)
End With
but I have obtained a numeric length of the bars. I want to enter a coefficient for "Y" and a coefficient for "Z", which is the correct method?
Thanks...
Solved! Go to Solution.
Solved by Rafal.Gaweda. Go to Solution.
Solved by Rafal.Gaweda. Go to Solution.
I am trying with this:
Dim RdmCodeMembDefPar As Object
RdmCodeMembDefPar = RdmMembDefData.CodeParams
With RdmCodeMembDefPar
.BuckLenghtCoeffY = 1.0#
.BucklingDiagramY = "I_DBD_CM66_NO"
.BuckLenghtCoeffZ = 0.8
.BucklingDiagramZ = I_DBD_CM66_PINNED_STIFF_0_7
.LoadTypeY = I_DLT_CM66_NO_MID_SPAN_FORCE_LOAD
.LoadTypeZ = I_DLT_CM66_USR_DEF_MOM_MC
.LoadTypeDistY = 2.0#
.LoadTypeMomMcZ = 26.0#
.LatBuckType = I_DLBT_CM66_CANTILEVER
.LoadLevel = I_DLL_CM66_UPP_SECT_PAR_LOADED
.LoadLevelValue = 1.2
.LatBuckCoef_LowFlan = I_DLBCD_CM66_USER_DEFINED
.LatBuckCoef_UppFlan = I_DLBCD_CM66_USER_DEFINED
.UserDefLatBuckCoef_LowFlan = 0.7
.UserDefLatBuckCoef_UppFlan = 0.9
.TensAreaNetGros = 1.1
.TubeControl = 1
End With
RdmMembDefData.CodeParams = RdmCodeMembDefPar
but it does not work in order to enter a coefficient for buckling length. Is there any way to enter this coefficient?
Thank you...
Example:
RobApp.Project.Preferences.SetActiveCode I_CT_STEEL_STRUCTURES, "ENV 1993-1:1992" Dim RLabel As IRobotLabel Dim RdimLabelData As IRDimMembDefData Dim RDimMembParams As IRDimMembParamsEC3 Set RLabel = RobApp.Project.Structure.Labels.Create(I_LT_MEMBER_TYPE, "My Label") Set RdimLabelData = RLabel.Data RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Y, 100 RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Z, 200 RdimLabelData.SetDisplXYRelLimit I_DMDDDT_DISP_X, 300 RdimLabelData.SetDisplXYRelLimit I_DMDDDT_DISP_Y, 400 Set RDimMembParams = RdimLabelData.CodeParams RDimMembParams.BuckLengthCoeffY = 10 '...... RdimLabelData.CodeParams = RDimMembParams RobApp.Project.Structure.Labels.Store RLabel Set RLabel = Nothing End If
thanks again, but I have some troubles with "RDimMembParams = RdimLabelData.CodeParams", see attachment.
regards..
Upps , sorry.
Correct line with correct code name:
RobApp.Project.Preferences.SetActiveCode I_CT_STEEL_STRUCTURES, "EC3"
Thank you, but it works with EC3 code only.
I am trying with other codes, and it doesn' work. I need:
UNE-EN 1993:2008/AC:2009
ANSI/AISC 360-05
.
.
.
The member type difinition window is different in each code, but the names of the parameters are the same.
Regards...
RobApp.Project.Preferences.SetActiveCode I_CT_STEEL_STRUCTURES, "ANSI/AISC 360-05" Dim RLabel As IRobotLabel Dim RdimLabelData As IRDimMembDefData Dim RDimMembParams As IRDimMembParamsANS Set RLabel = RobApp.Project.Structure.Labels.Create(I_LT_MEMBER_TYPE, "My Label") Set RdimLabelData = RLabel.Data RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Y, 100 RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Z, 200 RdimLabelData.SetDisplXYRelLimit I_DMDDDT_DISP_X, 300 RdimLabelData.SetDisplXYRelLimit I_DMDDDT_DISP_Y, 400 Set RDimMembParams = RdimLabelData.CodeParams RDimMembParams.BuckLenghtCoeffY = 10 '...... RdimLabelData.CodeParams = RDimMembParams RobApp.Project.Structure.Labels.Store RLabel Set RLabel = Nothing
I am checking the previous code, It works. Then I am trying with other codes, and I have found out a trouble. In "RobotOM.IRDimMembParams" we have 9-10 options, but in Robot, we have a lot of options (see attached). Because of these, is it possible to design with API taking into account all codes included in ROBOT? We need some of them to develop our projects. And more important, HOW? 🙂
Thank you for your efforts...
Because of these, is it possible to design with API taking into account all codes included in ROBOT?
No, or I least I do not think so.
I can see, It is a bit limitated. About EC3, take care, with this option code, Robot takes not actual Eurocodes Standards.
Thank you again and we will look for news about this in the future...
It is OK, but, ENV are provisional and in ROBOT it is possible to select EN 1993-1:2005/AC:2009, the actual one...
EC3_2004 = EN 1993-1:2005/AC:2009
RobApp.Project.Preferences.SetActiveCode I_CT_STEEL_STRUCTURES, "EC3_2004" Dim RLabel As IRobotLabel Dim RdimLabelData As IRDimMembDefData Dim RDimMembParams As IRDimMembParamsE32
EC3_2004_ESP = UNE-EN 1993:2008/AC:2009
RobApp.Project.Preferences.SetActiveCode I_CT_STEEL_STRUCTURES, "EC3_2004_ESP" Dim RLabel As IRobotLabel Dim RdimLabelData As IRDimMembDefData Dim RDimMembParams As IRDimMembParamsE32
You can find code names: "c:\ProgramData\Autodesk\Structural\Common Data\2014\Data\Other\norms.xls" , B column to be used in API , RDIM part - steel codes
Thank yo so much, this is what we are waiting for; is there another table with equvalences to IRDimMembParams*******??
I try to set Buckling Length for timber bar type using Eurocode 5 (RDimMembParamsE52 )
It works for steel bar type, but I don't understand why it doesn't work for wood bar type.
Have you any ideas to solve this problem?
I see the same problem with the definition of deflection limit and nodes displacement limite (ULS).
Others parameters like buckling coefficient work very well.
(I use Robot 2012)
Best regards,
Charles THIERRY DE VILLE D'AVRAY
villedavray_charles@yahoo.fr
(You can send me an email at this adress)
---------------------Here is the code I try to use----------------------
Dim Robot As RobotOM.IRobotApplication = Rob
'Création d'un nouveau type de barre
Dim RLabel2 As IRobotLabel = Robot.Project.Structure.Labels.CreateLike(IRobotLabelType.I_LT_MEMBER_TYPE, NomTypeBarreBois, "Barre bois")
Dim RdimLabelData As IRDimMembDefData = RLabel2.Data
Dim RDimMembParams As IRDimMembParamsE52 = RdimLabelData.CodeParams
RdimLabelData.Type = IRDimMembDefType.I_DMDT_USER
'Définir les longueurs de flambement autour de l'axe Y
RdimLabelData.SetLengthYZUV(IRDimMembDefLengthDataType.I_DMDLDT_LENGTH_Y, 255)
'Définir les longueurs de flambement autour de l'axe Z
RdimLabelData.SetLengthYZUV(IRDimMembDefLengthDataType.I_DMDLDT_LENGTH_Z, 355)
'Active ou désactive la verification de la fleche finale
RdimLabelData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Y, FlecheFinaleY)
RdimLabelData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, FlecheFinaleZ)
'Définit la flêche due aux charges variables
RdimLabelData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Y, FlecheRelativeY)
RdimLabelData.SetDeflYZRelLimit(IRDimMembDefDeflDataType.I_DMDDDT_DEFL_Z, FlecheRelativeZ)
'Définit le deplacement des noeuds maxi
'RdimLabelData.SetDisplXYRelLimit(IRDimMembDefDispDataType.I_DMDDDT_DISP_X, depX)
'RdimLabelData.SetDisplXYRelLimit(IRDimMembDefDispDataType.I_DMDDDT_DISP_Y, depY)
'Affecte les paramètres au type de barre
RdimLabelData.CodeParams = RDimMembParams
'Enregistre le type de barre sous...
Robot.Project.Structure.Labels.StoreWithName(RLabel2, NomTypeBarreBois)
These parameters are implemented:
Set RdimLabelData = RLabel.Data RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Y, 10 RdimLabelData.SetDeflYZRelLimit I_DMDDDT_DEFL_Z, 20 RdimLabelData.SetDeflectionYZ I_DMDDDT_DEFL_Y, 1 RdimLabelData.SetDeflectionYZ I_DMDDDT_DEFL_Z, 1 RdimLabelData.CantileverMode = 1 RdimLabelData.SetDisplXYRelLimit I_DMDDDT_DISP_X, 30 RdimLabelData.SetDisplXYRelLimit I_DMDDDT_DISP_Y, 40 RdimLabelData.SetDisplacementXY I_DMDDDT_DISP_X, 1 RdimLabelData.SetDisplacementXY I_DMDDDT_DISP_Y, 1