| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: aus einer Liste von Entities einen Auswahlsatz erstellen (776 mal gelesen)
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 29. Jun. 2009 09:58 <-- editieren / zitieren --> Unities abgeben:
Ich habe in C#.NET eine Liste mit Entities. Daraus möchte ich nun einen Auswahlsatz erstellen, wie geht das ? (Ähnlich dem SSADD aus Lisp) //meine Liste public List<Entity> iSelecetedObjects = new List<Entity>(); ich dachte ich gehe die Liste einfach mit foreach durch, und füge das Entity einfach dem Auswahlsatz hinzu
foreach (Entity tEntity in iSelecetedObjects ) { ?????????????? } Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 29. Jun. 2009 11:56 <-- editieren / zitieren --> Unities abgeben:
Hat sich erübrigt. Ich merke mir in meiner Liste nicht das Entity, sondern die ObjectIds. Und da gibts die Methode FromObjectIds public List<Entity> iSelecetedObjects = new List<Entity>(); .... Füllen der Liste .... SelectionSet tSelSet = Autodesk.AutoCAD.EditorInput.SelectionSet.FromObjectIds(iSelecetedObjects.ToArray() ; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Jun. 2009 20:14 <-- editieren / zitieren -->
Hi, sorry, da bin ich wohl zu spät, möchte aber trotzdem kleinen Tip abgeben: Wenn Du Elemente sammelst, dann empfehle ich (Ausnahmen bestätigen die Regel) immer die ObjectID's zu sammen und nicht die Entities. Begründung liegt darin, dass Entities nur innerhalb einer TransAction (also zwischen 'TransactionManager.StartTransaction' und 'TransAction.Dispose') gültig sind, verlässt man mal im Code die aktuelle Transaction und will die Liste irgendwoanders weiterverwenden, dann kann es mit ObjectID's nie, mit Entities oft Probleme geben. Weiterhin viel Erfolg - alfred - ------------------ www.hollaus.at |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 30. Jun. 2009 07:30 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von a.n.: Hi,sorry, da bin ich wohl zu spät, möchte aber trotzdem kleinen Tip abgeben: Wenn Du Elemente sammelst, dann empfehle ich (Ausnahmen bestätigen die Regel) immer die ObjectID's zu sammen und nicht die Entities. Begründung liegt darin, dass Entities nur innerhalb einer TransAction (also zwischen 'TransactionManager.StartTransaction' und 'TransAction.Dispose') gültig sind, verlässt man mal im Code die aktuelle Transaction und will die Liste irgendwoanders weiterverwenden, dann kann es mit ObjectID's nie, mit Entities oft Probleme geben. Weiterhin viel Erfolg - alfred -
Ja, danke für den Hinweis. Das mit den ObjectIds habe ich mir selber schon gedacht, da viele Funktionen auch ein Array aus Ids und keine Entities akzeptieren.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|