Manual de API

58
LA INTRODUCCIÓN El SAP2000 Application Programming Interface (API) es una herramienta 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 compatibilidad. Noto que el SAP2000 API está sólo disponible en ciertos niveles de SAP2000 v11.00 y más tarde. 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, 1

Transcript of Manual de API

Page 1: Manual de API

LA INTRODUCCIÓN

El SAP2000 Application Programming Interface (API) es una herramienta 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 compatibilidad.

Noto que el SAP2000 API está sólo disponible en ciertos niveles de SAP2000 v11.00 y más tarde.

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 de 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 NamesLos cLoadCases se convirtieron en cLoadPatternsLos cAnalysisCases se convirtieron en cLoadCases

El objeto VariablesLoadCases se convirtió en LoadPatternsAnalysisCases se convirtió en LoadCases

La enumeración NamesEl eLoadCaseType se convirtió en eLoadPatternType eAnalysisCaseType cambiado para eLoadCaseType

1

Page 2: Manual de API

Los artículos de enumeración en la enumeración del eCtypeEl ACase se convirtió en LoadCaseEl RCombo se convirtió en LoadCombo

Los nombres Variables localesLoadCase se convirtió en LoadPatEl 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- 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.Después una instancia del objeto del SAP2000 debe ser creada (también conocido como 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

Page 3: Manual de API

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.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 en lugar de 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.ApplicationExit True

Como un último paso, el SapModel y SapObjectobjects siempre no deberían estar listos para Ninguna cosa. En VBA que esto está consumado 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 Sap2000

SapObject.ApplicationStart

' Cree el objeto SapModel

Set SapModel= SapObject.SapModel

3

Page 4: Manual de API

'initialize model

ret = SapModel.InitializeNewModel

   ' La llamada Sap2000 API funciona aquí realizar deseado tareas

' En este ejemplo un marco nuevo del 2D es creado de plantilla

  ret = SapModel.File.New2DFrame(PortalFrame, 3, 124, 3, 200)

' Cierre la aplicación Sap2000, si sea deseado

SapObject.ApplicationExit 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 COSTUMBRES DE LA DOCUMENTACIÓN DE FUNCIÓN

La documentación de cada función en el API tiene los siguientes capítulos:

La sintaxisEste capítulo provee la sintaxis de la orden como usted la llamaría de un uso externo sin incluir cualquier parámetro.

El VB6 ProcedureEl 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 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.

Los parámetrosLos 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

Page 5: Manual de API

Los comentariosLos 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 ExampleEl ejemplo VBA usa la función considerada. Los ejemplos están escritos para el uso en Microsoft Excel VBA.

La liberación NotesLa información de liberación específica para la función considerada es provista.

Vea TambiénFunciona eso está relacionado a la función considerada, si cualquier, está listado en este área.

LOS VALORES DE REGRESO DE FUNCIÓNCasi 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 que el SAP2000 exitosamente 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 ABREVIADASEn 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/s2]

[M] = Masa

[s] = Tiempo, segundos

[T] = Temperatura

[cyc] = ciclos

[rad] = radianes (la medida del ángulo)

[deg] = 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

Page 6: Manual de API

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 BaseBasic 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ámicoLos 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: fixed-size and dynamicUn conjunto imponente de tamaño fijo siempre permanece el mismo tamaño. Un conjunto imponente dinámico puede alterarse su 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 datosMyFixedArray(1) = El segundo artículo de datosMyFixedArray(2) = El tercer artículo de datos

Los conjuntos imponentes dinámicos son declarados sin tamañ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:

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 y lleno de SAP2000.

6

Page 7: Manual de API

La variable MecanografíaLa 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 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.94065645841247E-324 para 1.79769313486232E308 para los valores positivos.

La cuerda: Una cuerda variable de largo.

ARGUMENTOS OPTATIVOSAlgunas de las funciones SAP2000 API tienen discusiones optativas. Por ejemplo, la función CountLoadDispl 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 API a denotar un comentario.

7

Page 8: Manual de API

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.

