Диалоговое окно «Закрыть задачу», скопированное из центральной модели Revit 2023 с помощью Visual StudioC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Диалоговое окно «Закрыть задачу», скопированное из центральной модели Revit 2023 с помощью Visual Studio

Сообщение Anonymous »

Я пытаюсь закрыть определенный диалог, который появляется при открытии скопированных или загруженных моделей Revit. В настоящее время работаю в Revit 2023 и Visual Studio 2022. Мне нужно автоматически закрыть это диалоговое окно при запуске моделей через Visual Studio, чтобы иметь возможность продолжить работу с другими кодами, которые позволят мне автоматизировать задачи.
Изображение

Я рассмотрел несколько примеров решения этой проблемы, но когда я создаю решение и запускаю код (который открывает модель, которую мне нужно открыть, передав ее в качестве аргумента и Revit.exe в качестве приложения), он ничего не делает, когда модель открывается и появляется диалоговое окно выше. В настоящее время используется .Net.4.8, добавленные ссылки приведены ниже.
Изображение

Код, с которым я пытаюсь работать, приведен ниже.

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.UI.Events;

[TransactionAttribute(TransactionMode.Manual)]

public class RevitCommand : IExternalCommand

{
public Result Execute(ExternalCommandData commandData,
ref string messages, ElementSet elements)

{
UIApplication app = commandData.Application;
Document doc = app.ActiveUIDocument.Document;

Transaction trans = new Transaction(doc);
trans.Start("testComamnd");
app.DialogBoxShowing += new    EventHandler(app_DialogBoxShowing);
trans.Commit();
return Result.Succeeded;

}
public void app_DialogBoxShowing(Object sender, DialogBoxShowingEventArgs args)

{

switch (args)
{
case TaskDialogShowingEventArgs args2:
if (args2.DialogId == "TaskDialog_Copied_Central_Model")
args2.OverrideResult(1002);
break;
default:
return;
}

}

}
Кроме того, вот URL-адрес, который я использовал в качестве примера при попытке реализовать это решение.
https://adndevblog.typepad.com/aec/ 2013/06/dismiss-the-dialog-when-opening-a-copied-central-model-file.html
https://archi-lab.net/dismissing-revit-pop-ups-the-easy -и-не-простые-способы/

Подробнее здесь: https://stackoverflow.com/questions/791 ... ual-studio
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»