| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Blöcke auf Polylinien suchen (276 mal gelesen)
|
Peter2 Ehrenmitglied V.I.P. h.c.

 Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 BricsCAD 22
|
erstellt am: 20. Okt. 2022 14:20 <-- editieren / zitieren --> Unities abgeben:         
Ich bin mir nicht sicher, ob es da schon "was" gibt (Standard? übliches Tool?) gibt, daher die Frage: - ich habe diverse Polylinien mit div. versch. Eigenschaften (Farbe, Layer, ..) - dann gibt es Blöcke, die auf den Stützpunkten der Poly liegen (Anfang oder Ende oder mittendrin) - Aufgabe (Beispiel): Finde alle Blöcke, die auf blauen Poly mit Layer "test" liegen Wie würde man das angehen? - Gibt es schon was? - Abfrage Vertex = Basispunkt? - Schleife Crosspoly um jeden Einfügepunkt oder umgekehrt? - ... Danke Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Okt. 2022 14:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Peter2
Objektwahl Zaun (sofern man annehmen darf am Blockbasispunkt auch darstellende Geometrieobjekte zu haben im Block), dazu kannst den Objekttyp Blockreferenz und den Layer als Filterkriterium verwenden. Zuvor brauchst du natürlich die PL Stützpunkte um diese als Zaun-Koordinaten an ssget zu übergeben und wenn du keine Bögen in den PLs hast, dann bist du praktisch schon fertig. (Ja, auch dafür findet man sehr viele Codebeispiele, wer also lieber suchen möchte - man wird fündig) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Okt. 2022 14:42 <-- editieren / zitieren --> Unities abgeben:          Nur für Peter2
Die Methode ist natürlich recht oberflächlich, zB. vernachlässigt diese ob die Blockreferenz wirklich auf einem Vertex oder Mittelpunkt liegt.. NACHTRAG:=> (ssget "_f" coordlist '((8 . "Alert_1")(0 . "INSERT")(2. "MeinBlock"))) Ich bin beim Schreiben davon ausgegangen dies wäre so okay, jetzt aber bin ich mir nicht mehr so sicher.. Andernfalls Rein Rechnerisch ist sicher am schnellsten und es bedarf auch keiner Geometrie am Vertex (im Gegensatz zu den ssget-Möglichkeiten). Sorry, war wohl ein Schnellschuß ohne es mir in Ruhe durchzulesen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
  
 Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 21. Okt. 2022 11:27 <-- editieren / zitieren --> Unities abgeben:          Nur für Peter2
Zitat: Original erstellt von cadffm: Die Methode ist natürlich recht oberflächlich, zB. vernachlässigt diese ob die Blockreferenz wirklich auf einem Vertex oder Mittelpunkt liegt..
... und wenn sie exakt mit dem Einfügepunkt drauf liegt, bedeutet das ja noch lange nicht, dass die Blockreferenz in der Nähe ihres Einfügepunkts auch "Fleisch" hat, also Entities, die man mit SSGET greifen könnte. Nein, da würde ich völlig anders vorgehen: Für eine Polylinie die Liste der Vertices und Mittelpunkte erfassen, und dann alle Blockreferenzen der DWG darauf prüfen, ob der Einfügepunkt auf einem dieser Polylinienpunkte liegt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| Elektrotechnik-Ingenieur Serienbetreuung Wärmepumpe (w/m/div.) | Möchten Sie Ihre Ideen in nutzbringende und sinnvolle Technologien verwandeln? Ob im Bereich Mobility Solutions, Consumer Goods, Industrial Technology oder Energy and Building Technology - mit uns verbessern Sie die Lebensqualität der Menschen auf der ganzen Welt. Willkommen bei Bosch. Die Bosch Thermotechnik GmbH freut sich auf Ihre Bewerbung! Anstellungsart: Unbefristet
| Anzeige ansehen | Elektrotechnik, Elektronik |
|
Peter2 Ehrenmitglied V.I.P. h.c.

 Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 BricsCAD 22
|
erstellt am: 21. Okt. 2022 15:51 <-- editieren / zitieren --> Unities abgeben:         
|