| |
 | 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: markierte Blöcke bearbeiten (781 mal gelesen)
|
scarface Mitglied
 Beiträge: 2 Registriert: 03.03.2005
|
erstellt am: 03. Mrz. 2005 18:48 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Ich suche einen Lösungsanzatz für folgendes Problem: - meine Autocadzeichnung enthält sehr viele Blöcke (3D-Punkte mit zusätzlichen Attributen) - 2 davon sollen von mir markiert werden und deren X, Y und Z Koordniaten per Makro/VBA-Programm recht kompliziert umgerechnet und verändert werden Wie komme ich denn an die beiden aktuell markierten Blöcke und deren Koordinaten ran? Sorry, falls das eine "dumme" Frage ist, aber ich bin heute erst auf VBA gestoßen und versuche das nun krapfhaft umzusetzen. Danke für die Hilfe. MfG Scar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 04. Mrz. 2005 13:23 <-- editieren / zitieren --> Unities abgeben:          Nur für scarface
Hallo Scar, wenn Du Blöcke markierst, erzeugst Du ein SelectionSet (Auswahlsatz). Durch dieses SelectionSet kannst Du durchiterieren und bekommst dann von den Elementen die gewünschten Eigenschaften. Benutze einfach die Suche nach 'SelectionSet' im Forum und Du wirst fündig werden. Gruss TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PG01 Mitglied

 Beiträge: 22 Registriert: 08.03.2005
|
erstellt am: 08. Mrz. 2005 17:07 <-- editieren / zitieren --> Unities abgeben:          Nur für scarface
Hi Scar, unten aufgeführt findest Du ein Beispiel, um an die Einfügepunkte von Blockreferenzen heranzukommen. Du mußt den Text in ein Visual Basic Modul hineinkopieren und dann mit F5 starten. Ich hoffe es funktioniert. Grüße PG ----------------------------------------------------- Sub Objektauswahl() 'ByVal Hilfsvariable As Boolean) Dim ACEnte As AcadEntity Dim ACBlockRef As AcadBlockReference Dim EP As Variant Dim x, y, z As Double On Error GoTo FehlerOHandleBildschirm Set ss = ThisDrawing.SelectionSets.Add("beliegerName") ss.SelectOnScreen For Each ACEnte In ss If ACEnte.ObjectName = "AcDbBlockReference" Then Set ACBlockRef = ACEnte EP = ACBlockRef.InsertionPoint x = EP(0): y = EP(1): z = EP(2) Debug.Print x, y, z End If Next ACEnte FehlerOHandleBildschirm: ss.Delete End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PG01 Mitglied

 Beiträge: 22 Registriert: 08.03.2005
|
erstellt am: 08. Mrz. 2005 17:13 <-- editieren / zitieren --> Unities abgeben:          Nur für scarface
Hi Scar, hier noch ein kurzer Nachtrag zu meiner obigen Antwort. Die Einfügepunkt werden in das sogenannte Direktfenster geschreiben (mit dem Befehl Debug.Print ...). Du mußt also in der Visual Basic Oberfläche mit STRG+G das "Direktfenster" öffnen, um die Daten zu sehen. Grüße PG ------------------ GÜNTHER ENGINEERING 30519 Hannover Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
scarface Mitglied
 Beiträge: 2 Registriert: 03.03.2005
|
erstellt am: 08. Mrz. 2005 20:10 <-- editieren / zitieren --> Unities abgeben:         
Hallo Danke euch allen für die Antworten. Mein Programm ist aber schon seit 2 Tagen fertig. Ich hatte mich dann halt einfach in der Hilfe umgesehen, nachdem BloddyMess mir das Stichwort Selectionset genannt hatte. Die Hilfe in Kombination mit dem Forum ist wirklich gut, wenn man weiss nach was man suchen muß! MfG Scar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |