Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Blöcke markieren und Layer wechseln

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: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
Autor Thema:  Blöcke markieren und Layer wechseln (2939 mal gelesen)
Daniel Möller
Mitglied
Konstrukteur


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

Beiträge: 53
Registriert: 28.11.2006

erstellt am: 05. Jul. 2010 14:24    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 zusammen,

zur Zeit bin ich dran VBA zu lernen an praktischen Beispielen aus meiner Arbeit.
Vielleicht könnt ihr mir hier weiterhelfen wie ich an so einem Beispiel beginne.

In einer Zeichnung gibt es mehrere Blöcke die markiert werden müssen

z.b. ABCD_01_dpvs
    ABCD_01_dpva
    ABCD_01_dpvk

und danach auf einen neuen Layer kommen

    Layer mechanisch

Die Auswahl der Blöcke würde ich gerne mit *ABCD_01_dpv* erstellen.

Über die Suche funktion konnte ich nichts passendes finden vielleicht kann mir ja jemand weiterhelfen.

Vielen Dank

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: 05. Jul. 2010 14:28    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 Daniel Möller 10 Unities + Antwort hilfreich

warum müssen die markiert werden ?

...durchlauf die Blocktabelle, wenn du auf ein Insert kommst, das deinen Namenskonventionen entspricht, änder die Property "Layer" ..

------------------
  - 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

Daniel Möller
Mitglied
Konstrukteur


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

Beiträge: 53
Registriert: 28.11.2006

erstellt am: 05. Jul. 2010 15:45    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

Naja dachte daran die Blöcke zu markieren und ihnen dann einen neuen Layer zuzuordnen.

oder gibt es eine schönere lösung dafür?

Mit der filterfunktion bekomme ich es schon hin dass mir ein Blocktyp bereits markiert wird allerdings mit zwei oder mehreren bekomme ich es nicht hin.

Gibt es auch eine Möglichkeit die Markierung nach dem Makro automatisch auf die ganze Zeichnung zu bringen?
So muss ich manuell noch alles eintippen

Sub Ch4_FilterMtext()
Dim sstext As AcadSelectionSet
Dim FilterType(0) As Integer
Dim FilterData(0) As Variant
Set sstext = ThisDrawing.SelectionSets.Add("SS2")
FilterType(0) = 2
FilterData(0) = "*AQA_dpv*"
sstext.SelectOnScreen FilterType, FilterData
End Sub

Grüße

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: 05. Jul. 2010 15: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 Daniel Möller 10 Unities + Antwort hilfreich

naja mit Lisp ist das eine Zeile

(sssetfirst nil (ssget "_x" '((0 . "INSERT")(2 . "*AQA_dpv*"))))


die kannst du dir als Buttonmakro ablegen oder einfach mal zum Testen in die Befehlszeile kopieren

VBA ist nicht so mein Ding

------------------
      - 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

Daniel Möller
Mitglied
Konstrukteur


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

Beiträge: 53
Registriert: 28.11.2006

erstellt am: 05. Jul. 2010 16:11    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 sieht auch schon ganz nett aus da werd ich gleich mal reinschauen.

Kann ich da auch gleich mehrere Blöcke markieren?

(sssetfirst nil (ssget "_x" '((0 . "INSERT")(2 . "*AQA_dpv*"))))
(sssetfirst nil (ssget "_x" '((0 . "INSERT")(2 . "*AQA_upv*"))))
(sssetfirst nil (ssget "_x" '((0 . "INSERT")(2 . "*AQA_dps*"))))
.........

Danke schonmal

Grüße

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


Ex-Mitglied

erstellt am: 05. Jul. 2010 16:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

schreib die Layer einfach, mit Beistrich getrennt, hintereinander:

(sssetfirst nil (ssget "_x" '((0 . "INSERT")(2 . "*AQA_dpv*,*AQA_upv*,*AQA_dps*"))))

- alfred -

------------------
www.hollaus.at



Anzeige:Infos zum Werbeplatz >>

pitCAD Ultimate Basis ? Netzwerk CAD APP für TGA, Elektro, Facility Management

Vereint die langjährige Erfahrung von pit-cup im Bereich der Gebäudetechnikplanung und des Facility Management zu einem durchgängigen 2D/3D CAD/BIM Planungswerkzeug, über den gesamten Lebenszyklus einer Immobilie.

Daniel Möller
Mitglied
Konstrukteur


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

Beiträge: 53
Registriert: 28.11.2006

erstellt am: 05. Jul. 2010 16: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

ich glaube LISP gefällt mir besser :-)

kann ich hier auch automatisch eine abfolge reinbringen?

Markiere Block A - D und lege auf Layer A1
Markiere Block E - G und lege auf Layer A2
....

Vielen Dank für den super Tip

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