Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  LayerFarbe ändern

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:  LayerFarbe ändern (2168 mal gelesen)
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: 26. Mai. 2015 10:07    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

Ich habe zwei Probleme:
Einerseits erhalte ich beim Selektieren das korrekt Civil3d-Objekt, möchte ich jedoch die Farbe des Objektes ändern
geschieht nix, obwohl mir angezeigt wird das die Farbe geändert wurde


Code:
*** start with cobj
Command: COBJ
Pick a nested entity:
Input the new color index (0-255): 5
Entity selected was a AeccDbGraphProfileEntity color: BYLAYER
-> Entity color changed in: blue


Hier die Methode

Code:
[CommandMethod("cObj")]
        public void ColorObj()
        {
            Document doc = AcAp.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            Editor ed = doc.Editor;

            try
            {
                PromptNestedEntityOptions nestedEntOpt = new PromptNestedEntityOptions("\nPick a nested entity:");
                PromptNestedEntityResult nestedEntRes = ed.GetNestedEntity(nestedEntOpt);

                if (nestedEntRes.Status == PromptStatus.OK)
                {
                    PromptIntegerOptions promptOpt = new PromptIntegerOptions("\nInput the new color index (0-255):");
                    PromptIntegerResult promptRes = ed.GetInteger(promptOpt);
                    using (Transaction tr = db.TransactionManager.StartTransaction())
                    {
                        ObjectId id = nestedEntRes.ObjectId;

                        Autodesk.AutoCAD.DatabaseServices.DBObject dbObj = tr.GetObject(id, OpenMode.ForRead);
                        ed.WriteMessage("Entity selected was a {0}", dbObj.GetRXClass().Name);

                        // Get the entity for read
                        var entR = (Autodesk.AutoCAD.DatabaseServices.Entity)tr.GetObject(id, OpenMode.ForRead);
                        ed.WriteMessage("Entity color: {0}", entR.Color);

                        // Get the entity for write
                        entR = tr.GetObject(nestedEntRes.ObjectId, OpenMode.ForWrite) as Autodesk.AutoCAD.DatabaseServices.Entity;
                        entR.ColorIndex = promptRes.Value;

                        ed.WriteMessage("\n-> Entity color changed in: {0}", entR.Color);

                        tr.Commit();
                    }
                }
            }
            catch (System.Exception ex)
            {
                ed.WriteMessage(ex.ToString());
            }
        }


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

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: 26. Mai. 2015 10:17    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 cadplayer 10 Unities + Antwort hilfreich

... 3x Öffnen ohne jemals zu schließen ...

Gewöhn dir gleich an, dass du die AutoCAD-Objekte innerhalb eines Using öffnest, da die Close-Methode nur noch aus Kompatibilitätsgründen zur Verfügung steht.
Du kannst ein zum Lesen geöffnetes Objekt mit der UpgradeOpen-Methode nachträglich Beschreibbar machen.

Code:

using (Autodesk.AutoCAD.DatabaseServices.Entity entR = (Entity)tr.GetObject(id, OpenMode.ForRead))
                        {
                            // für schreiben öffnen
                            entR.UpgradeOpen();
                            entR.ColorIndex = promptRes.Value;
                        }

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

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: 26. Mai. 2015 11:19    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

Ungewöhnlich, dass der OpenMode auch zum Schreiben verwendet wrden kann - Danke funktioniert bestens!
Was aber für den Fall, dass ich ein Civil-Entity, speziell im Profilview wähle, müsste ich demzufolge auf die Klasse
Autodesk.Civil.DatabaseServices.Entity
zugreifen ?!

Damit komme ich ebenfalls nicht weiter

Entity selected was a AeccDbGraphProfileEntity color: BYLAYER - Entity layer: PROFIL-VY

Wenn ich die Layerfarbe von "PROFIL-VY" ändere (so auch manuell - ändert sich nix)
Das ist manchmal verflixt in Civil, da in CivilObjekten, eine einzelne Linie nicht auswählbar bzw. verschachtelt in einem CivilObjekt-layer
Da ranzukommen, weiss dass einer?

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

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: 26. Mai. 2015 11:35    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 cadplayer 10 Unities + Antwort hilfreich

... nunja, deine Anmerkungen zeigen, dass du die OO-Programmierung noch nicht so ganz verinnerlicht hast. Hier hast du es mit Vererbung zu tun.

Jedes Objekt, was du im Editor sehen/wählen kannst, wird wohl von Entity erben. Folglich sind alle Objekte auf jeden Fall als Entity zu öffnen.
Infolge der Vererbung, besitzt jedes Element (was von Entity erbt) u.a. die Eigenschaften Color und Layer.

Willst du speziell ein Civil-Objekt wählen, dann kannst du bei der Editor.GetNested... auch festelegen, von welchem Typ das zu wählende Objekt sein soll. Schau dir daszu mal die *Options-Objekte, die es zu (nahezu) jeder Editot.Get... -Funktion gibt, an.

