Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Lineweigth ä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
  
PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Lineweigth ändern (480 mal gelesen)
dj_assp
Mitglied
Tech. Angestellter


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

Beiträge: 50
Registriert: 02.10.2006

Autocad VBA

erstellt am: 04. Okt. 2006 06: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

Hallo Leute
Ich schreibe gerade ein Programm mit dem man die lineweigth zuweisen kann. Ich lese  eine Datei auslese wo die Strichstärken der Farben definiert sind und die möchte ich jetzt über einen Auswahlsatz denn einzelen Objekten mit Ausnahme der Objekte, wo die lineweigth Eigenschaft von Layer ist.
Ich habe mir schon einen Auswahlsatz zurecht gelegt, habe aber Probleme mit dem Rest!!!!

    FilterType(0) = -4
    FilterData(0) = "<="
    FilterType(1) = 62
    FilterData(1) = 255
   
    ss.SelectOnScreen FilterType, FilterData

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

erstellt am: 04. Okt. 2006 06: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 Nur für dj_assp 10 Unities + Antwort hilfreich

Hallo Alexander,

Erst mal Willkommen im Forum. Womit hast du denn dein Problem. Aus deinem Text  werde ich nicht ganz schlau, da er sehr seltsam geschrieben ist. Konkretisier mal dein Anliegen so, das man es versteht.

Gruß, Carsten

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

dj_assp
Mitglied
Tech. Angestellter


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

Beiträge: 50
Registriert: 02.10.2006

Autocad VBA

erstellt am: 04. Okt. 2006 07:09    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 Carsten
Ich will ein Prgramm schreiben das die Objekte einer Zeichnung prüft ober die Objektfarbe von Layer ist, wenn das nicht der Fall ist soll ein lineweigth zugewiesen werden.

Mein Problem ist das ich nicht weiß wie ich bei Objekten die in einem Auswahlsatz enthalten sind. Die Fabe auslesen kann um dann eine lineweigth zu zuweisen.

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 04. Okt. 2006 08:26    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 dj_assp 10 Unities + Antwort hilfreich

Für das "Durchlaufen" des Auswahlsatzes guck dir mal die Hilfe zu
dem "SelectionSet Object" an. Mit der Property "Count" für die Anzahl, einer sich in der Schleife erhöhenden IndexVariable und mit der Methode "Item" für den Objektzugriff solltest du das lösen können.

Dann gibts noch ein "Lineweight Example" in der Hilfe, genauso wie ein "Layer Example" die eigentlich das Eigenschaft auslesen und Ändern recht gut dokumentieren

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

erstellt am: 04. Okt. 2006 08:26    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 dj_assp 10 Unities + Antwort hilfreich

Hallo Alex,

Schau dir mal diesen Code an:

Public Sub Lineweight()
  Dim sset As AcadSelectionSet
  Dim FilterType(1) As Integer
  Dim FilterData(1) As Variant
  Dim object As AcadObject
  On Error Resume Next
  ThisDrawing.SelectionSets.Item("SS2").Delete 'Auswahlsatz löschen, wenn vorhanden
  Set sset = ThisDrawing.SelectionSets.Add("SS2") 'Auswahlsatz erstellen
  FilterType(0) = -4
  FilterData(0) = "<>"    'Filter setzen ungleich
  FilterType(1) = 62      'Gruppencode für Objectfarbe
  FilterData(1) = 256      'Vonlayer
 
  sset.Select acSelectionSetAll, , , FilterType, FilterData 'Alle Elemente laut Filter in Auswahlsatz
  For Each object In sset          'Für jedes Element im Auswahlsatz
  Select Case object.color        'Select Case Objektfarbe
  Case acGreen                    'Wenn Farbe Grün,
  object.Lineweight = acLnWt030    'Dann Linienbreite = 0,30mm
  Case acRed                      'Wenn Farbe Rot,
  object.Lineweight = acLnWt050    'Dann Linienbreite = 0,5mm
  End Select                      'End Select
  Next                            'Next für For Each
End Sub

Das sollte genau das machen, was du vor hast. Dein Gruppencode 62 war richtig um die Objektfarbe auszufiltern. Allerding ist vonLayer die Nummer 256.

Gruß, Carsten

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 04. Okt. 2006 08: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 Nur für dj_assp 10 Unities + Antwort hilfreich

Anmerkung:
Wenn Objekte die Farbe "von Layer" haben wird kein Gruppencode 62 mit gespeichert. Zu testen mit (entget(car(entsel))) in der Befehlszeile und Anklicken des entsprechenden Objektes. Die Selectionset-Bildung funzt aber trotzdem mit
FilterType(1) = 62
FilterData(1) = 256

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

erstellt am: 04. Okt. 2006 08:37    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 dj_assp 10 Unities + Antwort hilfreich

Hallo Thomas,

Hast mich überzeugt  . Danke für die Info, hatte ich nicht getestet.

Gruß, Carsten

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



Anzeige:Infos zum Werbeplatz >>

cseTools Lizenzserver CAD APP für Allgemeine Werkzeuge

Für die cseTools bieten wir flexible Lizenzierungsoptionen an. Dauer- und Mietlizenzen sowie jeweils Einzelplatz- und Netzwerklizenzen. Wenn Sie Ihre Lizenzen im Netzwerk mit allen Benutzern teilen möchten, wird der cseTools Lizenzserver benötigt.

dj_assp
Mitglied
Tech. Angestellter


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

Beiträge: 50
Registriert: 02.10.2006

Autocad VBA

erstellt am: 04. Okt. 2006 09: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 Carsten
Funktioniert echt super! Besten DANK!!

Gruß Alex

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