Ich bin sehr neu in C# und Codierung. Wenn es möglich ist, bin ich auf der Suche nach Hilfe, um herauszufinden, wie ich dieses Stück Code reparieren kann.Revit API - Falscher vollständiger Klassenname
Sie arbeiten individuell. Ich kann eine neue Schaltfläche in der Multifunktionsleiste erstellen und die Standard-Hello-Welt ausführen. Ich habe auch ein Makro, das funktioniert, wo ich alle meine Blätter und Ansichten erfolgreich entfernen kann, aber der Versuch, die beiden zu kombinieren, verursacht große Schwierigkeiten! Der Code erstellt in Ordnung, aber ich erhalte diesen Fehler innerhalb revit:
‚konnte nicht die Add-In‚Löschen Ansichten‘, weil die Klasse ‚DeleteViews‘nicht in der Add-In Baugruppe gefunden werden kann initialisieren FullClassName bietet den Erweiterungspunkt für Revit, um Add-In-Anwendung aufzurufen. Für Revit zum Ausführen des Add-Ins müssen Sie sicherstellen, dass diese Klasse die Schnittstelle "Autodesk.Revit.UI.ExternalCommand" implementiert. '
Ich bin mir ziemlich sicher, dass mein Problem in diesem 2. Bit Code referenziert. Ich weiß, dass ich es nicht richtig anrufe, aber keine Lösungen gefunden habe.
Entschuldigung, wenn das eine dumme Frage ist, aber würde jede Hilfe wirklich schätzen, um mir zu helfen, zu lernen!
Vielen Dank für jede Hilfe können Sie mir geben
Der Code:
namespace BGPanel
{
public class CsBGPanel : IExternalApplication
{
public UIDocument ActiveUIDocument { get; private set; }
public Result OnStartup(UIControlledApplication application)
{
RibbonPanel ribbonPanel = application.CreateRibbonPanel("Tools");
string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;
PushButtonData buttonData = new PushButtonData("cmdDeleteViews",
"Delete Views", thisAssemblyPath, "BGPanel.DeleteViews");
PushButton pushButton = ribbonPanel.AddItem(buttonData) as PushButton;
pushButton.ToolTip = "Delete all sheets, schedules & views except structural plans";
Uri uriImage = new Uri(@"C:\Revit_API\Revit_2015\32px-Broom.png");
BitmapImage largeImage = new BitmapImage(uriImage);
pushButton.LargeImage = largeImage;
return Result.Succeeded;
}
public void DeleteViews()
{
UIDocument uidoc = this.ActiveUIDocument;
Document doc = uidoc.Document;
FilteredElementCollector collector = new FilteredElementCollector(doc);
ICollection<Element> collection = collector.OfClass(typeof(View)).ToElements();
using (Transaction t = new Transaction(doc, "Delete Views"))
{
t.Start();
int x = 0;
foreach (Element e in collection)
{
try
{
View view = e as View;
switch (view.ViewType)
{
case ViewType.FloorPlan:
break;
case ViewType.EngineeringPlan:
break;
case ViewType.ThreeD:
break;
default:
doc.Delete(e.Id);
x += 1;
break;
}
}
catch (Exception ex)
{
View view = e as View;
TaskDialog.Show("Error", e.Name + "\n" + "\n" + ex.Message);
TaskDialog.Show("Error", ex.Message);
}
}
t.Commit();
TaskDialog.Show("BG_API DeleteViews", "Views Deleted: " + x.ToString());
}
}
public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}
}
}