| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Gruppeninhalte (874 mal gelesen)
|
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003 Revit 2013 ACA 2012 deutsch BuildingOne 5.4.5 Win7 WindowsNetz
|
erstellt am: 31. Aug. 2003 23:34 <-- editieren / zitieren --> Unities abgeben:
Hi Forum, wie ich die einzelnen Elemente einer Gruppe per VBA ausgelesen bekommen, bekomme ich hin. AAAber.....geht der Weg auch in die andere Richtung? Ich habe eine Polylinie in meinem Auswahlsatz und möchte mir von VBA sagen lassen, zu welcher Gruppe diese Polylinie gehört ohne alle Gruppen einzeln nach dieser Polylinie durchzuforsten. Gibts da sowas wie ne Parent-Eigenschaft? Optimistisch wie ich bin, sage ich schon mal DANKE ------------------ Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GuidoE Mitglied Maschinenbautechniker
Beiträge: 8 Registriert: 09.08.2002
|
erstellt am: 05. Sep. 2003 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für BerndE
Hallo Bernd, Mit diesem Programm müssen Sie allerdings einzelne Objekte anwählen (Keine SelectionSet), jedoch hoffe ich Ihnen damit geholfen zu haben. Sub WelcheGruppe1() On Error GoTo ErrTrap Dim obj As Object, pt As Variant, Txt As String ThisDrawing.Utility.GetEntity obj, pt, "Gruppe Wählen: " Dim gruppe As Object, item As Object For Each gruppe In ThisDrawing.Groups For Each item In gruppe If item.ObjectID = obj.ObjectID Then Set obj = gruppe: Exit For Next item If TypeOf obj Is AcadGroup Then Exit For Next gruppe If Not TypeOf obj Is AcadGroup Then MsgBox "Objekt gehört zu keiner Gruppe.": Exit Sub MsgBox "Gruppenname: " & obj.Name Exit Sub ErrTrap: Err.Clear On Error GoTo 0 End Sub Grüße Guido Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003 Revit 2013 ACA 2012 deutsch BuildingOne 5.4.5 Win7 WindowsNetz
|
erstellt am: 07. Sep. 2003 16:35 <-- editieren / zitieren --> Unities abgeben:
Hi Guido, ist leider nicht ganz das, was ich brauche, hilft mir aber möglicherweise nen bißchen weiter. geh ich halt nen kleinen umweg. danke erstmal. U's sind unterwegs ------------------ Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 03. Mai. 2004 15:28 <-- editieren / zitieren --> Unities abgeben:
Hi Forum, nachdem es nun ein wenig mehr Teilnehmer in diesem Forum gibt, würde ich dieses Thema gerne noch einmal aufwärmen. Gibt es die Möglichkeit, aus einem Selectionset eine Gruppe auszulesen? Vielen Dank schonmal
------------------ Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 12. Mai. 2004 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für BerndE
Hi Bernd, ausgegangen von Guido's Ansatz etwas wackelig etwa s.u., wobei es in Selectionsets bissel 'crazy' ist irgendwie Was mir unklar halt, während der Auswahl bringt er in der Kommandozeile sowas: Objekte wählen: Entgegengesetzte Ecke angeben: 9 gefunden, 3 Gruppen Er erkennt zwar die Gruppen, kennt wohl aber die Namen nicht, bzw. weiss ich nicht wie da einfacher rankommen ... Recht unfertig und nicht besonders getestet, nur mal so als Idee lg Nancy --
Code:
Sub tescht() On Error GoTo Hell Dim i%, j%, s$ Dim flag As Boolean Dim sset As AcadSelectionSet Dim entry As AcadEntity Dim item As Object Set sset = ThisDrawing.SelectionSets.Add("set07") sset.SelectOnScreen For Each entry In sset If flag = False Then For i = 0 To ThisDrawing.Groups.Count - 1 For Each item In ThisDrawing.Groups(i) If item.ObjectID = entry.ObjectID And _ Not InStr(s, ThisDrawing.Groups(i).Name) Then s = s & ThisDrawing.Groups(i).Name & "/" flag = True Exit For End If Next item Next i Else flag = False End If Next entry sset.Delete MsgBox s Exit SubHell: sset.Delete Debug.Print Err.Description Err.Clear On Error GoTo 0 End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 12. Mai. 2004 11:54 <-- editieren / zitieren --> Unities abgeben:
|