244x
001941
2020-10-14

[ES] FAQ 004771 | ¿Es posible crear visibilidades utilizando la interfaz COM?

Pregunta:
¿Es posible crear visibilidades utilizando la interfaz COM?

Respuesta:
Sí, es posible crear visibilidades a través de la interfaz COM (RF-COM3/RS-COM6). En el siguiente código, primero se seleccionan los elementos para una visibilidad. Esto se hace a través de las selecciones. Primero, actívelos con "rfEnableSelections", luego puede usar "rfSelectObjects" para seleccionar los objetos:

Subconjunto_visibilidad ()

' get interface from the opened model and lock the licence/program
Atenuar iModel como RFEM3.IrfStructure3
Establecer iModel = GetObject (, "RFEM3.Structure")
iModel.rfGetApplication.rfLockLicence

On Error GoTo e

' obtener interfaz para modeldata
Dim iModData como RFEM3.IrfStructuralData4
Establecer iModData = iModel.rfGetStructuralData

' obtener interfaz para ver
Atenuar iView como RFEM3.IrfView2
Establecer iView = iModel.rfGetActiveView
' quitar vistas antiguas
iView.rfDeletePartialView "prueba | ver"
iView.rfDeletePartialView "prueba | view2"
iView.rfDeletePartialView "prueba | view_add"
iView.rfDeletePartialView "prueba | view_rev"
iView.rfDeletePartialView "prueba | view_diff"

' crear primera vista
iModData.rfSelectObjects STR_MEMBER, "3-4"
iView.rfSetPartialView "prueba | ver"
' iView.rfSelectPartialView "test | view", PVM_SHOW, True, True

' crear segunda vista
iModData.rfSelectObjects STR_SURFACE, "1"
iModData.rfSelectObjects STR_MEMBER, "3"
iView.rfSetPartialView "prueba | view2"
' iView.rfSelectPartialView "test | view2", PVM_SHOW, True, True

' crear suma desde la vista 1 y 2
iView.rfSelectPartialView "test | view", PVM_SELECT, True, True
iView.rfSelectPartialView "test | view2", PVM_SELECT, False, True
iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, Verdadero, Verdadero
iView.rfSetPartialView "prueba | view_add"

' crear vista diferencial 2 menos 1
' primera vista invertida creada
iView.rfSelectPartialView "test | view", PVM_SHOW, True, True
iView.rfSelectPartialView "test | view2", PVM_SHOW, False, True
iView.rfSelectPartialView "", PVM_SHOW_REVERSE, Verdadero, Verdadero
iView.rfSelectPartialView "", PVM_SELECT, Verdadero, Verdadero
iView.rfSetPartialView "prueba | view_rev"
iView.rfSelectPartialView "", PVM_SHOW_REVERSE, Verdadero, Verdadero

' seleccione la vista para restar y revertir la vista
iView.rfSelectPartialView "test | view_rev", PVM_SELECT, True, True
iView.rfSelectPartialView "test | view", PVM_SELECT, False, True
iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, Verdadero, Verdadero
iView.rfSelectPartialView "", PVM_SHOW_REVERSE, Verdadero, Verdadero
iView.rfSelectPartialView "", PVM_SELECT, Verdadero, Verdadero
iView.rfSetPartialView "prueba | view_diff"
iView.rfSelectPartialView "", PVM_SHOW_SELECTION_ONLY, Verdadero, Verdadero

iView.rfSelectPartialView "", PVM_SHOW_REVERSE, Verdadero, Verdadero
iView.rfCancelPartialView

e:  If Err.Number 0 Then MsgBox Err.description, , Err.Source

iModel.rfGetApplication.rfUnlockLicence
Establecer iModel = Nada

End Sub

Puede usar la interfaz "iView" y el comando "rfSetPartialView" para crear una visibilidad. La descripción es especialmente importante aquí. El separador "|" asegura que la visibilidad con el nombre de la "vista" se cree en el grupo de "prueba".

El comando rfSelectPartialView se usa para mostrar una visibilidad. El primer argumento es el nombre de la visibilidad. Para el segundo argumento, puede seleccionar varios comandos. Dependiendo del comando, se requiere o no un nombre de la visibilidad.

El tercer argumento pregunta si todo lo mostrado hasta ahora debería desactivarse o no. Entonces, si también desea mostrar dos visibilidades, debe confirmar "Falso" al menos al seleccionar la segunda visibilidad.

El cuarto argumento controla si todo lo que está oculto se debe mostrar en segundo plano o no.

Aquí hay una lista de comandos importantes del segundo argumento:

PVM_SELECT - selecciona los elementos en la visibilidad especificada

PVM_SHOW - muestra la visibilidad especificada

PVM_SHOW_SELECTION_ONLY - Después de seleccionar elementos de las visibilidades, ahora se pueden mostrar solos.

PVM_SHOW_REVERSE - Todos los elementos mostrados hasta ahora van al fondo y se muestran todos los elementos del fondo (la visualización está invertida).