Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Einzelne Auswahl (Anfänger)

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:  Einzelne Auswahl (Anfänger) (928 mal gelesen)
Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

erstellt am: 31. Okt. 2016 10:51    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 allerseits,

ich habe mir VS2015 und AC2017 als Testversion auf mein Laptop gezogen und wollte mir neben dem allabendlichen Fernsehprogramm C# ein wenig näher bringen. Eine ganz schöne Mammutaufgabe. Zudem ist es um so schwieriger wenn schon die Programmen an sich nicht funktionieren (AC2017)  denn Debuggen geht nur wenn SP1 aufgespielt wurde. Das hat mich schon etliche Stunden gekostet.   Und mein nächster Schritt bis jetzt nochmal so viele Stunden.  Ich möchte einfach nur ein Objekt auswählen wie in LISP (entsel) das mir anhand der Pickbox meine Auswahl festlegt. Alles was ich in C# als selection finde ist GetSelection was Auswahl technisch in Lisp (ssget) nahe kommt was demzufolge eine Auswahl mehrerer Objekte hätte wenn man mit SelectWindow arbeitet und damit die Pickbox berücksichtigt zudem müsste man noch das oben liegende Objekt herausfinden. Daher denke ich jetzt mal ich habe mich jetzt nur verrannt in der Masse an Infos die auf mich eingeprasselt sind. Vielleicht kann mich ja jemand mit den richtigen Infos wieder ans Licht führen.   

------------------
Gruß Wolfgang

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 31. Okt. 2016 10:54    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 Meldin 10 Unities + Antwort hilfreich

?
Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.Editor.
GetEntity function

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

erstellt am: 02. Nov. 2016 15:44    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

Ja,
vielen Dank!
Ich leg das dann mal unter "aller Anfang ist schwer ab!" 

------------------
Gruß Wolfgang

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 03. Nov. 2016 19:45    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 Meldin 10 Unities + Antwort hilfreich

Ein Beispiel hier zur "einfachen" Auswahl eines Civil3dSurfaces:
Code:

public void SelectTinSurface()
        {
            PromptEntityOptions options = new PromptEntityOptions("\nSelect a Surface");
            options.SetRejectMessage("\nThe selected object is not a Surface.");
            options.AddAllowedClass(typeof(TinSurface), false);
            PromptEntityResult result = ed.GetEntity(options);

            switch (result.Status)
            {
                case PromptStatus.OK:
                    this.SurfaceId = result.ObjectId;
                    break;
                case PromptStatus.Cancel:
                    this.SurfaceId = ObjectId.Null;
                    ed.WriteMessage("Select canceled");
                    return;
            }
            if (ObjectId.Null == SurfaceId)
            {
                ed.WriteMessage("\nNo TIN Surface object was selected.");
            }
        }



------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed | ÅF AB

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

cadplayer
Ehrenmitglied
CADniker


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

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 03. Nov. 2016 19:50    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 Meldin 10 Unities + Antwort hilfreich

und hier noch inform eines Selectionsetfilters
Code:

private bool trySelectTable(out ObjectId oTableId)
        {
            oTableId = ObjectId.Null;
            if (!isValid)
                return false;

            Document doc = Application.DocumentManager.MdiActiveDocument;
            Database acWdb = doc.Database;
            Editor ed = doc.Editor;

            try
            {
                PromptSelectionResult selResult = ed.SelectImplied();
                if (selResult.Value == null)
                {
                    TypedValue[] values = new TypedValue[1] { new TypedValue((int)DxfCode.Start, "ACAD_TABLE") };
                    SelectionFilter filter = new SelectionFilter(values);
                    PromptSelectionOptions selOpt = new PromptSelectionOptions();
                    selOpt.SingleOnly = true;
                    selOpt.MessageForAdding = "Select Table";
                    do
                    {
                        selResult = ed.GetSelection(selOpt, filter);
                        if (selResult.Status == PromptStatus.Error)
                            ed.WriteMessage("\nNo object selected");
                    } while (selResult.Status == PromptStatus.Error);
                }
                if (selResult.Status != PromptStatus.OK)
                    return false;
                oTableId = selResult.Value.GetObjectIds()[0];
            }
            catch { return false; }
            return true;
        }


