previous arrowprevious arrow
next arrownext arrow
PlayPause
previous arrownext arrow
Shadow

Wir realisieren Ihre CAD-Projekte

im AutoCAD, Inventor, Revit und Autodesk Forge Platform

Umfeld
Wir helfen Ihnen bei der Realisierung Ihrer Projekte.

Blog - CAD-Becker.de

Beiträge zu AutoCAD und dessen Vertikalprodukte.
Tipps und Tricks, viele Neuigkeiten aus der Autodesk Welt.
1 Minuten Lesezeit (254 Worte)

Visual Lisp To C# - Casting -

Anzeige

Aktuelle Top-Angebote der Telekom, Online-Vorteile, Attraktive Prämien

Als Casting bezeichnet man die Typumwandlung. Ich möchte hier die grundsätzlichen Möglichkeiten erläutern.

Casting wird sehr häufig in der .Net-Erstellung von AutoCAD Plugins benötigt, ist somit sehr wichtig.

using (Transaction m_Transaction = 
    m_Document.Database.TransactionManager.StartTransaction())
{
    ObjectId m_EntityObjectId = e.Result.ObjectId;
    if (m_EntityObjectId != ObjectId.Null)
    {
        // DBObject in Entity
        Entity m_Entity = 
                (Entity)m_Transaction.GetObject(m_EntityObjectId, OpenMode.ForRead);
        try
        {
            BlockReference m_BlockReferenz = (BlockReference)m_Entity;
            
            ...
        }
        catch
        {
        
        }
    }
    m_Transaction.Committ();
}    
            
 

Das Casting ist ein Methode um Datentypen umzuwandeln. In der AutoCAD Plugin Programmierung ist das Casting wichtig, da AutoCAD zwei grundsätzlich Objektdatentypen besitzt (DBObject und Entity). Beide können bei der Objektwahl als Ergebnis zurückgegeben werden. Wenn wir das eigentliche Objekt z.B. eine Linie (Objekttyp: BlockReference) erhalten wollen, müssen wir DBObject oder Entity casten. 

 
BlockReference m_BlockReferenz = 
    (BlockReference)m_Entity; 

​Dieses Casting nennt man direktes Casting und wirft eine InvalidCastException wenn das Casting fehl schlägt.

BlockReference m_BlockReferenz = 
    m_Entity as BlockReference 

Diese Form des Castings erzeugt einen null-Wert, wenn das Casting fehl schlägt anstelle eine InvalidCastException zu werfen.

Deshalb sollte sichergestellt werden, dass das Casting auch korrekt funktioniert, ansonsten bitte erste Variante nutzen.

 

Copyright

© Copyright 2019 by CAD-Becker.de

Visual Lisp To C# - Definition eines neuen Befehls
Visual Lisp to C# - Objekte erstellen -

Ähnliche Beiträge

 

By accepting you will be accessing a service provided by a third-party external to https://cad-becker.de/

Über mich

  Dipl.-Ing.
Jürgen A. Becker
Versorgungstechnik

 

 

Suchen

Abonniere Blog

Kalender

Warte kurz, während wir den Kalender laden

Tag-Cloud

