Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  AttributeReference highlighten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  AttributeReference highlighten (637 mal gelesen)
Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 25. Sep. 2015 09:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an Alle,

hat jemand ne Idee wie man ein Attribut in einem Block  als gewählt markieren kann? Bei normalen Objekten klappt das ganz gut mit "ent.Highlight(path, False)". Bei Attributreferenzen klappt das nicht. Geht das irgenwie trotzdem?

Dank und Gruß Theo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Claudio
Mitglied
Architekt


Sehen Sie sich das Profil von Claudio an!   Senden Sie eine Private Message an Claudio  Schreiben Sie einen Gästebucheintrag für Claudio

Beiträge: 334
Registriert: 13.04.2002

erstellt am: 10. Okt. 2015 01:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Theo37 10 Unities + Antwort hilfreich

Hallo Theo!

//Geht natürlich trotzdem  -> Hier für Acad2013 x64
//Gruß Claudio

//AdsName braucht die Referenz zu AcDbMgd.dll
      internal static class HighlightAttribut
        {

            internal static void Highlight(ObjectId attributId)
            {
                var ename = new AdsName();

                UnsafeNativeMethods.acdbGetAdsName(ref ename, attributId);
                UnsafeNativeMethods.acedRedraw(ref ename, 3);
            }
            internal static void Unhighlight(ObjectId attributId)
            {
                var ename = new AdsName();
                UnsafeNativeMethods.acdbGetAdsName(ref ename, attributId);
                UnsafeNativeMethods.acedRedraw(ref ename, 4);
            }
        }

    [SuppressUnmanagedCodeSecurity]
    internal static class UnsafeNativeMethods
    {
        //AdsName braucht die Referenz zu AcDbMgd.dll
      [DllImport("accore.dll", CallingConvention = CallingConvention.Cdecl)]
        internal static extern void acedRedraw(ref AdsName name, int mode);


        //AdsName braucht die Referenz zu AcDbMgd.dll
        [DllImport("acdb19.dll", CallingConvention = CallingConvention.Cdecl,
            EntryPoint = "?acdbGetAdsName@@YA?AW4ErrorStatus@Acad@@AEAY01_JVAcDbObjectId@@@Z")]
        internal static extern void acdbGetAdsName(ref AdsName name, ObjectId objId);

    }

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 12. Okt. 2015 08:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Claudio,

habe schon nicht mehr mit einer Antwort gerechnet. Danke für die "Nachtschicht" war ja schon wirklich spät.

Ich habe das ganze mal nach VB übersetzen lassen und bei mir eingefügt.
Klappt einwandfrei. Nur mit der Zeile "'<SuppressUnmanagedCodeSecurity()> _" konnte ich nichts anfangen. Aber wenn ich das weglasse geht es trotzdem.

Wenn ich mir solchen Code anschaue, frage ich mich immer wo erlernt man das. Oder ist das irgendwo dokumentiert wo man es nachlesen kann.
Im Internet findet man wenig bis gar nichts dazu, selbst wenn man die richtigen Suchbegriffe eingibt.

Gruß und vielen Dank
Theo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Claudio
Mitglied
Architekt


Sehen Sie sich das Profil von Claudio an!   Senden Sie eine Private Message an Claudio  Schreiben Sie einen Gästebucheintrag für Claudio

Beiträge: 334
Registriert: 13.04.2002

erstellt am: 13. Okt. 2015 15:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Theo37 10 Unities + Antwort hilfreich

Hallo Theo!

Freut mich, wenn's klappt.

Die Zeile, mit der Du nichts anfangen konntest, regelt die
Prüfung der Zugriffsberechtigung für diesen "nicht verwalteten Code".
Das Attribut SuppressUnmanagedCodeSecurity schaltet die Sicherheitsüberprüfung für die zu ladende Dll ab.
Die ist noch dazu aufwändig, und würde durchgeführt, selbst wenn das Programm keine System.Security.SecurityException auswirft.
Daher auch ein Performancegewinn, wenn man sie abschaltet.

Und HIER kann man VIEL lernen:
http://through-the-interface.typepad.com
http://adndevblog.typepad.com/autocad/
http://www.theswamp.org
http://spiderinnet1.typepad.com
http://forums.autodesk.com/t5/net/bd-p/152
http://forums.autodesk.com/t5/visual-basic-customization/bd-p/33

Gruß - Claudio!

[Diese Nachricht wurde von Claudio am 13. Okt. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz