Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Verschiedene Linientypen unterscheiden

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
  
PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Verschiedene Linientypen unterscheiden (1027 mal gelesen)
pistolpete1
Mitglied
Student


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

Beiträge: 102
Registriert: 06.01.2007

erstellt am: 30. Sep. 2007 18: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


Problemstellung.jpg

 
Hallo wertes Forum.

Wie kann man am besten zwischen verchiedenen Linientypen unterscheiden? (siehe Grafik - allerdings nur ein kleiner auszug)
Gibt es da eine eindeutige Identifizierungsmöglichkeit, wenn man einen Linientyp definiert, oder muss man alles über folgende Attribute machen:
 
  line.Linetype
  line.Thickness
  line.Lineweight
  ....

lg Peter

 

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: 1526
Registriert: 17.08.2005

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

erstellt am: 30. Sep. 2007 19: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 pistolpete1 10 Unities + Antwort hilfreich

Hallo Peter,

es kommt darauf an wie weit die Informationen "verschlüsselt" sind.
Es gibt auf jeden Fall keine Supereigenschaft wo alles drin steckt.
In der Regel würde man in der Reihenfolge
- Layer
- LineType
- Color /Truecolor
- Lineweight
vorgehen um Informationen zu decodieren.

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

pistolpete1
Mitglied
Student


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

Beiträge: 102
Registriert: 06.01.2007

erstellt am: 03. Okt. 2007 14: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


problemstellung.jpg

 
Hallo Wilfried,

danke wiedermal für deine Antwort. Hab jetzt die von dir genannten Attribute ausgegeben und wundere mich, warum "Lineweight" und "color" bei jeder der 10 Linien gleich ist.

Folgende Prozedur gibt mir die Infos im Direktfenster aus:

  Private Sub lineDef()
     
    Dim ret As Collection
    Dim lineset As AcadSelectionSet
    Dim e As AcadEntity
    Dim i As Integer
    Dim l As AcadLine
    Dim s As String
   
    Set ret = New Collection
    Set lineset = CreateSelectionSet("SET01")
    lineset.Select mode:=acSelectionSetAll
   
    i = 0
    For Each e In lineset
      If TypeOf e Is AcadLine Then
        Set l = e
        Debug.Print "---------------------------------"
         
        s = l.Layer & Chr(13)
        s = s & l.Linetype & Chr(13)
        s = s & l.color & Chr(13)
      '  s = s & l.TrueColor & Chr(13)
        s = s & l.Lineweight & Chr(13)
        Debug.Print s
          i = i + 1
      End If
    Next e
   
End Sub


Direktfenster:
---------------------------------
SUS_Kanal - Drainage
ACAD_ISO07W100
256
-1

---------------------------------
SUS_Lüftung
ACAD_ISO07W100
256
-1

---------------------------------
SUS_Kanal - Regen
ACAD_ISO07W100
256
-1

---------------------------------
SUS_Kanal - Schmutz
ACAD_ISO07W100
256
-1

---------------------------------
SUS_Kanal - Drainage
ByLayer
256
-1

---------------------------------
SUS_Sanierung - geschlossen
ByLayer
256
-1

---------------------------------
SUS_Sanierung - offen
ByLayer
256
-1

---------------------------------
SUS_Lüftung
ByLayer
256
-1

---------------------------------
SUS_Kanal - Regen
ByLayer
256
-1

---------------------------------
SUS_Kanal - Schmutz
ByLayer
256
-1


Bedeutet ByLayer "durch den Layer definiert"? Wie kann ich dann verschiedene Linien unterscheiden, wenn sie auf dem gleichen Layer liegen (-> mit diesem System könnte ich sie dann ja nicht eindeutig zuordnen!)

Ich bitte wieder um deinen schlauen Rat,

lg Peter

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: 1360
Registriert: 24.07.2002

AutoCAD ACA 2024
Solidworks 2022 Sp5
Enterprise PDM 2022 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell Precision 3660
Intel Core i9-12900K
32 GB Arbeitsspeicher
2x Dell U2415

erstellt am: 03. Okt. 2007 14: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 pistolpete1 10 Unities + Antwort hilfreich

Hallo Peter,

Wenn die Linien auf dem gleichen Layer liegen und auf "VonLayer" stehen, was bei der Farbe dann der Wert 256 ist, haben die Linien auch die Farbe, die im Layer definiert ist. Du kannst höchsten die Farbe der Linie auf einen Wert setzen. Dann können die Linien auf dem selben Layer liegen aber andere Farben usw. besitzen. Dann steht in deiner Auswertung aber nicht VonLayer bzw. 256 bei der Farbe.
Von daher versteh ich dein Problem nicht ganz. Du hast doch bestimmt bei deinem Beispiel 10 Linien, die jeweils auf einem Layer liegen, oder?!

Gruß, Carsten

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: 1526
Registriert: 17.08.2005

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

erstellt am: 03. Okt. 2007 18:06    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 pistolpete1 10 Unities + Antwort hilfreich

Hallo Peter,

du kannst doch über das Eigenschaftsfenster von AutoCAD kontrollieren wie die Linieneigenschaften sind.
Grundsätzlich sind Linien die auf einem Layer sind, die gleiche Linienart und Farbe haben auch Linien gleicher Bedeutung. Dabei ist die Linienart byLayer und die Farbe 256(byLayer) letzendlich auch Eigenschaften.
In deinem Quelltext hast du TRUECOLOR auskommentiert. Haben deine Elemente nur die Indexfarben ?
Ansonsten ist die Eigenschaft Truecolor nicht nur einfach ein Wert sondern ein Objekt. Dazu musst du eine Object als TrueColor deklarieren und dieses per Set aus der Objekteigenschaft belegen. Dann kannst du aus dem Farbobjekt die Eigenschaften auslesen.

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

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