OAuth Hybrid Architektur Sicherungsdatei AutoCAD Update AutoCAD Surface Beschriftungsmaßstäbe Powerpointfolien Vlax-ldata-list Kabeltragsystem Docking Suchen external rules Maya leere Texte Objektfang Einstellung Schraubverbindung C# Wipeout Transformation Objektfang 3-legged assoc Kabelrinne vonLayer Linienstärke History HSMWORKS Niedaks Zeichnungs Name AC$ shift Autodesk Fusion 360 Sicherheit Elektromobilität Ultra HD Kobalt NWD anhängen Kabeltrasse CAD Autodesk Gallery MText Vlax-ldata Request Schöne Zeichnung MAXACTVP DText SV$ Volvo Ocean Race Entleihen Schrift Layer Überschreibung Casting Client-ID Plot Pointcloud Design Automation API Autoriserung https Schnittpunkt Cloud Umschalttaste Externe Regeln Ford E-Mobilität 3-Legged Autorizierung RAL Einfügen Bezug See Watch Geschwindigkeit Autodesk Forge Fusion Zurückgeben Zuschneiden Freedom Varia Erhebung Architekten Save folder BIM 360 Viren Datensicherheit vlax-ldata-put Forge WHIPTHREAD defekte Zeichung Bereinigen Ansichtsfenster XREF Pantone Taschenrechner TrustedPath Forge DevCon Online-Seminar Gummiband Linie Benutzeroberfläche Temporäre Dateien Anmeldung Text Autorisierung Vorlagen Rechner Genertive Design Sonderzeichen Darmstadt DevCon Shift Taste Return Lizenz Server Plotstiltabellen OSNAP Schraffur Timeout Autodesk Befehl Deklaration Auflösung Personaldienstleister Hardwarebeschleunigung Variable Mitte zwischen zwei Punkte Lynn Allen Claudius Peters cURL Text einrahmen Plotten Attribut Appload Flexlm Werkzeugpalette Fusion 360 Microsoft Surface Pro 4 Command Definition Vererbung internationaler Befehlssatz vlax-ldata-get iLogic Bemaßung Farbbuch Oscar XRef PUK Schriftfeld Youtube Beschriftungsmaßstab 2-legged fremde Zeichnung .Net Core Batterie OFang Revisionswolke Layer Wiederherstellen Plotstil Viewer Wasserstoff Externe Referenz gefüllte Flächen Internationaler Befehlssatz Netzwerk Layout OSMODE angenommener Schnittpunkt Attribut hinzufügen 3D-Druck STRG Whitepaper bewegen RestSharp Plot Maßstab Netzwerk Lizenz Referenz Cloud Accelerator Koordinationsmodell Volvo Befehls Übersetzung Seenotrettung eTransmit Zoom Entertaste Strom Security http Visual Lisp SELECTIONOFFSCREEN Hotfix NWD Video Eigenschaft Command Schicken wir ein Schiff .net löschen AutoCAD 2019 Befehlsübersetzung Datentypen Excel Layerdialog Schnellzugriffs-Werkzeugkasten Laden Brennstoffzelle BIM BAK Überschreibung Farbbücher Inventor Abhängigkeiten Netload Borrowlicense 3D Hohe Auflösung Block E-Auto Optionen Schulung Indiara SFair Barcode AU AutoCAD Objektmodell Rechnen Microsoft Surface Book .Net Lisp ruft C# auf Skalierung Produktschlüssel Maßstab ServicePack Kopieren fehlgeschalgen RevWolke Objekteigenschaft Surface Book Umgrenzung Objekte isolieren Layer frieren Lisp Öffnen Befehls Definition Umwelt AutoCAD LT unbenannte Objekte externe Referenz Enter Surface Pro4 Flüchtling Anischtfenster 2018 PDF ViewCube Update 2018 Befehlshistory Image Revisionswolken Industrie 4.0 Rechte Maustaste OOPS Scheinselbstständigkeit Richtung Transparenz DPI Skaling Generative Design License Speicherort Surface Pro 4 Harp Übersetzung cURL nach C# VLAX CAD-Becker.de Speichern Naviswork Returntaste Views Objektwahl Objekte zoomen Datei anhängen Solid Recruiter Fehlerbericht Petition Recycling Einheiten Autodesk CAM Neu erstellen Sichtbarkeit Plot-Maßstab Update CAD-Becker Datenverknüpfung Cloud Act refenziert sich selbst Linientyp Performance SetByLayer Einbetten Bereinig Vorlage Parameter Lizenz BIM 360 API Objekte erstellen Texthöhe Interview byLayer temporäre Dateien AWS Richtung umkehren Hololens Navisworks Rechtsklickanpassung Zwischenablage SSL-Zertifizierung OBO-Bettermann Linientypfaktor Personal Dienstleister Microsoft HSM Listen Webservice HTTP-Request Design Center europäische Datenschutz Richtlinie Drehen MoveBak ObjectARX Rechtsklick Punktwolke QRCode Zeichnungen verschicken Profil Objekte wählen Hochgestellte Zahl NWG einfügen SecureLoad Höhekote Beziehungen

Kontakt

Jürgen A. Becker

CAD-Becker.de
Detmolder Str. 786
33699 Bielefeld
Germany
Telefon
+49 (5202) 9953808 
Mobil
+49 170 870 8679
E-Mail
Juergen.Becker(at)CAD-Becker.de

Menu-de