ByRef, cuál es el incumplimiento en VB6 y VBA, manera la discusión está 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.

LA LIBERACIÓN NOTESLa 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.ApplicationExit

El VB6 Procedure

La función ApplicationExit (ByVal FileSave Como Boolean) Tan Largo

Los parámetros

FileSaveSi 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 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

Page 9: Manual de API

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.InitializeNewModel(kip_ft_F)

' Cree un marco del 3D modelo de plantilla 

ret = SapModel.File.New3DFrame(BeamSlab, 3, 12, 3, 28, 2, 36)

'close Sap2000

 SapObject.ApplicationExit False

Set SapModel = Nothing

Set SapObject = Nothing

End Sub

LA LIBERACIÓN NOTESLa liberación inicial en la versión 11.00.

2. OBTENGA UNIDADES DE LA BASE DE DATOS

La sintaxis

SapObject.SapModel.GetDatabaseUnits

9

Page 10: Manual de API

El VB6 Procedure

La función GetDatabasetUnits () Como eUnits

Los ParámetrosNinguno

Los ComentariosEsta 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 = 1lb_ft_F = 2kip_in_F = 3kip_ft_F = 4kN_mm_C = 5kN_m_C = 6kgf_mm_C = 7kgf_m_C = 8N_mm_C = 9N_m_C = 10Ton_mm_C = 11Ton_m_C = 12kN_cm_C = 13kgf_cm_C = 14N_cm_C = 15Ton_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

Page 11: Manual de API

    '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 = NothingEnd Sub

La Liberación NotesLa liberación inicial en la versión 11.00.

3. GETMERGETOL

La sintaxis

SapObject.SapModel.GetMergeTol

El VB6 Procedure

La función GetMergeTol (ByRef MergeTol de Tan Al doble) Tan Largo

Los parámetrosMergeTolEl automóvil de programa mancomuna tolerancia. L

Los comentariosEsta función recupera el valor del automóvil de programa mancomuna tolerancia.La función devuelve cero si la tolerancia es exitosamente recuperada; 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

Page 12: Manual de API

    'create Sap2000 object Set SapObject = New SAP2000.SapObject

    'start Sap2000 application       SapObject.ApplicationStart

    'create SapModel object       Set SapModel = SapObject.SapModel

    ' Inicialice modelo ret = SapModel.InitializeNewModel

    ' 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.ApplicationExit False Set SapModel = Nothing Set SapObject = Nothing

End Sub

4. GETMODELISLOCKED

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, 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.

12

Page 13: Manual de API

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.ApplicationExit False Set SapModel = Nothing Set SapObject = NothingEnd Sub

5. GETPRESENTCOORDSYSTEM

La sintaxis

SapObject.SapModel.GetPresentCoordSystem

Procedimiento VB6

La función GetPresentCoordSystem () Como Cuerda

Los parámetros

Ninguno

13

Page 14: Manual de API

Los comentarios

Esta función devuelve el nombre del sistema de coordenadas presente

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.ApplicationExit False Set SapModel = Nothing Set SapObject = NothingEnd Sub

14

Page 15: Manual de API

6. GETPRESENTUNITS

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 = 1lb_ft_F = 2kip_in_F = 3kip_ft_F = 4kN_mm_C = 5kN_m_C = 6kgf_mm_C = 7kgf_m_C = 8N_mm_C = 9N_m_C = 10Ton_mm_C = 11Ton_m_C = 12kN_cm_C = 13kgf_cm_C = 14N_cm_C = 15Ton_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 SapModel object

15

Page 16: Manual de API

      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 = NothingEnd 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

Page 17: Manual de API

Los comentarios

Esta función recupera los datos de información de proyecto.

La función devuelve cero si los datos son exitosamente recuperados; De otra manera devuelve un valor de poco cero.

VBA Example

Sub GetProjectInformationData()   '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 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")

   ' Obtenga datos de información de proyecto

      ret = SapModel.GetProjectInfo(NumberItems, Item, Data)

   'close Sap2000      SapObject.ApplicationExit False      Set SapModel = Nothing      Set SapObject = NothingEnd Sub

