| | | 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: von GetObjectIds auf die Entities (806 / mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1217 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 04. Aug. 2017 09:57 <-- editieren / zitieren --> Unities abgeben:
Moin! ich habe mit SelectALL in vb.net Objekte eingesammelt. Code:
Dim filter As New SelectionFilter(filterlist) Dim selRes As PromptSelectionResult = _Editor.SelectAll(filter) Try If selRes.Status <> PromptStatus.OK Then _Editor.WriteMessage(vbLf & "Fehler beim der Elementauswahl") Return False End If Dim ObjectIds As ObjectId() = selRes.Value.GetObjectIds()
Nun möchte diese abarbeiten und wenn ich das bis jetzt richtig verstanden habe brauche ich dafür Entity. Was ich aber noch nicht ganz zusammen gebracht habe ist der Weg von ObjektIds(i) zum Entity. Kann mir einer weiterhelfen? Gruß Jan ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 04. Aug. 2017 15:02 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hallo Jan, du stocherst dich so durch :-( und dabei ist dir sicher auch schon mehr als einmal eine Transaction vor die Füße gefallen. Schau mal deinen Code durch, da ist das sicher mehrere male enthalten, wie man von einer ObjectId zu einem Entity oder einem DbObject kommt. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bccad Mitglied
Beiträge: 57 Registriert: 02.11.2009
|
erstellt am: 15. Aug. 2017 14:26 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hallo Jan, vieleicht hilft dir das hier, hab ich so ähnlich in einem meiner Programme verwendet. Code:
Dim ObjectIds As ObjectId() = selRes.Value.GetObjectIds()For Each oid As ObjectId In ObjectIds Dim ent As Entity = CType(oid.GetObject(OpenMode.ForRead), Entity) Select Case ent.GetRXClass.Name.ToString Case "AcDbLine" Dim element As Line = CType(ent, Line) ' ... Code für Linie Case "AcDbPolyline" Dim element As Polyline = CType(ent, Polyline) ' ... Code für Polylinie ' ... usw. End Select Next
mfg, bccad Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|