LA INTRODUCCIÓN El SAP2000 Application Programming Programming Interface (API) ( API) es una herramienta herra mienta poderosa que permite usuarios automatizar muchos de los procesos requirió construir, analizar y el diseño modela y para obtener hecho a la medida análisis y resultados del diseño. También da a usuarios permiso de conectar SAP2000 con software de terceros, con tal que un camino para el cambio de dos formas de información modelo con otro programa. La mayoría de lenguajes de programación principales pueden usarse para ganar acceso al SAP2000 a través del API. Éste incluye a Basic Visual para Applications (VBA), lo cual es incluido en programas como Microsoft Excel. Esta documentación es organizada en las siguientes categorías principales: Comenzando, SAP2000 API Funciona, y Example Code. La liberación Nota punto de interés recientes cambios en el API. Comenzar brevemente explica cómo usar el SAP2000 API y cómo están las funciones SAP2000 API documentadas. SAP2000 API Functions identifica cada función disponible en el SAP2000 API y provee un ejemplo de cómo podría llamarse la función usar a Basic Visual para Applications (VBA) esto es integrado en Microsoft Excel. El ejemplo Code provee ejemplos programadores usando al SAP2000 API. Estos ejemplos son más extensivos que esos incluidos con la documentación de cada función. Functions obsoleto es el resultado de cambios para SAP2000/the API. que Estas funciones obsoletas han sido supercedidas, pero continúa siendo incluido para acomodar al revés r evés compatibilidad. Noto que el SAP2000 API está sólo disponible en ciertos niveles de SAP2000 v11.00 y más tarde. y y
y
y
y
Emigrando de Sap2000
V11 Para Sap2000 V12 - La Nomenclatura cambia
En la versión del SAP2000 12.00, la nomenclatura se varió de: Combinations Load Cases, Analysis Cases y Response para Combinations Load Patterns, Load Cases y Load, respectivamente. El SAP2000 API fue modificado en la versión 12.00 para estar consistente con este cambio ca mbio de nomenclatura. nomenclatura. Los cambios hicieron para la versión del SAP2000 12.00 API como resultado de los cambios de nomenclatura es como sigue: La clase Names
Los cLoadCases se convirtieron en cLoadPatterns Los cAnalysisCases se convirtieron en cLoadCases E l
objeto Variables
LoadCases se convirtió en LoadPatterns AnalysisCases se convirtió en LoadCases La enumeración Names
El eLoadCaseType se convirtió en eLoadPatternType eAnalysisCaseType cambiado para eLoadCaseType
1
Los artículos de enumeración en la enumeración del eCtype
El ACase se convirtió en LoadCase El RCombo se convirtió en LoadCombo Loa dCombo Los nombres Variables locales
LoadCase se convirtió en LoadPat El ACase se convirtió en LoadCase Al modificar existir código API esto es compatible con versión del SAP2000 11 para el uso con versión del SAP2000 12, es de suma importancia que todos los artículos de tipo LoadCase estén cambiados para artículos de tipo LoadPattern antes de cambiar los artículos de tipo AnalysisCase para artículos de tipo LoadCase. Si esto no es hecho, entonces algunos artículos de tipo AnalysisCase podrían estar cambiados para artículos de tipo LoadCase y entonces más tarde esté accidentalmente cambiado para artículos de tipo LoadPattern. El grupo de seguidores es una orden sugerida para hacer se convierte en su API código. -
Cambie cLoadCases para cLoadPatterns El cambio .LoadCases para .LoadPatterns El eLoadCaseType de cambio para eLoadPatternType eLoadPatter nType Cambíe variables local LoadCase para LoadPat Cambie cAnalysisCases para cLoadCases El cambio .AnalysisCases para .LoadCases El eAnalysisCaseType de cambio para eLoadCaseType Cambie ACase local de variables para LoadCase Cambie el ACase ítem en la enumeración del eCtype para LoadCase Cambie el RCombo ítem en la enumeración del eCtype para LoadCombo
GANANDO ACCESO AL SAP2000
DE UN USO EXTERNO
El primer paso en usar al SAP2000 API de un uso externo es poner notas al SAP2000 de su aplicación. Al usar a Excel VBA, establezca referencias para Sap2000 por ahí abriendo al jefe de redacción VBA, haciendo clic lo Tools menu > References. La orden y comprobando la caja al lado de SAP2000. (ta mbién conocido como Después una instancia del objeto del SAP2000 debe ser creada (también inicializando el objeto) dentro de su aplicación. En VBA que esto pudo estar consumado como: Dim SapObjectAs SAP2000.SapObject
Set SapObject = New SAP2000.SapObject
La primera línea crea la variable del objeto y la segunda línea crea la instancia del objeto del SAP2000. Ahora que una instancia del objeto del SAP2000 ha sido creada en su aplicación, el SAP2000 de principio usando la siguiente orden: SapObject.ApplicationStart
2
En este punto usted puede abrir al público un modelo existente, o puede crear a uno nuevo y puede realizar lo que fuere que las acciones son requeridas. En general, las órdenes API son a las que se ganó acceso a través de SapObject.SapModel. SapObject.SapModel. Puede ser de ayuda para definir un propósito SapModel así es que el API ordena es al que se ganó acceso a través de SapModel SapModel en lugar de de SapObject.SapModel. SapObject.SapModel. En VBA que esto pudo estar consumado como: Dim SapModelAs cSapModel
Set SapModel= SapObject.SapModel
Estando acabado con un modelo, usted puede querer cerrar la aplicación del SAP2000. Esto puede estar consumado usando la siguiente orden VBA: SapObject.ApplicationExi t True
Como un último paso, el SapModel y SapObjectobjects siempre no deberían estar listos para Ninguna cosa. En VBA que esto está consumado consuma do como: Set SapModel= Nothing Set SapObject= Nothing
Colocar los objetos para Ninguna cosa es un paso de suma importancia. Despedaza la conexión entre su aplicación y SAP2000 y libera arriba de recursos de sistema. Si los objetos no están colocados para Ninguna cosa, entonces la aplicación del SAP2000 completamente no se cerrará (usted aquietará sede ella corriendo en su Windows Task Manager). Metiendo todos los pasos descritos anteriormente en un solo ejemplo, un programa VBA podría constar de lo siguiente: Sub MyProgram '
Las variables de dimensión Dim SapObjectAs SAP2000.SapObject Dim SapModelAs cSapModel Dim ret As Long
'
Cree una instancia del objeto Sap2000 Set SapObject= New SAP2000.SapObject
'
Inicie la aplicación a plicación Sap2000 SapObject.ApplicationStart
'
Cree el objeto SapModel Set SapModel= SapObject.SapModel
3
'initialize
model
ret = SapModel.Ini tializeNewModel ' '
La llamada Sap2000 API funciona aquí realizar deseado tareas
En este ejemplo un marco nuevo del 2 D es creado de plantilla ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200)
'
Cierre la aplicación Sap2000, si sea deseado SapObject.ApplicationExi t False
'
No coloque los objetos para Ninguna cosa
'
Al final de su programa ALWAYS terminan los propósitos de esta manera Set SapModel= Nothing Set SapObject= Nothing
End Sub
LAS BUENAS COSTUMBR ES DE LA DOCUMENTACIÓN DE FUNCIÓN La documentación de cada función en el API tiene los siguientes ca pítulos: pítulos: La sintaxis Este capítulo provee la sintaxis de la orden como usted la llamaría de un uso externo sin incluir cualquier parámetro. El VB6 Procedure
El procedimiento del VB6 demuestra la función tan definida en SAP2000. Esta definición de función enseña el tipo variable de cada parámetro, que los parámetros son optativos, y cuáles parámetros pará metros optativos tienen valores predeterminados incorporados. Le veo a Concepts Básico Visual Used en el SAP2000 API < Visual _ Basic _ Concepts _ In _ Usado _ El _ Sap2000 _ API . htm > para más información acerca de definiciones Básicas Visuales que aplique para el SAP2000 API. API. Los parámetros Los Parameters usados en la función están en breve descritos. Los parámetros que tienen unidades se asociaron con ellos es seguido por un abreviamiento de unidades Units Abbreviations.htm > en corchetes, algo semejante como F, indicar las unidades determina el tipo sanguíneo para el artículo.
4
Los comentarios Los Remarks describa lo que la función hace y provee información adicional, si cualquier, eso no estaba clarificado en los Parameters. Vea a Function Return Values Function Return Values.htm > para más información. VBA Example El ejemplo VBA usa la función considerada. Los ejemplos están escritos para el uso en Microsoft Excel VBA. La liberación Notes La información de liberación específica para la función considerada es provista. Vea También Funciona eso está relacionado a la función considerada, si cualquier, está listado en este área. LOS VALOR ES DE R EGR ESO DE FUNCIÓN Casi todas las funciones SAP2000 API devuelven un valor Largo (32 mordieron indicó a través de señas entero) indicando si la función ejecutó exitosamente. Un valor de regreso de 0 señala seña la que el SAP2000 exitosamente exitosamente ejecutó ejecut ó la función. Cualquier poco ponga en el cero regreso que el valor señala que la función no fue exitosamente ejecutada. UNIDAD ABR EVIADAS En la documentación de cada función SAP2000 API, los parámetros que tienen unidades se asociaron con ellos es seguido a las uno de los siguientes abreviamientos, para indicar las unidades para esos parámetros. [L] = Longitud [F] =
Fuerza, [F] = [ML/s 2]
[M] = Masa [s] = Tiempo, segundos s egundos [T] = Temperatura [cyc] = ciclos [rad] = radianes (la [deg] =
medida del ángulo)
grado (la medida del ángulo)
Las combinaciones de estos abreviamientos son usadas en muchos casos. Por ejemplo, los momentos son indicados como [FL] y tensiones nerviosas sean indicados como [F/L2].
5
CONCEPTS BÁSICO VISUAL USED EN EL SAP2000 API Algunos de los conceptos Básicos Visuales y las definiciones que aplican para el SAP2000 API está clarificada en este punto. La opción Base Basic visual 6 permite el incumplimiento inferior con dirección a los conjuntos imponentes para estar especificado como 0 (el incumplimiento), o 1. El SAP2000 usa un salto inferior de 0 para todos los conjuntos imponentes. Cualquier programe que el SAP2000 de vías de entrada a través del API también debiese usar un salto inferior de 0 para sus conjuntos imponentes. Fix-Size y Arrays Dinámico Los conjuntos imponentes pueden usarse para referirse a una serie de variables por el mismo nombre y a usar un número (un índice) distinguirlas. Basic visual tiene dos tipos de conjuntos imponentes: f ix ixed-size and dynamic Un conjunto imponente de tamaño fijo siempre permanece el mismo tamaño. Un conjunto imponente imponente dinámico puede alterarse su tamaño tama ño mientras el programa marcha. Un conjunto imponente de tamaño fijo es declarado con el tamaño indicado. Por ejemplo, la siguiente línea pronuncia a MyFixedArray dimensionado para 2. Dim MyFixedArray(2)as Double Dimensionando
el conjunto imponente para 2 manera que mantiene tres artículos de
datos: MyFixedArray(0) = El primer artículo de datos MyFixedArray(1) = El segundo artículo de datos MyFixedArray(2) = El tercer artículo de datos
Los conjuntos imponentes dinámicos son declarados sin tamaño ta maño indicado tan demostrado aquí: Dim MyDynamicArray()as Double
Los conjuntos imponentes dinámicos son dimensionados en alguna ocasión después de que son declarados usando una declaración como lo siguiente: s iguiente: ReDim MyDynamicArray(2)
Cualquier forme en orden esto es SAP2000 interior dimensionado debe estar declarado como un conjunto imponente dinámico a fin de que el SAP2000 lo repuede dimensionar. Debe de ser una buena idea para declarar todos los conjuntos imponentes como los conjuntos imponentes dinámicos para la simplicidad. Por poner un ejemplo, el análisis resultado obtenido a través del SAP2000 API son almacenados en conjuntos imponentes que están definidos como conjuntos imponentes dinámicos por el usuario y entonces interior dimensionado di mensionado y lleno de SAP2000.
6
La variable Mecanografía La mayor parte de los datos en el SAP2000 API son uno de los siguientes tipos variables. Boolean : Una variable almacenada como un número de 16 bits (de 2 bytes), pero sólo puede ser True o False. Cuándo los valores del boolean son convertidos a otros tipos de datos, False se pone 0 y Verdadero se convierte en ± 1. Bastante: Una variable almacenada como un número de 32 bits (de 4 bytes) extendiéndose en el valor de - 2,147,483,648 para 2,147,483,647. Note que otros lenguajes de programación pueden referirse a este tipo de datos diferentemente; Por ejemplo, pueden ejemplo, pueden referirse a esto como un Entero. El doble:
Una variable del punto que flota precisión doble almacenada como un (de 8 bytes) número del punto de flotación IEEE 64-BITE extendiéndose en 1.79769313486231E308 para - el valor de 4.94065645841247E-324 para los valores negativos y de 4.940656458 4.94065645841247 41247E E -324 para 1.79769313486 1.79769313486232E30 232E3088 par a los valores positivos. La cuerda: Una cuerda variable de largo.
AR GUMENTOS OPTATIVOS Algunas de las funciones SAP2000 API tienen discusiones optativas. Por ejemplo, la función CountLoad Displ tiene dos discusiones optativas: El nombre y LoadPat. No hay que incluir las discusiones optativas al llamar esta función. Todas las cuatro de las siguientes llamadas son válidas. ret = SapModel.PointObj.CountLoadDispl(Count) ret = SapModel.PointObj.CountLoadDispl(Count, Name) ret = SapModel.PointObj.CountLoadDispl(Count, , LoadPat) ret = SapModel.PointObj.CountLoadDispl(Count, Name, LoadPat)
Note en el tercer ejemplo, el primer artículo optativo no es incluido y el segundo artículo optativo está incluido. En ese caso, las comas deben estar incluidas para denotar las discusiones faltant COMENTARIOS En Basic Visual la declaración Rem seguida por un espacio indica eso todos los datos sin retardo a la derecha de la declaración Rem es un comentario (o un comentario). La declaración Rem puede ser abreviada usando un apóstrofo , ( '). El apóstrofo es usado en todos los ejemplos VBA en la documentación SAP2000 S AP2000 API a denotar un comentario.
7
ByVal and ByRef
Las variables son pasadas a las funciones SAP2000 API usando al ByRef o la palabra clave ByVal. ByVal quiere decir que la variable está aprobada por el valor. Esto da a al SAP2000 API permiso de ganar acceso a una copia de la variable pero no de la variable original. Esto quiere decir que el valor de la variable en otra aplicación puede no variarse por el API. ef , cuál es el incumplimiento en VB6 y VBA, manera la discusión está ByR ef aprobada por la referencia. Esto pasa la dirección de la variable al SAP2000 API en lugar de pasar una copia del valor. Da a al SAP2000 API permiso de ganar acceso a la variable real, y, como un resultado, da SAP2000 permiso de cambiar el valor real de la variable en una aplicación. Las variables son ByRef aprobado cuando las necesidades de datos para ser devueltas en ellas de SAP2000 para su aplicación. Además, Basic Visual requiere que todos los conjuntos imponentes sean ByRef aprobado. apr obado. y
y
LA LIBERACIÓN NOTES La nomenclatura cambiada de Load Cases, Analysis Cases y Response Combinations para Load Patterns, Load Cases y Load Combinations, respectivamente, en la versión 12.00. 1. LA APLICACIÓN CERRADA La sintaxis SapObject.ApplicationExi t
El VB6 Procedure
La función ApplicationExit ApplicationExit (ByVal FileSave Como Boolean) B oolean) Tan Largo Los parámetros FileSave Si así de ítem es cierto el archivo modelo existente se salva antes de cerrar a Sap2000. Los comentarios Si el archivo modelo está salvado entonces está salvado sa lvado con su nombre coetáneo. Usted no debería ajustar el objeto Sap2000 variable para ninguna cosa después de llamar esta función. Esta función devuelve cero si la función tiene éxito y poco cero si falla.
8
VBA Example Sub ExitExample() 'dimensión variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object
Set SapObject = New SAP2000.SapObject 'start Sap2000 application
SapObject.ApplicationStart 'create SapModel object
Set SapModel = SapObject.SapModel 'initialize model
ret = SapModel.Ini tializeNewModel(kip_f t_ t_F) '
Cree un marco del 3 D modelo de plantilla ret = SapModel.File.New3DFrame(BeamSlab, 3, 12, 3, 28, 2, 36)
'close Sap2000
SapObject.ApplicationExi t False Set SapModel = Nothing Set SapObject = Nothing End Sub
LA LIBERACIÓN NOTES La liberación inicial en la versión 11.00. 2.
OBTENGA UNIDADES DE LA BASE DE DATOS La sintaxis SapObject.SapModel.GetDatabaseUnits 9
El VB6 Procedure
La función Get DatabasetUnits () Como eUnits Los Parámetros Ninguno Los Comentarios Esta función devuelve uno de los siguientes artículos de la enumeración de eUnits indicando las unidades de la base de datos para el modelo. Todos los datos son internamente almacenados en el modelo en estas unidades y se convierten para las unidades presentes tan necesitados. lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16 VBA Example Sub GetUnitsDatabase() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim MyUnits As eUnits 'create Sap2000 object Set SapObject = New SAP2000.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel
10
'initialize model ret = SapModel.InitializeNewModel '
Inicie un modelo nuevo de la plantilla ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200)
'
Obtenga unidades de la base de datos MyUnits = SapModel.GetDatabaseUnits
'
Sap2000 cercano SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing
End Sub
La Liberación Notes La liberación inicial en la versión 11.00.
3. GETMER GETOL
La sintaxis SapObject.SapModel.GetMergeTol El VB6 Procedure
La función GetMergeTol (ByRef MergeTol de Tan Al doble) Tan Largo Los parámetros MergeTol El automóvil de programa mancomuna tolerancia. L Los comentarios Esta función recupera el valor del automóvil de programa mancomuna tolerancia. La función devuelve devuelve cero si la tolerancia t olerancia es exitosamente recuperada; r ecuperada; De otra manera devuelve un valor de poco cero. VBA Example Sub GetAutoMergeTolerance() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim MergeTol As Double
11
'create Sap2000 object Set SapObject = New SAP2000.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel ' Inicialice modelo ret = SapModel.Ini tializeNewModel ' Cree modelo de plantilla ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) ' Obtenga automóvil mancomuna tolerancia ret = SapModel.GetMergeTol(MergeTol) 'close Sap2000 SapObject.ApplicationExi t False Set SapModel = Nothing Set SapObject = Nothing End Sub
.
GETMODELISLOCK ED
La sintaxis SapObject.SapModel.GetModelIsLocked
Procedimiento VB6 La función GetModelIsLocked () Como Boolean Los parámetros Ninguno Los comentarios La función devuelve a True si el modelo está cerrado y Falso si es desatado. Con algunas excepciones, excepciones, las definiciones definiciones y las asignaciones pueden no estar cambiadas en un modelo mientras el modelo está cerrado. Si un intento es hecho a altérese, entonces una definición o una asignación mientras el modelo está cerrado y que ese cambio no es dejado entrar en un modelo cerrado, un error será devuelto.
12
VBA Example Sub GetModelLocked() ¶Las
variables de dimensión
Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim IsLocked As Boolean '
Cree objeto Sap2000 Set SapObject = New SAP2000.SapObject
'
La aplicación de principio Sap2000 SapObject.ApplicationStart
'
Cree objeto SapModel Set SapModel = SapObject.SapModel
'
Inicialice modelo ret = SapModel.InitializeNewModel '
Cree modelo de plantilla ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200)
'
Inspeccione si el modelo está cerrado IsLocked = SapModel.GetModelIsLocked
'cerrar Sap2000 SapObject.ApplicationExi t False Set SapModel = Nothing Set SapObject = Nothing End Sub
5. GETPR ESENTCOORDSYSTEM
La sintaxis SapObject.SapModel.GetPresentCoordSystem
Procedimiento VB6 La función GetPresentCoordSystem () Como C omo Cuerda Los parámetros Ninguno
13
Los comentarios Esta función devuelve el nombre del sistema de coordenadas presente pres ente VBA Example Sub GetPresentCSys() ¶Las
variables de dimensión
Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as long Dim PresentCSys as String '
Cree objeto Sap2000 Set SapObject = New SAP2000.SapObject
'
La aplicación de principio Sap2000 SapObject.ApplicationStart
'
Cree objeto SapModel Set SapModel = SapObject.SapModel
'
Inicialice modelo ret = SapModel.InitializeNewModel '
Cree modelo de plantilla
ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200) ' Defina
sistema de coordenadas nuevo
ret = SapModel.CoordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0) '
El sistema de coordenadas presente determinado ret = SapModel.SetPresentCoordSystem("CSys1")
'
Obtenga presente sistema de coordenadas PresentCSys = SapModel.GetPresentCoordSystem
'cerrar Sap2000 SapObject.ApplicationExi t False Set SapModel = Nothing Set SapObject = Nothing End Sub
14
6.
GETPR ESENTUNITS
La sintaxis SapObject.SapModel.GetPresentUnits
Procedimiento VB6 La función GetPresentUnits () Como eUnits Los parámetros Ninguno Los comentarios Esta función devuelve uno de los siguientes artículos de la enumeración de eUnits indicando las unidades actualmente especificadas para el modelo lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16 VBA Example Sub GetUnitsPresent() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim MyUnits As eUnits 'create Sap2000 object
Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart 'create 15
SapModel object
Set SapModel = SapObject.SapModel 'initialize
model ret = SapModel.InitializeNewModel
'
Inicie un modelo nuevo de la plantilla ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200)
'
Obtenga presente unidades MyUnits = SapModel.GetPresentUnits 'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
7.
GETPROJECTINFO
La sintaxis SapObject.SapModel.GetProjectInfo
Procedimiento VB6 La función GetProjectInfo (ByRef NumberItems Tan el Artículo Largo, ByRef () Como Cuerda, los Datos ByRef () Como Cuerda) Como Bastante Los parámetros NumberItems El número de artículos de información de proyecto devueltos. El artículo
Éste es un conjunto imponente que incluye el nombre del artículo de información de proyecto. Los datos Éste es un conjunto imponente que incluye los datos para la información especificada de proyecto ítem.
16
Los comentarios Esta función recupera los datos de información de proyecto. La función devuelve cero si los datos son exitosamente recuperados; manera devuelve un valor de poco cero.
De
VBA Example Sub GetPro jectInf ormationData() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim Item() As String Dim Data() As String 'create Sap2000 object Set SapObject = New SAP2000.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel µCree
modelo de plantilla
ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) '
Los datos determinados de información infor mación de proyecto ret = SapModel.SetPro jectInf o("Company Name", "Computers and Structures, Inc.") ret = SapModel.SetPro jectInf o("Pro ject Name", "API Testing") ret = SapModel.SetPro jectInf o("My Item", "My Data")
'
Obtenga datos de información de proyecto ret = SapModel.GetProjectInfo(NumberItems, Item,
'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
17
Data)
otra
8. GetUserComment
La sintaxis SapObject.SapModel.GetUserComment
Procedimiento VB6 La función GetUserComment (ByRef Haga comentarios Como Cuerda) Tan Largo Los parámetros El comentario Los datos en los comentarios del usuario y el leño. Los comentarios Esta función recupera los datos en los comentarios del usuario y el leño. La función devuelve cero si los datos son exitosamente recuperados; manera devuelve un valor de poco cero. VBA Example Sub GetComments() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Comment As String 'create Sap2000 object Set SapObject = New SAP2000.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel 'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288) '
Añada comentarios ret = SapModel.SetUserComment("Testing the Sap2000 API.") ret = SapModel.SetUserComment("Adding a second comment.") ret = SapModel.SetUserComment("Adding a third comment.", 3) 18
De
otra
'
Obtenga comentarios ret = SapModel.GetUserComment(Comment)
'close Sap2000 SapObject.ApplicationExi t False Set SapModel = Nothing Set SapObject = Nothing End Sub
9. GetVersion
La sintaxis SapObject.SapModel.GetVersion
Procedimiento VB6 La función GetVersion (la Versión ByRef Como Cuerda, MyVersionNumber MyVersionNumber de Tan Ta n Al doble) Tan Largo
ByRef
Los parámetros La versión
El nombre de versión de programa esto es externamente desplegado para el usuario. ersionNumber MyV ersionNumber
El número de versión de programa esto es usado internamente por el programa y no exhibido para el usuario Los comentarios Esta función devuelve la versión de programa del SAP2000. La función devuelve cero si la información es exitosamente recuperada; manera devuelve un valor de poco cero. VBA Example Sub GetProgramVersion() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim Version As String Dim MyVersionNumber As Double Dim ret As Long 19
De
otra
'create
Sap2000 object Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart
'create
SapModel object Set SapModel = SapObject.SapModel
'obtenga
la version del programa ret = SapModel.GetVersion(Version,MyVersionNumber)
'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
10. Hide La sintaxis SapObject.Hide
Procedimiento VB6 La función hide() es larga Los parámetros ninguno Los comentarios Esta función distorsiona la aplicación Sap2000. Cuando la aplicación está escondida no es visible en la pantalla panta lla o en la barra de tarea Windows. La función devuelve cero si la aplicación Sap2000 está exitosamente escondida y poco cero si la función falla. Si la aplicación está ya escondida llamando, entonces esta función devuelve un error VBA Example Sub HideSap() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as long 'create Sap2000 object
20
Set SapObject = New SAP2000.SapObject 'start Sap2000 application
SapObject.ApplicationStart 'create
SapModel object Set SapModel = SapObject.SapModel
'create
model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200)
'hide application
ret = SapObject.Hide 'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub 11. InitializeNewModel La sintaxis SapObject.SapModel.InitializeNewModel
Procedimiento VB6 La función InitializeNewModel (los eUnits Optativos ByVal Units As = se duermen _ en _ F) Como Long Los parámetros Las unidades
Ésta son las unidades de la base de datos para el modelo nuevo. Todos los datos son internamente almacenados en el modelo en estas unidades. Las unidades son uno de los siguientes artículos en la enumeración de eUnits: lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 21
kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16 Los comentarios Esta función aclara el modelo previo e inicializa el programa para un modelo nuevo. Si está más tarde necesitado, usted debería ahorrar su modelo previo antes de llamar esta función. Después de llamar la función InitializeNewModel, no hay que también llamar al ApplicationStart funcione porque la funcionabilidad de la función ApplicationStart es incluida en el InitializeNewModel Initializ eNewModel función. función. La función devuelve cero si un modelo nuevo es exitosamente inicializado, diferente que devuelve un valor de poco cero. VBA Example Sub InitializeNewModel() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object
Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart 'create
SapModel object Set SapModel = SapObject.SapModel
'initialize model
ret = SapModel.InitializeNewModel(k ip_ft_ ip_ft_ F) F) 'create
model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 12, 3, 30)
'save
model ret = SapModel.File.Save("C:\SapAPI\MyFirstSapModel.s db")
'initialize
new model SapModel.InitializeNewModel(kN _m_ C) C)
'create
model from template ret = SapModel.File.New3DFrame(FlatPlate , 2, 4, 2, 10, 4, 10, False, , , , 2, 2) 'save
22
model
ret = SapModel.File.Save("C:\SapAPI\MySecondSapModel.sdb") 'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub 12. SetMergeTol La sintaxis SapObject.SapModel.SetMergeTol
Procedimiento VB6 La función SetMergeTol (ByVal MergeTol de Tan Al doble) Tan Largo Los parámetros ergeTol M ergeTol
El automóvil de programa mancomuna tolerancia. L
Los comentarios Esta función coloca el automóvil a utomóvil de progra programa ma mancomuna tolerancia. La función devuelve devuelve cero si la tolerancia es exitosamente determinada; manera devuelve un valor de poco cero. VBA Example Sub SetAutoMergeTolerance() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object
Set SapObject = New SAP2000.SapObject 'start Sap2000 application
SapObject.ApplicationStart
'create
SapModel object Set SapModel = SapObject.SapModel
'initialize model
ret = SapModel.InitializeNewModel
23
De
otra
'tolerancia
determinada
ret = SapModel.SetMergeTol(0.05) 'create
model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288)
'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
ed 13. SetModelIsLock ed
La sintaxis SapObject.SapModel.SetModelIsLocked
Procedimiento VB6 La función SetModelIsLocked (LockIt como Boolean) Como Long Los parámetros LockIt El detalle es cierto si el modelo es estar agarrotado y Falso si debe ser desatado. Los comentarios La función devuelve cero si el estado cerrado del modelo es exitosamente determinado. De otra manera devuelve un valor de poco cero. Con algunas excepciones, excepciones, las definiciones y las asignaciones pueden no estar cambiadas en un modelo mientras el modelo está cerrado. Si un intento es hecho a altérese, entonces una definición o una asignación mientras el modelo está cerrado y que ese cambio no es dejado entrar en un modelo cerrado, un error será devuelto.
24
VBA Example ed() Sub SetModelLock ed 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as Long 'create Sap2000 object
Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart
'create
SapModel object Set SapModel = SapObject.SapModel
'initialize model
ret = SapModel.InitializeNewModel
'create
model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200)
'Lock
model ret = SapModel.SetModelIsLock ed ed(True)
'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
14. SetPresentCoordSystem La sintaxis SapObject.SapModel.SetPresentCoordSystem
Procedimiento VB6 La función SetPresentCoordSystem (ByVal CSys As String) Como Long Los parámetros Los CSys El nombre de un sistema de coordenadas definido.
25
Los comentarios Esta función coloca el sistema de coordenadas presente. La función devuelve devuelve cero si el sistema de coordenadas presente está exitosamente colocado. De otra manera devuelve un valor de poco cero. VBA Example Sub SetPresentCSys() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as long Dim PresentCSys as String 'create Sap2000 object
Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart
'create
SapModel object Set SapModel = SapObject.SapModel
'initialize model
ret = SapModel.InitializeNewModel 'create
model from template
ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200)
'define
new coordinate system ret = SapModel.C oordSys.SetCoordSys("CSys1", 1000, 1000, 0, 0, 0, 0)
'set
present coordinate system ret = SapModel.SetPresentCoordSystem("CSys1")
'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
26
15. SetPresentUnits La sintaxis SapObject.SapModel.SetPresentUnits
Procedimiento VB6 La función SetPresentUnits (ByVal Units As eUnits) Como Long Los parámetros Las unidades Uno de los siguientes artículos en la enumeración enumerac ión de eUnits: lb_in_F = 1 lb_ft_F = 2 kip_in_F = 3 kip_ft_F = 4 kN_mm_C = 5 kN_m_C = 6 kgf_mm_C = 7 kgf_m_C = 8 N_mm_C = 9 N_m_C = 10 Ton_mm_C = 11 Ton_m_C = 12 kN_cm_C = 13 kgf_cm_C = 14 N_cm_C = 15 Ton_cm_C = 16 Los comentarios Esta función devuelve cero si las unidades están exitosamente colocadas y poco cero si no están listas VBA Example Sub SetUnitsPresent() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim FileName As String Dim ret As Long 'create
Sap2000 object Set SapObject = New SAP2000.SapObject
27
'start Sap2000 application
SapObject.ApplicationStart 'create SapModel object
Set SapModel = SapObject.SapModel
'initialize
model ret = SapModel.InitializeNewModel
'start
a new template model ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200)
'
Las unidades presentes determinadas para KN-M KN-M ret = SapModel.SetPresentUnits(KN_m _C)
'close Sap2000 SapObject.ApplicationExi t False Set SapModel = Nothing Set SapObject = Nothing End Sub
16. SetProjectInfo La sintaxis SapObject.SapModel.SetProjectInfo
Procedimiento VB6 La función SetProjectInfo (el Artículo ByVal Como Cuerda, C uerda, los Datos ByVal Como Cuerda) Tan Largo Los parámetros El artículo El nombre del artículo de información de proyecto a ser determinado. Los datos Los datos para el artículo especificado de información de proyecto. Los comentarios Esta función incrusta los datos para un artículo en la información de proyecto. La función devuelve cero cero si los datos son exitosamente determinados; De otra manera devuelve un valor de poco cero
28
VBA Example Sub SetProjectInfoData() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long 'create Sap2000 object
Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart
'create
SapModel object Set SapModel = SapObject.SapModel
'initialize model
ret = SapModel.InitializeNewModel
'create
model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288)
Los datos determinados de información de proyecto ret = SapModel.SetProjectInfo("Company Name", "Computers and Structures, Inc.") ret = SapModel.SetProjectInfo("Project Name", "API Testing") ret = SapModel.SetProjectInfo("My Item", "My Data") '
'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
17. SetUserComment La sintaxis SapObject.SapModel.SetUserComment Procedimiento VB6 La función SetUserComment (ByVal Comente Como Cuerda, ByVal NumLines Optativo Tan Largo = 1, ByVal Optativo Reemplaza Como Boolean = Falso) Tan Largo.
29
Los parámetros El comentario
Los datos a estar añadidos a ñadidos para los comentarios del usuario y el leño. NumLines El número de retorno de carro y línea se alimenta para ser incluido antes del comentario especificado. Este artículo está ignorado si Replace = True. Está también ignorado si no hay existiendo comentarios. eemplace R eemplace
Si así de ítem es cierto, todos los comentarios existentes son reemplazados con el comentario especificado Los comentarios Esta función coloca los datos del usuario de comentarios y del leño. La función devuelve cero si los datos son exitosamente determinados; manera devuelve un valor de poco cero. VBA Example Sub AddCommentToLog() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long 'create
Sap2000 object Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart 'create
SapModel object Set SapModel = SapObject.SapModel
'initialize
model ret = SapModel.InitializeNewModel
'create
model from template ret = SapModel.File.New2DFrame(PortalFrame, 2, 144, 2, 288)
'add
comments ret = SapModel.SetUserComment("Testing the Sap2000 API.") ret = SapModel.SetUserComment("Adding a second comment.") ret = SapModel.SetUserComment("Adding a third comment.", 3)
30
De
otra
'close
Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
18. Unhide La sintaxis SapObject.Unhide
Procedimiento VB6 La función Ponga a la vista () Como Bastante Los parámetros ninguno Los comentarios La función devuelve cero si los datos son exitosamente determinados; Esta función pone a la vista la aplicación Sap2000, eso es, lo hace visible. Cuando la aplicación está escondida, no es visible en la pantalla o en la barra de tarea Windows. La función devuelve cero si la aplicación Sap2000 está exitosamente no escondida (el set visible) y poco cero si la función falla. Si la aplicación es ya visible (no escondido) llamando, entonces esta función devuelve un error. VBA Example Sub UnhideSap() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as long 'create
Sap2000 object Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart
'create
SapModel object Set SapModel = S apObject.SapModel
31
'create
model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200)
'oculte
la aplicacion ret = SapObject.Hide
'
Ponga a la vista aplicación ret = SapObject.Unhide 'close Sap2000
SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
19. Visible La sintaxis SapObject.Visible
Procedimiento VB6 La función Visible () Como Boolean Los parámetros ninguno Los comentarios La función devuelve a True si la aplicación Sap2000 es visible en la pantalla, de otra manera devuelve a False VBA Example Sub IsV isible() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret as long Dim Visible as Boolean 'create
Sap2000 object Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart
32
'create
SapModel object Set SapModel = SapObject.SapModel
'create
model from template ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 124, 3, 200)
'get application visibility
Visible = SapObject.Visible
'close
Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
33
ANALISIS DEL MODELO ELEMENTOS AR EA
1. Count La sintaxis Sap2000.AreaElm.Count
Procedimiento VB6 La cuenta de función () Tan Largo Los parámetros ninguno Los comentarios Esta función devuelve el número número total de elementos el ementos de área en el modelo de análisis VBA Example Sub CountAreaElement s() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim Count As Long 'create
Sap2000 object Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart 'create
SapModel object Set SapModel = SapObject.SapModel
'initialize
model ret = SapModel.InitializeNewModel
'create
model from template ret = SapModel.File.NewWall(2, 48, 2, 48)
Asigne opciones de la malla del automóvil ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) '
'
34
Cree modelo de análisis
ret = SapModel.Analyze.CreateAnalysisModel µEs
número de vuelta de elementos de área Count = SapModel.AreaElm.Count
'close
Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub 2. GetLoadGravity
La sintaxis SapObject.SapModel.AreaElm.GetLoadGravity
Procedimiento VB6 La función GetLoadGravity (ByVal (B yVal Name As String, ByRef NumberItems As Long, ByRef AreaName AreaNa me () Como String, ByRef LoadPat () Como String, Str ing, ByRef CSys () Como String, ByRef x () Como Double, ByRef y () Como Double, ByRef z () Como ByVal Doble, Optativo ItemTypeElm Como eItemTypeElm = Element) As Desee Los parámetros El nombre El nombre de un elemento existente de área o el grupo, a merced del valor del artículo ItemType.
NumberItems El número total de cargas gravitacionales recuperadas para los elementos especificados de área.
AreaName Éste es un conjunto imponente que incluye el nombre del área el elemento se asoció con
cada carga gravitacional. gravitacional.
LoadPat Éste es un conjunto imponente que incluye el nombre del sistema de coordenadas en el
cual los multiplicadores gravitacionales de carga están especificados.
Los CSys Éste es un conjunto imponente que incluye el nombre del sistema de coordenadas se
asoció con cada carga gravitacional.
X, y, z 35
Éstos son conjuntos imponentes de multiplicadores gravitacionales de carga en la x, y e
instrucciones z del sistema de coordenadas especificado. ItemTypeElm Éste es uno de los siguientes artículos en la enumeración del eItemTypeElm:
ObjectElm = 0 El elemento = 1 GroupElm = 2 SelectionElm = 3 Si así de ítem es ObjectElm, las asignaciones de carga son recuperadas para los elementos de área siendo propias del objeto de área especificados por el Name ítem. Si así de ítem es Element, las asignaciones de carga son recuperadas para el área elemento especificado por el Name ítem. Si así de ítem es GroupElm, las asignaciones de carga son recuperadas para los elementos de área siendo propias de todo área los objetos incluidos en el grupo especificado por el Name ítem. Si así de ítem es SelectionElm, las asignaciones de carga son recuperadas para elementos de área siendo propias de todo el área seleccionado objeta, y el Name ítem está ignorado.
Los comentarios Esta función recupera las l as asignaciones gravitacionales gravitacio nales de carga para pa ra elementos de de área. La función devuelve cero si las asignaciones de carga son exitosamente recuperadas; De otra manera devuelve un valor de poco cero.
VBA Example Sub GetAreaElementGravityLoad() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As L ong Dim AreaName() As String Dim LoadPat() As String Dim CSys() As String Dim x() As Double Dim y() As Double Dim z() As Double
36
'create
Sap2000 object Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart 'create
SapModel object Set SapModel = SapObject.SapModel
'initialize
model ret = SapModel.InitializeNewModel
'create
model from template ret = SapModel.File.NewWall(2, 48, 2, 48)
'Asignar
opciones de malla de auto ret = SapModel.AreaObj.SetAutoMesh("ALL", 1, 3, 3, , , , , , , , , , , , , , , Group) 'Asignar
cargas área objeto de gravedad ret = SapModel.AreaObj.SetLoadGravity("ALL", "DEAD", 0, 0, -1, , , Group) µAnálisis
crear modelo ret = SapModel.Analyze.CreateAnalysisModel
' Obtenga carga de g ravedad del elemento de área ret = SapModel.AreaElm.GetLoadGravity("3-1", AreaName, LoadPat, CSys, x, y, z)
NumberItems,
Sa p20000 'close Sap200 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing End Sub
3. GetLoadPorePressure
La sintaxis SapObject.SapModel.AreaElm.GetLoadPorePressure
Procedimiento VB6 La función GetLoadPorePressure (ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName () Como String, ByRef LoadPat () Como String, ByRef
37
Value () Como Double, ByRef PatternName () Como String, ByVal Optativo ItemTypeElm Como eItemTypeElm = Element) As Desee Los parámetros El nombre
El nombre de un elemento existente de área o el grupo a merced del valor del artículo ItemType. NumberItems El número total de cargas de presión del poro recuperadas para los elementos especificados de área. AreaName Éste es un conjunto imponente que incluye el nombre del área el elemento se asoció con cada carga de presión del poro. LoadPat Éste es un conjunto imponente que incluye el nombre de la carga el patrón se asoció con cada carga de presión del poro. El valor
Éste es un conjunto imponente que incluye el valor de carga de presión del poro. F/L2 PatternName Éste es un conjunto imponente que incluye el nombre unido del patrón, si cualquier, solió especificar la carga de presión pr esión del poro. ItemTypeElm Éste es uno de los siguientes artículos en la enumeración del eItemTypeElm: ObjectElm = 0 El elemento = 1 GroupElm = 2 SelectionElm = 3 Si así de ítem es ObjectElm, las asignaciones de carga son recuperadas para los elementos de área siendo propias del objeto de área especificados por el Name ítem. Si así de ítem es Element, las asignaciones de carga son recuperadas para el área elemento especificado por el Name ítem. íte m. 38
Si así de ítem es GroupElm, las asignaciones de carga son recuperadas para los elementos de área siendo propias de todo área los objetos incluidos en el grupo especificado por el Name ítem. Si así de ítem es SelectionElm, las asignaciones de carga son recuperadas para elementos de área siendo propias de todo el área seleccionado objeta, y el Name ítem está ignorado. Los comentarios Esta función recupera las asignaciones de carga de presión del poro para elementos de área. La función devuelve cero si las asignaciones de carga son exitosamente exitosa mente recuperadas; De otra manera devuelve un valor de poco ceroEl número total de cargas de presión del poro recuperadas para los elementos especificados de área VBA Example Sub GetAreaElementPorePressureLoad() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As L ong Dim AreaName() As String Dim LoadPat() As String Dim Value() As Double Dim PatternName() As String 'create
Sap2000 object Set SapObject = New SAP2000.SapObject
'start Sap2000 application
SapObject.ApplicationStart
'create
SapModel object Set SapModel = SapObject.SapModel
'initialize
model ret = SapModel.InitializeNewModel
'create
model from template ret = SapModel.File.NewWall(2, 48, 2, 48)
µAsigne
carga de presión del poro del objeto de área
ret = SapModel.AreaObj.SetLoadPorePressure("ALL", "DEAD", .1, , , Group)
39
'create analysis model ret = SapModel.Analyze.CreateAnalysisModel '' Obtenga carga de presión del poro del elemento de área ret = SapModel.AreaElm.GetLoadPorePressure("ALL", NumberItems, AreaName, LoadPat, Value, PatternName, GroupElm) 'close Sap2000 SapObject.ApplicationExi t False Set SapModel = Nothing Set SapObject = Nothing End Sub
4. GetLoadStrain
La sintaxis SapObject.SapModel.AreaElm.GetLoadStrain
Procedimiento VB6 La función GetLoadStrain (ByVal Name Na me As String, ByRef NumberItems As Long, ByRef AreaName () Como String, ByRef LoadPat () Como String, ByRef Component Component () Como Bastante, Basta nte, ByRef Value () Como Double, ByRef PatternName () Como String, ByVal Optativo ItemTypeElm Como eItemTypeElm = Element) As Desee Los parámetros El nombre
El nombre de un elemento existente de área o el grupo, a merced del valor del artículo ItemType. NumberItems El número total de cargas de tensión recuperadas para los elementos element os especificados de área. AreaName Éste es un conjunto imponente que incluye el nombre del área el elemento se asoció con cada carga de tensión. LoadPat Éste es un conjunto imponente que incluye el nombre de la carga el patrón se asoció con cada carga de tensión. El componente
Éste es un conjunto imponente que incluye 1, 2, 3, 4, 5, 6, 7 o 8, indicando el componente componente asociado con cada carga de tensión. 1 = Strain11 2 = Strain22 3 = Strain12 4 = Curvature11 5 = Curvature22 6 = Curvature12 7 = Strain13 8 = Strain23 El valor Éste es un conjunto imponente que incluye el valor de tensión. L/L para Componen C omponentt = 1, 2, 3, 7 y 8, y 1/L para Component = 4, 5 y 6
40
PatternName Éste es un conjunto imponente que incluye el nombre unido del patrón, si cualquier, solió especificar la carga de tensión. ItemTypeElm Éste es uno de los siguientes artículos en la enumeración del del eItemTypeElm: ObjectElm = 0 El elemento = 1 GroupElm = 2 SelectionElm = 3 Si así de ítem es ObjectElm, las asignaciones de carga son recuperadas para los elementos de área siendo propias del objeto de área especificados por el Name ítem. Si así de ítem es Element, las asignaciones de carga son recuperadas para el área elemento especificado por el Name ítem. Si así de ítem es GroupElm, las asignaciones de carga car ga son recuperadas recuperadas para los elementos de área siendo propias de todo área los objetos incluidos en el grupo especificado por el Name ítem. Si así de ítem es SelectionElm, las asignaciones de carga son recuperadas para elementos de área siendo propias de todo el área seleccionado selecciona do objeta, y el Name ítem está ignorado. ignorado. Los comentarios Esta función recupera las asignaciones de carga de tensión para elementos de área. La función devuelve cero si las asignaciones de carga de tensión son exitosamente recuperadas; De otra manera devuelve un valor de poco cero. VBA Example Sub GetAreaElementStrainLoad() 'dimension variables Dim SapObject As Sap2000.SapObject Dim SapModel As cSapModel Dim ret As Long Dim NumberItems As Long Dim AreaName() As String Dim LoadPat() As String Dim Component() As Long Dim Value() As Double Dim PatternName() As String 'create Sap2000 object Set SapObject = New SAP2000.SapObject 'start Sap2000 application SapObject.ApplicationStart 'create SapModel object Set SapModel = SapObject.SapModel
41
'initialize model ret = SapModel.InitializeNewModel 'create model from template ret = SapModel.File.NewWall(2, 48, 2, 48) '
Asigne carga de tensión del objeto de área ret = SapModel.AreaObj.SetLoadStrain("ALL", "DEAD", 1, 0.001, , , Group)
'create analysis model ret = SapModel.Analyze.CreateAnalysisModel '
Obtenga carga de tensión del elemento de área
ret = SapModel.AreaElm.GetLoadStrain("3", NumberItems, LoadPat, Component, Value, PatternName) 'close
Sap2000 SapObject.ApplicationExit SapObject.ApplicationExit False Fals e Set SapModel = Nothing Set SapObject = Nothing End Sub
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example 42
AreaName,
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios 43
VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros 44
Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 45
Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 Los parámetros Los comentarios VBA Example
La sintaxis Procedimiento VB6 46
Los parámetros Los comentarios VBA Example
47