| |
 | 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: Viewermodus bei Klick Dialogfeld (744 mal gelesen)
|
Ian_K Mitglied

 Beiträge: 40 Registriert: 22.06.2006
|
erstellt am: 03. Jun. 2010 15:04 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebe Leute, Ich habe beispielsweise eine Polyline mit Schraffur drinnen. Nun möchte ich per Button im Viewermodus umschalten. Das heißt, wenn ich mit der Maus über die Polylinie oder Schraffur gehe, dass dann ein Handsymbol als Mauszeiger kommt und bei Klick auf dem Bereich der Polylinie oder Schraffur ein Dialogfeld aufgeht. Geht das? Und wie könnte ich sowas realisieren? Hat da jemand Gedankenansätze? Hinzu kommt noch, dass ich irgendwie den Bereich der Polylinie oder Schraffur per ID oder ähnlich eindeutig lokalisieren können müsste... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 03. Jun. 2010 15:12 <-- editieren / zitieren -->
Hi, >> wenn ich mit der Maus über die Polylinie oder Schraffur gehe, >> dass dann ein Handsymbol als Mauszeiger kommtdas bekommst Du imho mit VBA nicht hin, dazu würdest Du auf dotNET oder ARX schwenken müssen. >> bei Klick auf dem Bereich der Polylinie oder Schraffur ein Dialogfeld aufgeht.
das sollte mit dem Event funktionieren, der ObjectSelected überwacht, Eine Einschränkung jedoch in bezug auf Deine Formulierung: 'im Bereich der Polylinie' geht nur im Sinne von 'auf Polylinie'. - alfred - ------------------ www.hollaus.at |
Ex-Mitglied
|
erstellt am: 03. Jun. 2010 17:32 <-- editieren / zitieren -->
Wir würde das denn mit .NET funktionieren? Das ist eine interessante Sache. ------------------ -=es gibt nichts, was nicht geht=- |
Ex-Mitglied
|
erstellt am: 03. Jun. 2010 19:12 <-- editieren / zitieren -->
|
Ian_K Mitglied

 Beiträge: 40 Registriert: 22.06.2006
|
erstellt am: 04. Jun. 2010 09:05 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 04. Jun. 2010 09:19 <-- editieren / zitieren -->
Hi, >> ein Schnipsel bezogen auf welchen Teil Deiner Anfrage? Und jetzt auch 'mit welcher Programmierumgebung' hättest Du es denn gerne. Zu C# nach VB.NET ==> es gibt auch Live-Übersetzer, die schon auf eine hohe Erfolgsquote kommen. - alfred - ------------------ www.hollaus.at |
Ian_K Mitglied

 Beiträge: 40 Registriert: 22.06.2006
|
erstellt am: 04. Jun. 2010 09:21 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 04. Jun. 2010 09:31 <-- editieren / zitieren -->
Hi, dieses im ThisDrawing-Modul hinein und fertig
Code: Private Sub AcadDocument_SelectionChanged() MsgBox ("Selection Changed") End Sub
Hier ein Übersetzer der ganz passabel funktioniert, sei Dir aber dessen bewusst, Du übertragst Deinen SourceCode in die Freiheit/Wildnis. - alfred - ------------------ www.hollaus.at |
Ian_K Mitglied

 Beiträge: 40 Registriert: 22.06.2006
|
erstellt am: 04. Jun. 2010 11:01 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 04. Jun. 2010 11:33 <-- editieren / zitieren -->
Hi, hast Du mein voriges schon gelesen? >> Eine Einschränkung jedoch in bezug auf Deine Formulierung: 'im Bereich der Polylinie' geht nur im Sinne von 'auf Polylinie' Aber Du darfst natürlich selbst auch basteln, beantworte Dir aber zuerst die Frage, welche Poly Dir Dein Programm in diesem Fall (Spitze des schwarzen Pfeils) anzeigen soll ==> siehe Screenshot. Der Weg führt voraussichtlich über Strahlen senden und die ??? Poly finden, die vom Strahl gekreuzt wird. Ist auch eine Performance-Sache, sehr abhängig von Anzahl der Elementen und besonders spannend in einer 3D-Ansicht. - alfred - ------------------ www.hollaus.at |
Ian_K Mitglied

 Beiträge: 40 Registriert: 22.06.2006