17

Page 18: Manual de API

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; De otra 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

Page 19: Manual de API

' Obtenga comentarios ret = SapModel.GetUserComment(Comment)

   'close Sap2000 SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = NothingEnd Sub

9. GetVersion

La sintaxis

SapObject.SapModel.GetVersion

Procedimiento VB6

La función GetVersion (la Versión ByRef Como Cuerda, ByRef MyVersionNumber de Tan Al doble) Tan Largo

Los parámetros

La versión

El nombre de versión de programa esto es externamente desplegado para el usuario.

MyVersionNumber

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; De otra 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

Page 20: Manual de API

   '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 = NothingEnd 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 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

Page 21: Manual de API

      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 = NothingEnd 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 = 1lb_ft_F = 2kip_in_F = 3kip_ft_F = 4kN_mm_C = 5kN_m_C = 6kgf_mm_C = 7kgf_m_C = 8N_mm_C = 9N_m_C = 10Ton_mm_C = 11Ton_m_C = 12kN_cm_C = 13

21

Page 22: Manual de API

kgf_cm_C = 14N_cm_C = 15Ton_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 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(kip_ft_F)

   'create model from template      ret = SapModel.File.New2DFrame(ConcentricBraced, 3, 12, 3, 30)

   'save model      ret = SapModel.File.Save("C:\SapAPI\MyFirstSapModel.sdb")

   'initialize new model      SapModel.InitializeNewModel(kN_m_C)

   'create model from template      ret = SapModel.File.New3DFrame(FlatPlate, 2, 4, 2, 10, 4, 10, False, , , , 2, 2)

   'save model

22

Page 23: Manual de API

      ret = SapModel.File.Save("C:\SapAPI\MySecondSapModel.sdb")

   'close Sap2000      SapObject.ApplicationExit False      Set SapModel = Nothing      Set SapObject = NothingEnd 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

MergeTolEl automóvil de programa mancomuna tolerancia. L

Los comentarios

Esta función coloca el automóvil de programa mancomuna tolerancia.La función devuelve cero si la tolerancia es exitosamente determinada; De otra 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

Page 24: Manual de API

   '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 = NothingEnd Sub

13. SetModelIsLocked

La sintaxis

SapObject.SapModel.SetModelIsLocked

Procedimiento VB6

La función SetModelIsLocked (LockIt como Boolean) Como Long

Los parámetros

LockItEl 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, 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

Page 25: Manual de API

VBA Example

Sub SetModelLocked()   '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.SetModelIsLocked(True)

   'close Sap2000      SapObject.ApplicationExit False      Set SapModel = Nothing      Set SapObject = NothingEnd Sub

14. SetPresentCoordSystem

La sintaxis

SapObject.SapModel.SetPresentCoordSystem

Procedimiento VB6

La función SetPresentCoordSystem (ByVal CSys As String) Como Long

Los parámetros

Los CSysEl nombre de un sistema de coordenadas definido.

25

Page 26: Manual de API

Los comentarios

Esta función coloca el sistema de coordenadas presente.La función 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.CoordSys.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 = NothingEnd Sub

26

Page 27: Manual de API

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 de eUnits:

lb_in_F = 1lb_ft_F = 2kip_in_F = 3kip_ft_F = 4kN_mm_C = 5kN_m_C = 6kgf_mm_C = 7kgf_m_C = 8N_mm_C = 9N_m_C = 10Ton_mm_C = 11Ton_m_C = 12kN_cm_C = 13kgf_cm_C = 14N_cm_C = 15Ton_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

Page 28: Manual de API

   '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 ret = SapModel.SetPresentUnits(KN_m_C)

   'close Sap2000      SapObject.ApplicationExit False Set SapModel = Nothing Set SapObject = NothingEnd Sub

16. SetProjectInfo

La sintaxis

SapObject.SapModel.SetProjectInfo

Procedimiento VB6

La función SetProjectInfo (el Artículo ByVal Como Cuerda, los Datos ByVal Como Cuerda) Tan Largo

Los parámetros