Speziell zu den Civil-Objekten denke ich mal, dass du eine Struktur ähnlich der eines Blockes vermutest. Das kann .. muss aber nicht sein. In Civil sind's ja spezielle Objekte, die nichts mit den reinen AutoCAD-Primitiven zu tun haben müssen bzw. in der API der Zugriff auf die dem Civil-Objekt zugrunde liegenden Primitiven nicht integriert ist.

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

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: 26. Mai. 2015 12:34    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

Wo de recht hast, has de recht - werkel vielleicht ein paar Wochen im AutocadNET API rum. Den Durchblick habe ich da noch nicht.
Learning bei doing (auch wenn dir das vielleicht nicht zusagt - zwecks Schulung) 
Dann kommt man eben nur in Mäuseschrittmass vorwärts.
Genau ich muss eben mal schauen, was das Civil-ENTITY anbietet - war doch meine Rede...
Wie lautet eigentlich das Motto bei Autodesk, wenns händisch nicht geht, geht´s auch nicht programmiertechnisch ?!
Scheint mir zuerst für den Anfang auch ziehmlich heikel zu sein, gleich in den Civil-Objekten rumzutesten (modifizieren)
Das Brett in Civil bietet mir nur nicht die Möglichkeit, dass was man normalerweise erst in dwt-sheets an styles grundinstalliert auch nachträgl. ändern zu können. Daher mein Versuch, es so hinzukriegen

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

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: 26. Mai. 2015 12: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 cadplayer 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cadplayer:
Dann kommt man eben nur in Mäuseschrittmass vorwärts.

das zum Einen und zum Anderen gewöhnt man sich aus (falsche) Unkenntnis Dinge an, die einem irgendwann um die Ohren fliegen. Für die Basic's ist es aus meiner Sicht absolut gewinnbringend (nicht nur für den der die Schulung durchführt) da grundsätzliche Fehler vermieden werden.
Zitat:
Original erstellt von cadplayer:
Wie lautet eigentlich das Motto bei Autodesk, wenns händisch nicht geht, geht´s auch nicht programmiertechnisch ?!

Wenn's so wäre, dann hätte ich als Programmierer nur noch sehr wenig zu tun.
Zitat:
Original erstellt von cadplayer:
Scheint mir zuerst für den Anfang auch ziehmlich heikel zu sein, gleich in den Civil-Objekten rumzutesten (modifizieren)


Wenn man, wie du, bei der Objektorientierten Programmierung noch in den Kinderschuhen steckt, ja. Aber als Autodidakt brauch man ja eine Aufgabe, an der man sich schaffen kann.

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

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: 26. Mai. 2015 13:18    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

Die Basics in OOP sind mir schon geläufig, da lege ich die Hand ins Feuer...
(War vielleicht auch nicht grad toll mein Beispiel mit den 3Open-methoden reinzustellen. )

Das Autodesk-API stösst mehr auf Unkenntnis, da geht es ja erst ans Eingemachte, wie Klassen - Methoden - Eigenschaften miteinander verzahnt sind.
Beispielsweise die Klasse Editor im AutodeskAPI wurde im Vergleich zu WindowsAPI völlig eigens entwickelt.
Da ist zwar die Developer Bible von Autodesk anfangs ganz hilfreich, aber noch nicht vollends begreiflich.

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

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 26. Mai. 2015 19:10    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 cadplayer 10 Unities + Antwort hilfreich

In Civil 3D bestimmen Stile, mit welcher Farbe welche Objektdarstellung angezeigt wird, nur in den allerwenigsten Fällen wird eine Farbzuweisung an das Objekt Sinn machen/funktionieren.

------------------


www.cars4fun.at

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: 26. Mai. 2015 19:33    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


2015-05-26_19-25-24.png

 
Danke, ich bin inzwischen auch darauf gestossen, stimmt die Farben sind in den jeweiligen Styles der ViewObjekte abgelegt.
In Civil herkömmlich -> Setting tab -> Profilview -> Bandset ->
Bandset mit Rechtklick auswählen -> Styles !

Sorry, hab nur die engl. Version - müsste aber nachvollziehbar sein. Im Objektbrowser fand ich ein ProfilViewStyle-Objekt, könnten da auch nähere Angaben zur Objekt-stylefarbe zu finden sein ?
Mir ist die Handhabung nicht ganz klar, wo ich etwas finden kann ?!

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

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

Ingenieur Studio HOLLAUS
Mitglied
CAD / CAFM / GIS Beratung-Programmierung-Schulung


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

Beiträge: 1049
Registriert: 06.11.2008

Autocad 2 bis Autocad 2020 (+Map3D, +Civil3D, +Infraworks)
RKV .... CAFM+mehr
HMap ... Vermessung und Verkehr
OoC .... Raumplanung
CBox ... Tools für AutoCAD und BricsCAD (kostenfrei)

erstellt am: 26. Mai. 2015 19: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 cadplayer 10 Unities + Antwort hilfreich

Du findest Beispiele z.B. hier:
  C:\Program Files\Autodesk\AutoCAD 2016\C3D\Sample\Civil 3D API
Suche darin und fange mit einfacheren Elementen als dem Höhenplan/ProfileView an.
Viel Erfolg!

------------------


www.cars4fun.at

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: 27. Mai. 2015 07:20    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 - jep da bin ich fündig geworden - gut für den Einstieg...

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

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