Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Layer mit VBA

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Layer mit VBA (700 mal gelesen)
MA28
Mitglied
Bautechnischer Zeichner


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

Beiträge: 53
Registriert: 17.03.2003

erstellt am: 11. Mai. 2003 13:53    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

Hallöchen!

wie kann ich einem neu erstellten Layer mit hilfe von VBA sagen welchen Linientyp er hat?

ich erstellt ihn so:

  ThisDrawing.Layers.Add("3s_arsl").Color = 1


lg Gambrinus

------------------
mfG
Gambrinus

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

Norbert AC
Mitglied



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

Beiträge: 26
Registriert: 17.03.2003

erstellt am: 12. Mai. 2003 09:40    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 MA28 10 Unities + Antwort hilfreich

Hi Gambrinus

das geht etwa so:

Public Sub LayerAnlegen()
    Dim aLayer as AcadLayer

    Set aLayer= ThisDrawing.Layers.Add("Test")
    aLayer.Color = acRed
    aLayer.LineType = "BYLAYER"
End Sub

Die Hilfe zu ACAD-VBA ist sehr gut aufgebaut, schau Dir die Sachen da mal an.
Gruß Norbert

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

MA28
Mitglied
Bautechnischer Zeichner


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

Beiträge: 53
Registriert: 17.03.2003

W2k pro 5.0.2195 SP3;
AutoCAD 2006;
HP DesignJet 800

erstellt am: 12. Mai. 2003 10: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

Hi Norbert AC!

Danke für deine Hilfe, die mir sehr geholfen hat!

hier nun meine Lösung für einen neuen Layer!

Sub neuer_Layer()
  Dim NewLayer As AcadLayer
'wo liegt der Unterschied zwischen AcadLayer und Acad_Layer?
  Dim LineTy As ACAD_LTYPE
'wieso kann ich hier nicht AcadLineType nicht verwenden?
 
  LineTy = "strichlinie2"
  ThisDrawing.Linetypes.Load LineTy, "acad.lin"
'hier wird der Linientype strichlinie2 aus der acad.lin geladen
   
  Set NewLayer = ThisDrawing.Layers.Add("3s_vbml")
'3s_vbml ist der neue Layername
    NewLayer.Color = acWhite
'hier wird die Farbe festgelegt
    NewLayer.LineType = LineTy
'hier wird dem neuen layer der geladene Linetype zugewiesen!
End Sub

------------------
mfG
Gambrinus

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

Norbert AC
Mitglied



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

Beiträge: 26
Registriert: 17.03.2003

erstellt am: 16. Mai. 2003 11: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 MA28 10 Unities + Antwort hilfreich

Hallo Gambrinus
AcadLayer ist ein Objekt und ACAD_LAYER nicht!
AcadLineType kann sehr wohl verwendet werden, probier einfach folgendes:

public sub test()
  dim L as AcadLayer
  dim LT as AcadLineType

  set L=thisdrawing.activelayer
  set LT=L.Linetypes(L.Linetype)
end sub

Bei Dir allerdings verwendest Du nur die Bezeichnung des Linientyps, die ein String ist, also bitte auch so definieren:
    dim LineTy as string

Du wirfst Objekte und Strings durcheinander, nochmal den Tip: schau Dir Objektmodell und Beispiele von ACAD-VBA in Ruhe an.

Viel Spaß
Norbert

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

MA28
Mitglied
Bautechnischer Zeichner


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

Beiträge: 53
Registriert: 17.03.2003

W2k pro 5.0.2195 SP3;
AutoCAD 2006;
HP DesignJet 800

erstellt am: 16. Mai. 2003 12:58    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

So jetzt bin ich etwas verwirrt!

werde es mir in ruhe anschauen und dann meine erfahrungen posten!

nochmals danke!

------------------
mfG
Gambrinus

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)2025 CAD.de | Impressum | Datenschutz