Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  layer farbe änderen

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:  layer farbe änderen (2502 mal gelesen)
mias
Mitglied



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

Beiträge: 23
Registriert: 30.07.2007

erstellt am: 01. Aug. 2007 10:38    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 (wiedereinmal)!

ich versuche layer umzubenennen und deren farbe zu ändern:

das umbenennen klappt mit hilfe von einem script aus dem forum schon tadellos:

Code:
Dim objLayer As AcadLayer

For Each objLayer In ThisDrawing.Layers
    objLayer.Name = Replace(objLayer.Name, "mwk1-0", "_lin_dick")
Next


die frage ist: wie kann ich jetzt die layerfarbe - das ist doch objLayer.TrueColor gleich mit änbderen?

danke! mias

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

Brischke
Ehrenmitglied V.I.P. h.c.
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

ACAD20XX, defun-tools

erstellt am: 01. Aug. 2007 10:55    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 mias 10 Unities + Antwort hilfreich

Wenn dir die ACI-Farben ausreichen probier's mit
objLayer.Color und der Farbnummer. Brauchst du Truecolor wird's etwas komplizierter.

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

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

mias
Mitglied



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

Beiträge: 23
Registriert: 30.07.2007

erstellt am: 01. Aug. 2007 11:08    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

ok! danke. mir macht aber vorallem probleme beides zu verknüpfen! ich würde gerne mit einer abfrage eben nach: objLayer.Name dann auch objLayer.Color ändern, da in den dateien die farbe variiert, nicht aber die layernamen!

danke, mias

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

AutoCAD ACA 2018
Solidworks 2016 Sp5
Enterprise PDM 2016 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell T3620
Intel Core i7-7700K
16 GB Arbeitsspeicher
2x Samsung S24C650
Dell M4800

erstellt am: 01. Aug. 2007 11:14    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 mias 10 Unities + Antwort hilfreich

Hi mias,

Was hindert dich denn daran, in deiner For Each-Schleife ein Abfrage für den Layernamen einzubauen und danach dann die Farbe des Layers(mit objLayer.Color) zu ändern?!

Gruß, Carsten

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

mias
Mitglied



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

Beiträge: 23
Registriert: 30.07.2007

erstellt am: 01. Aug. 2007 11:21    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

ok danke fürs mitdenken! meine vorläufige löäsung:


Code:
Dim objLayer As AcadLayer
For Each objLayer In ThisDrawing.Layers
    If (objLayer.Name = "einri-0") Then
        objLayer.Name = Replace(objLayer.Name, "einri-0", "_einrichtung")
        objLayer.color = acBlue
    End If
Next


lg mias

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

mias
Mitglied



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

Beiträge: 23
Registriert: 30.07.2007

erstellt am: 01. Aug. 2007 12:13    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!

ich hab noch eine zusätzliche frage. die layerstruktur ist ein bisschen komplizierter, als ich gedacht habe. es gibt also gruppen von layern, die zusammengefügt und umbenannt werden sollen. zB.

mk1-0
mk1-a
mk1-b
...

und die werden dann zusammengefüg zB zu

_lin_dick

wie kann ich also das suffix beliebig angeben. in mel wärs:

objectLayer.Name = "mk1-"& %

danke! mias

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 01. Aug. 2007 15: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 mias 10 Unities + Antwort hilfreich

Hallo,

a) mit der replace Funktion kannst du doch Teile des Names ersetzen.

b) Wenn du jedoch mehrere verschiedene Layer auf den gleichen Namen legen willst wird es wohl etwas komplexer da ein Layername nur einmal vorkommen kann. Dann müsstes du alle Elemente der Layer die wegfallen erst mal auf den endgültigen Layer setzen.

Mir ist aber nicht klar was du eigentlich machen willst (a oder b).

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

mias
Mitglied



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

Beiträge: 23
Registriert: 30.07.2007

erstellt am: 01. Aug. 2007 16:04    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!

mein problem gliedert sich in zwei teile:

zum einen ist nicht der ganze dateiname mit sicherheit bekannt. allerdings werden alle layer die mit dem gleichen suffix zB mwf1-02, mwf1-03,.. mwf1.* zu einem layer zusammengefasst.

das heißt:

*zum einen versuch ich es zu schaffen, layer auszuwählen, die gleich beginnen

*und dann muss ich diese auf einem layer zusammenfassen!

danke fürs helfen und mitdenken! mias

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

AutoCAD ACA 2018
Solidworks 2016 Sp5
Enterprise PDM 2016 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell T3620
Intel Core i7-7700K
16 GB Arbeitsspeicher
2x Samsung S24C650
Dell M4800

erstellt am: 01. Aug. 2007 16: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 Nur für mias 10 Unities + Antwort hilfreich

Hi mias,

Erstelle doch einen Selection mit allen Objekten, die auf den Layer beginnend mit mwf* liegen und änderst deren Layer-Property auf den Layer, den du dafür erstellt hast.
Was hat denn der Dateiname mit deinem Problem zu tun?

Gruß, Carsten

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

mias
Mitglied



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

Beiträge: 23
Registriert: 30.07.2007

erstellt am: 01. Aug. 2007 16:29    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

das problem ist die disziplin mit den layernamen in unserem büro ;-)

da gibts nämlich unterschiedliche philisophien...
wenn ich also mwk* alle elemente verschiederner layer auswähle könnte ich sie auf einem neuen layer zusammenfügen und die alten mwk* löschen...

kann das so klappen? und akzeptiert VBA die schreibweise mwk*?

danke! mias

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

AutoCAD ACA 2018
Solidworks 2016 Sp5
Enterprise PDM 2016 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell T3620
Intel Core i7-7700K
16 GB Arbeitsspeicher
2x Samsung S24C650
Dell M4800

erstellt am: 01. Aug. 2007 16:39    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 mias 10 Unities + Antwort hilfreich

Hi,

Probiers doch mal:

Code:
Public Sub Layerkonv()
  Dim SSET As AcadSelectionSet
  Dim Object As AcadObject
  Dim FilterType(0) As Integer
  Dim FilterData(0) As Variant
  On Error Resume Next
 
  ThisDrawing.SelectionSets.Item("Layerset").Delete
  Set sset = ThisDrawing.SelectionSets.Add("Layerset")
  FilterType(0) = 8
  FilterData(0) = "mwk*"

  sset.Select acSelectionSetAll, , , FilterType, FilterData
  For Each Object In sset
  Object.Layer = "Layerneu" 'Layer muss angelegt sein!!!
  Object.Linetype = "byLayer"
  Object.color = acByLayer
  Object.LinetypeScale = 1
  Object.Update
  Next
 
  End Sub


Gruß, Carsten

[Diese Nachricht wurde von Carsten1210 am 01. Aug. 2007 editiert.]

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

mias
Mitglied



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

Beiträge: 23
Registriert: 30.07.2007

erstellt am: 01. Aug. 2007 16: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

oh danke! ich werd etwas brauchen mich durch den code zu schwindeln und das für mich anzupassen!

danke, für die nette hilfe!

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