Schön, dass du jetzt auch mit .net anfängst. Dann wird es hier vielleicht etwas lebhafter.

------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed | ÅF AB

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 10. Nov. 2016 23:32    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

Danke erst mal für deine hilfe aber
Zitat:
Schön, dass du jetzt auch mit .net anfängst. Dann wird es hier vielleicht etwas lebhafter.
Schön ist anders  und wenn ich hier wirklich alle Probleme schilder würde die mir wo im weg liegen wäre das Forum hier nicht lebhaft sondern voll  die eigentliche Abläuft sind eigentlich immer ersichtlich eher die zugriffe machen mir Probleme da nicht immer alle Möglichkeiten ersichtlich sind. Wie zum Beispiel jetzt. Ich wollte ein einfaches tool unsetzen was ich eigentlich immer in lisp benutze wähle ein attribut was dann zur folge hat das alle attribute in der Zeichnung durchsucht werden und dann alle blöcke auswählt die den gleichen urprungs attribut Wert besitzen diese kann ich dann mit druck auf die taste L löschen. Dieses prog läuf in einer endlos schleife und brauche immer nur ein Att wählen und L drücken (ohne Enter zu drücken). In lisp mit ggread realisiert, nur hier habe ich bisher keine verständliche Lösung gefunden eine Auswahl von einem tastatendruck zu unterscheiden. für einen tipp wäre ich dankbar. Aber alles in allem fällt C# mir nicht gerade leicht.

------------------
Gruß Wolfgang

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 11. Nov. 2016 06:42    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 Meldin 10 Unities + Antwort hilfreich

Hallo Wolfgang,

deineErfahrung kann ich nur bestätigen ... mir ging es genauso, als ich von Lisp auf .Net umgestiegen bin. Also: Drannbleiben!
Dass dir .Net nicht leicht fällt, das wird sich ändern. Wenn es dir möglich ist, besuche eine Schulung, am besten mit AutoCAD als Basis zum Erlernen der Sprache.
Vielleicht gelingt es dir, ein paar Leute zusammen zu bekommen, dann könnte ich das machen - für eine 1-Personen Schulung bin ich den meisten zu teuer.
Eine Schulung finde ich deshalb so wichtig, weil,es gerade den Lisp-Umsteigern extrem schwer fällt in die objektorientierte Programmierung reinzufinden. Das kann man auch kaum aus Büchern rausnehmen - es muss ein Umdenken stattfinden, bei mir hat das bis zur vollständigen Erkenntnis sicher auch 1-2 Jahre gedauert. Das soll dir keine Angst machen, sondern aufzeigen, dass dir mit dem, was du gerade durchmachst, nicht nur allein so geht.

Nun noch kurz zu deinem Problem: das lässt sich sicher mit irgendwelchen Events abbilden. Da allerdings die API weder in Lisp noch in .Net eine Möglichkeit bietet, bei der Objektwahl direkt auf einen Tastendruck zu reagieren, würde das ein Zusammenspiel aus dem genannten Event und der Objektwahl hinauslaufen. Für dich als Einsteiger würde ich empfehlen einen anderen Weg zu suchen. Als Stichwort möchte ich Jig nennen. Sowohl auf
http://through-the-interface.typepad.com/through_the_interface/about-the-author.html
als auch auf der AUTOCAD Magazin Tool-CD 7/2012 findest du c#-Code dafür, der eben genau die Blockreferenzen markiert, bei denen der Attributwert gleich ist ... also nahezu das, was du als Kern definiert hast. Da kannst du schauen, wie das umgesetzt wurde. Das Tool auf der ACM-Tool-CD ist von mir, ebenfalls aus meiner Anfangszeit.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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