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://www.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

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

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