El artículoEl nombre del artículo de información de proyecto a ser determinado.Los datosLos 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 si los datos son exitosamente determinados; De otra manera devuelve un valor de poco cero

28

Page 29: Manual de API

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 = NothingEnd 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

Page 30: Manual de API

Los parámetros

El comentario

Los datos a estar 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.

Reemplace

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; De otra 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

Page 31: Manual de API

   'close Sap2000      SapObject.ApplicationExit False      Set SapModel = Nothing      Set SapObject = NothingEnd 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 = SapObject.SapModel

31

Page 32: Manual de API

   '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 = NothingEnd 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 IsVisible()   '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

Page 33: Manual de API

   '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 = NothingEnd Sub

ANALISIS DEL MODELO

33

Page 34: Manual de API

ELEMENTOS AREA

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 total de elementos de área en el modelo de análisis

VBA Example

Sub CountAreaElements()   '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)

   ' Cree modelo de análisis      ret = SapModel.Analyze.CreateAnalysisModel

34

Page 35: Manual de API

   ‘Es número de vuelta de elementos de área      Count = SapModel.AreaElm.Count

   'close Sap2000      SapObject.ApplicationExit False      Set SapModel = Nothing      Set SapObject = NothingEnd Sub

2. GetLoadGravity

La sintaxis

SapObject.SapModel.AreaElm.GetLoadGravity

Procedimiento VB6

La función GetLoadGravity (ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName () Como String, ByRef LoadPat () Como String, 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.

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

Page 36: Manual de API

É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 asignaciones gravitacionales de carga para elementos 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 Long      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

Page 37: Manual de API

   '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 gravedad del elemento de área      ret = SapModel.AreaElm.GetLoadGravity("3-1", NumberItems, AreaName, LoadPat, CSys, x, y, z)

   'close Sap2000      SapObject.ApplicationExit False      Set SapModel = Nothing      Set SapObject = NothingEnd 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

Page 38: Manual de API

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 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.

38

Page 39: Manual de API

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 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 Long      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 árearet = SapModel.AreaObj.SetLoadPorePressure("ALL", "DEAD", .1, , , Group)

 

39

Page 40: Manual de API

  '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.ApplicationExit False Set SapModel = Nothing Set SapObject = NothingEnd Sub

4. GetLoadStrain

La sintaxis

SapObject.SapModel.AreaElm.GetLoadStrain

Procedimiento VB6

La función GetLoadStrain (ByVal Name As String, ByRef NumberItems As Long, ByRef AreaName () Como String, ByRef LoadPat () Como String, ByRef Component () Como Bastante, ByRef Value () Como Double, ByRef PatternName () Como String, ByVal Optativo ItemTypeElm Como eItemTypeElm = Element) As Desee

Los parámetros

El nombreEl nombre de un elemento existente de área o el grupo, a merced del valor del artículo ItemType.NumberItemsEl número total de cargas de tensión 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 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 asociado con cada carga de tensión.1 = Strain11 2 = Strain22 3 = Strain12 4 = Curvature11 5 = Curvature22 6 = Curvature12 7 = Strain13 8 = Strain23El valorÉste es un conjunto imponente que incluye el valor de tensión. L/L para Component = 1, 2, 3, 7 y 8, y 1/L para Component = 4, 5 y 6

40

Page 41: Manual de API

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 eItemTypeElm:ObjectElm = 0El elemento = 1GroupElm = 2SelectionElm = 3Si 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 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

Page 42: Manual de API

   '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, AreaName, LoadPat, Component, Value, PatternName)

   'close Sap2000      SapObject.ApplicationExit False      Set SapModel = Nothing      Set SapObject = NothingEnd Sub

La sintaxis

Procedimiento VB6

Los parámetros

Los comentarios

VBA Example

La sintaxis

Procedimiento VB6

Los parámetros

Los comentarios

VBA Example

42

Page 43: Manual de API

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

Page 44: Manual de API

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

Page 45: Manual de API

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

Page 46: Manual de API

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

Page 47: Manual de API

Los parámetros

Los comentarios

VBA Example

47