Pregunta sobre la API de automatización de diseño.

¿Es posible crear un script de Design Automation que elimine el trabajo compartido para que Design Automation pueda trabajar en el resto del archivo y luego desechar ese archivo?

Por ejemplo, ¿puedo usar Design Automation para eliminar los subproyectos y luego proceder a exportar los parámetros del archivo sin guardar sobre la versión compartida?

Además, estoy conectado a la demostración de importación y exportación de Revit Excel.

Siempre que configuro el AppBundle, recibo un mensaje de error como se muestra en la siguiente imagen:

enter image description here

1
M Scott 19 feb. 2021 a las 02:09

1 respuesta

La mejor respuesta

Para abrir el modelo compartido con subproyectos descartados, deberá:

  1. Elimina la opción /i de commandLine en tu actividad. Especifique un localName codificado para su argumento de entrada (por ejemplo, input.rvt). Al igual que
{
  "alias": "prod",
  "activity": {
    "id": "YourActivity",
    "commandLine": [ "$(engine.path)\\\\revitcoreconsole.exe /al $(appbundles[YourBundle].path)" ],
    "parameters": {
      "rvtFile": {
        "zip": false,
        "ondemand": false,
        "verb": "get",
        "description": "Input Revit model",
        "required": true,
        "localName": "input.rvt",
      }
    },
    "engine": "Autodesk.Revit+2020",
    "appbundles": [ "YourName.YourBundle+label" ],
    "description": "Bundle description."
  }
}
  1. Abra el archivo input.rvt en su paquete de aplicaciones usando DetachAndDiscardWorksets así:
   ModelPath path = ModelPathUtils.ConvertUserVisiblePathToModelPath("input.rvt");
   var opts = new OpenOptions
   {
      DetachFromCentralOption = DetachFromCentralOption.DetachAndDiscardWorksets
   };
   var document = application.OpenDocumentFile(path, opts);

Para obtener detalles relacionados, puede consultar el anuncio del blog y una respuesta de desbordamiento de pila anterior relacionada.

De forma predeterminada, (siguiendo el anuncio de blog ) Design Automation intentará abrir modelos compartidos con DetachAndPreserveWorksets si se proporciona la opción /i en commandLine. Sin embargo, esto solo funcionará si el archivo de entrada es un archivo central. No funcionará para un archivo local con subproyectos, ya que el archivo es propiedad de un determinado usuario.

2
Rahul Bhobe 19 feb. 2021 a las 00:32