|
erstellt am: 04. Jun. 2010 11:41 <-- editieren / zitieren --> Unities abgeben:         
Joo natürlich habe ich gelesen. Überleg mal. In ACAD gibt es das doch schon. Wenn man die Schraffur zur Bearbeitung auswählt. Liegen mehrere übereinander, dann wird die oberste ausgewählt. Dieses Prinzip möchte ich nur halt gerne auf dem Bereich der Polylinie anwenden. Ich würde fast meinen, dass das eingebaute Schraffurbearbeiten intern sicherlich auch über eine verborgene Polylinie läuft, insbesondere dann wenn die Schraffur assoziativ ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 04. Jun. 2010 11:50 <-- editieren / zitieren -->
Hi, >> Überleg mal. In ACAD gibt es das doch schon. Leider eben NICHT, denn da würde sich viele GIS-Bearbeiter freuen, wenn es das schon gäbe, die wollen auch immer innerhalb einer Grundstücksfläche klicken, geht aber nicht. Bei der Schraffur kannst Du auch nur dort hinklicken, wo ein Schraffurelement vorhanden ist. Mach mal eine ANSI32-Schraffur mit großen Schraffurlinien-Abstand und versuch die Schraffur zu selektieren, indem Du zwischen 2 Schraffurlinien hineinklickst. - alfred - ------------------ www.hollaus.at |
Ian_K Mitglied

 Beiträge: 40 Registriert: 22.06.2006
|
erstellt am: 04. Jun. 2010 14:09 <-- editieren / zitieren --> Unities abgeben:         
Hast recht. Weiterentwicklungsmöglichkeit von Autocad?! Wie löst man das Problem?! Andere Software kann sowas erfreulicher Weise. Besonders nützlich wäre sowas für FM Tätigkeiten innerhalb von ACAD. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 04. Jun. 2010 14:33 <-- editieren / zitieren -->
Hi, >> Weiterentwicklungsmöglichkeit von Autocad?! JA, kannst es ja machen. AutoCAD ist so stark vertreten, weil es programmierbar ist und nicht, weil es so gut ist. >> Besonders nützlich wäre sowas für FM Tätigkeiten innerhalb von ACAD.
Natürlich, es gibt viele Bereiche, wo dies anwendbar wäre, aber schau mal, wie AutoCAD mit 'Schraffurgrenzen finden' umgeht, dann erkennt man vielleicht auch, dass das 'Suchen der Grenzen ohne Beschränkungen' gar nicht so easy ist. Im 3D-Bereich hast Du eine ähnliche Form der Objekt-Vorselektion, wenn Du z.B. auf dynamisches BKS gehst, dann kann AutoCAD erkennen, innerhalb welcher Fläche/innerhalb welchen Solids sich Dein Cursor befindet. Nur hat man in einer Zeichnung vielleicht 10.000 Polylinien, aber kaum 10.000 Volumenkörper und das Filtern auf Volumenkörper/3DFace macht es schon leichter. Wenn Du festlegen kannst, dass Du z.B. nur auf LW-Polylinien und nur auf bestimmte Layer filterst, dann wirst Du auch weniger Performance-Probleme bekommen. Aber wenn Du ein Spital mit X-tausend Geometrieelementen hantieren musst, und dann nicht einschränkst, dass Du nur die Polylinien und nur auf dem Layer 'Raumgrenzen' filterst (sondern alle Polylinien zulässig sind), dann wird's mit der Performance schon Probleme geben. Ich hätte an Deiner Stelle mal damit angefangen, einen eigenen XX-Befehl zu schreiben und:
a) Abfragen des Punkts b) Bilden eines SelectionSet möglichst gefiltert c) Zeichnen eines Strahls von Deinem Punkt aus d) Berechnen der Schnittpunkte jedes Elements des SelectionSets mit dem Strahl ...und aus dem solltest Du schon mal rückschliessen können. Viel Erfolg, - alfred - ------------------ www.hollaus.at |
Ex-Mitglied
|
erstellt am: 05. Jun. 2010 08:30 <-- editieren / zitieren -->
Hi, anbei ein Beispiel mit klick in Fläche und finden der kleinsten umgebenden Polylinie Mit Vorsicht zu verwenden, es gibt kein Fehlerhandling da drin, es gibt auch einige Sonderfälle (im Schnittpunkt Strahl-Poly), die nicht behandelt sind und es geht nur in Ansichten, die von oben/nicht verdreht sind. Aber ein klein wenig darfst Du ja auch dran machen. HTH, - alfred - ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 05. Jun. 2010 editiert.] |