Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Bitte um Hilfe bei Blockauswahl über Attribute

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
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  Bitte um Hilfe bei Blockauswahl über Attribute (1081 mal gelesen)
Jowo76
Mitglied



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

Beiträge: 16
Registriert: 09.12.2008

AutoCad 2007, 2008, 2009

erstellt am: 09. Dez. 2008 21:54    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

Erstmal hallo an Alle,

da mir der Part der AutoCad-Programmierung in der Firma zugeteilt wurde, und ich leider vom Programmieren kaum Ahnung habe, wende ich mich an Euch.

Zum Problem:
Ich habe in einer Zeichnung mehrere Blöcke mit den Attributen Punktnummer(PNUM) und Höhe(Höhe).
Nun soll ich den Block mit einer bestimmten Punktnummer als Attribut automatisch auswählen, ihn dann auf eine andere Höhe verschieben und diese Höhe in das Höhenattribut eintragen.  

Bitte um Eure Unterstützung

Danke im Voraus

Jowo76  

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


Ex-Mitglied

erstellt am: 09. Dez. 2008 22:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

Willkommen auf CAD-de!!

Aus Deiner Fragestellung (und auch restlichen Formulierung) seien mir ein paar Rückfragen erlaubt:

a) wie gut bist Du mit AutoCAD (z.B. kennst Du die Schritte, wie Du diese Aufgabe händisch bewältigen würdest)
b) wie gut bist Du mit VBA (hast schon mal was mit VBA gemacht, auch mit AutoCAD?)
c) woher kommen Punktnummer und neue Höhe, aus Dateiliste, aus Usereingabe, aus Berechnung, ...?
d) hast schon einen Code und eventuell eine Position im Code, wo Du hängst? Ich nehme nicht an, dass der Hintergrund der Frage hier wäre 'Wer kann's mir machen'

- alfred -

PS: ich bin ein Feind von Umlauten in Bezeichnungen (und immer wieder habe ich recht) ==> d.h. Eure Attributsbezeichnung hat nicht wirklich den Namen 'Höhe' oder?

Jowo76
Mitglied



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

Beiträge: 16
Registriert: 09.12.2008

AutoCad 2007, 2008, 2009

erstellt am: 09. Dez. 2008 22:16    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 und Danke für die schnelle Antwort,

nein, die "Höhe" ist natürlich als "Hoehe" hinterlegt.

Unsere Blöcke werden mit einem für uns programmierten Tool erstellt.
Man wählt den Einfügepunkt und gibt die Höhe an.

AutoCad selbst: Zeichne - Konstruiere schon bald zehn Jahre mit diversen AutoCad Versionen.
VBA: Habe schon ein paar Kleinigkeiten programmiert, nix besonderes.
    Hänge eigentlich bei dem Problem, dass ich nicht weiß wie ich das Atrribut für die Punktnummer in einem selectionsets ansprechen kann, bzw. wie ich        dieses selectionsets definieren muss.
Zum Beispiel will ich den Block mit Attribut PNUM (Wert 34) mit diesem selectionsets auswählen.
Bin ich da überhaupt auf dem richtigen Weg?
Die Blockkoordinaten mit Variable (0 to 2) auslesen... und so das ist kein Thema.
Die neue Höhe für den Block (sprich z-Koordinate) gebe ich über ein Formular ein und lese de Wert des Textfeldes aus (=z-Koordinate neu).
Bei der Auswahl des Blockes über das Attribut, da steht gerade das Hirn.

PS:Bekomme mein VBA Buch "AutoCad 2006 VBA" leider erst nächste Woche.

mfg

Jowo76

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


Ex-Mitglied

erstellt am: 09. Dez. 2008 22:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

dann gehen wir's an (wie lange wirst Du heute arbeiten?) 

a) SelectionSet kann nicht auf Attribute prüfen, Du kannst nur ein SelectionSet auf BlockReferenzen machen (wenn möglich, dann mit Blocknamen) und dann die Blöcke samt deren Attribute durchscannen)

b) nur um sicherzugehen, bevor ich Dir Beispiel schreibe: VBA oder VB.NET (wäre bei grossen Zeichnungen bzw. vielen Blockreferenzen) schon vorteilhaft in Bezug auf Speed.

- alfred -

Jowo76
Mitglied



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

Beiträge: 16
Registriert: 09.12.2008

AutoCad 2007, 2008, 2009

erstellt am: 09. Dez. 2008 22: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

Danke für Deine Hilfe,

es handelt sich um VBA in AutoCad 2008.

Von VB.net habe ich gar keine Ahnung.  (bin aber für alles offen)

Bin heute "schon" zu Hause (irgendwann schreien sonst die eigenen Kinder) und kann sowieso erst morgen wieder auf meinem Firmenrechner das AutoCad bzw. dessen VBA würgen. (oder es mich)

Zum Thema große Zeichnungen. Die größten Exemplare, wo ich diese "Anwendung" benötigen werde, kann etwa 10.000 Blöcke umfassen (kommt aber maximal 2 mal im Jahr vor).

------------------

Jowo76

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


Ex-Mitglied

erstellt am: 09. Dez. 2008 22:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat


BlockAttSearch_AN01.zip

 
Hi,

anbei TestCode, der Dir zeigt, wie Du SelectionSet definierst (Konstante am Anfang beachten).

Die 10000 Punkte halte ich für grenzwertig, aber wenn's nur 2* p.a. vorkommt und dann auch noch ein Anwender dahintersitzt (auf den in der Regel der Computer wartet statt umgekehrt), ist das trotzdem mal ein Anfang.

Zum Code selbst, nix getestet, nur geschrieben

- alfred -

Jowo76
Mitglied



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

Beiträge: 16
Registriert: 09.12.2008

AutoCad 2007, 2008, 2009

erstellt am: 09. Dez. 2008 22: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

Super, werde ich morgen gleich mal testen.

Danke und gute Nacht.

Melde mich.

------------------

Jowo76

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

Jowo76
Mitglied



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

Beiträge: 16
Registriert: 09.12.2008

AutoCad 2007, 2008, 2009

erstellt am: 10. Dez. 2008 11:46    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 Alfred,

habe jetzt mit Hilfe deines Codes die Lösung gefunden.


Danke 

------------------

Jowo76

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