Autor
|
Thema: Filtern aller Linien auf einer Ebene mit Länge = 0? (2997 mal gelesen)
|
axelr25 Mitglied Staatlich gep. Vermessungstechniker
Beiträge: 115 Registriert: 19.02.2002 Windows XP SP2 Autocad 2005 Autocad 2006 MAP P4 3400 Mhz 2GB RAM GEFORCE PCX5750 Microstation V8 2004 Edition Modul Phidias
|
erstellt am: 09. Apr. 2008 13:53 <-- editieren / zitieren --> Unities abgeben:
Hallo, in der MS scheint es keine punkte zu geben sag ich mal als autocad umsteiger! Somit erzeugt die MS Linien bzw. Polylinien mit einer Länge von 0! wie kann ich nun alle Linien herrausfiltern oder in eine Auswahl bringen deren Länge = 0.00 ist um diese dann global zu löschen? Währe Super wen mir das mal jemand erklären könnte. ich verbleibe mit besten Dank im vorraus Gruß axelr25 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der-thies Mitglied IT-Systemadministrator
Beiträge: 55 Registriert: 17.03.2008
|
erstellt am: 28. Apr. 2008 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für axelr25
Also Punkte gibt es durchaus. Zumindest in meiner Version. ;-) Funktionen --> Hauptpalette --> Punkte ---------- Und Filtern. Naja, wenn sie alle auf einer Ebene liegen, sollte die Filtermöglichkeit klar sein, sofern du die "Linien-mit-Länge-0-Ebene" hast. Mir fällt da nur der PowerSelektor ein, mit dem man alle Elemente eines Types sichtbar machen kann, in diesem Fall Linie und dann andere Elemente von dieser Selektion wieder abzieht. Aber ein Selektiere Linie wenn Länge=0 kenne ich so nicht. Mit hättest du das Problem allerdings nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
toki Mitglied Software-Entwickler
Beiträge: 40 Registriert: 31.01.2005
|
erstellt am: 29. Apr. 2008 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für axelr25
Hallo axelr25, wenn du hier einen seltenen Einzelfall hast, dann schicke mir die Datei und ich lösche dir die Linien mit Null-Länge raus (Frank.Tokarski@gmx.de). Null-Lines können durchaus Sinn machen. Gerade im Vermessungswesen werden manchmal eine Flut von Punkten dargestellt. Dann sind Null-Linien eine Möglichkeit, um wenig Speicherplatz und schnelleren Bildaufbau zu erreichen. Wenn du die Löschfunktion öfter benötigst, dann benötigst du ein Tool. Schau dich mal auf der Seite http://www.softpano.de -> Software -> MDL um. Mit ELEN.MA geht das gezielt nach Ansichtsattributen gefiltert bis zu einer frei einstellbaren Länge. MfG toki Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axelr25 Mitglied Staatlich gep. Vermessungstechniker
Beiträge: 115 Registriert: 19.02.2002 Windows XP SP2 Autocad 2005 Autocad 2006 MAP P4 3400 Mhz 2GB RAM GEFORCE PCX5750 Microstation V8 2004 Edition Modul Phidias
|
erstellt am: 29. Apr. 2008 16:30 <-- editieren / zitieren --> Unities abgeben:
Hi, vielen Dank für Deine Antwort! Ok ich gebe Dir recht, es gibt Punkte ich hatte mich nur verwirren lassen das es bei er Info einen Anfang und ein Ende für einen Punkt gibt und das Element vom Typ Linie ist! zumindest in meiner Version! Somit stellt sich nur die Frage warum kann man so was nicht filtern Ok danke werde mich mal dort umsehen und mir was besorgen! Vielen Dank für euere Mühe MfG axelr25 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HeCader Mitglied
Beiträge: 514 Registriert: 01.03.2007
|
erstellt am: 29. Apr. 2008 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für axelr25
Zitat: Original erstellt von axelr25: Somit stellt sich nur die Frage warum kann man so was nicht filtern MfG axelr25
Punkte vom Typ Zelle oder Zeichen kann man sehr wohl mit Bordmitteln filtern, zumindest wenn diese Objektypen (Zelle mit Namen oder Text aus einem Zeichen) nicht anderweitig verwendet worden sind. Bei Punktart Element entsteht halt eine Linie der Länge 0, die eben nur durch relativ große Strichstärke nicht übersehen wird. Ansonsten bleibt mit Bordmitteln IMHO nur Filtern über Ebene, Farbe etc, wenn vorher bewußt eingesetzt. ------------------ Beste Grüße HeCader Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2008 ADT 2005 bis 2008 Arcibem System: Windows NT, 2000, XP Intel-Pentium III/IV Internet-Startseite: http://www.archi.de
|
erstellt am: 02. Mai. 2008 14:26 <-- editieren / zitieren --> Unities abgeben: Nur für axelr25
Hallo Alexander, ich bin gerade dabei, mich ein wenig in (MS-)VBA umzutun, und da war Deine Anfrage eine schöne kleine Übungsaugabe: Code: '******************************************************* 'Funktion zum Selektieren/Löschen von Linien mit Länge 0 'H. Jesse 2008 '******************************************************* Sub Delete_0_Lines() Dim elenum As ElementEnumerator Dim lin As LineElement counter = 0 Set elenum = ActiveModelReference.GraphicalElementCache.Scan Do While elenum.MoveNext 'für jedes Element des aktiven Modells If elenum.Current.IsLineElement Then 'wenn es eine Linie ist Set lin = elenum.Current Dim verts() As Point3d verts = lin.AsVertexList.GetVertices 'Linienkontrollpunkte ermitteln If UBound(verts) = 1 Then 'einfache Line (mit 2 Punkten), kein Smartline (mit mehr als 2 Punkten) d = Point3dEqual(verts(0), verts(1)) 'Start- und Endpunkt gleich If d = True Then ActiveModelReference.SelectElement lin 'Linie selektieren counter = counter + 1 End If End If End If Loop If counter > 0 Then aw = MsgBox(counter & " Linien mit Länge 0 löschen?", vbYesNo) If aw = vbYes Then CadInputQueue.SendCommand "delete element" MsgBox counter & " Linien mit Länge 0 gelöscht!" End If Else MsgBox "Keine Linien mit Länge 0 gefunden!" End If End Sub
Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axelr25 Mitglied Staatlich gep. Vermessungstechniker
Beiträge: 115 Registriert: 19.02.2002 Windows XP SP2 Autocad 2005 Autocad 2006 MAP P4 3400 Mhz 2GB RAM GEFORCE PCX5750 Microstation V8 2004 Edition Modul Phidias
|
erstellt am: 03. Mai. 2008 09:46 <-- editieren / zitieren --> Unities abgeben:
Hallo und vielen Dank erstmal! Ich würde gerne das Tool d.h. die Programmierung anwenden jedoch weiß ich nicht wie ich den Code nun ausführen soll bzw. wie ich diesen in meine Oberfläche integriere! Es währe Super Nett wenn Du mir da auch noch behilflich sein könntest. Mit freundlichen Grüßen axelr25
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2008 ADT 2005 bis 2008 Arcibem System: Windows NT, 2000, XP Intel-Pentium III/IV Internet-Startseite: http://www.archi.de
|
erstellt am: 04. Mai. 2008 22:17 <-- editieren / zitieren --> Unities abgeben: Nur für axelr25
Hallo Alexander, am einfachsten rufst Du den VBA-Editor auf über Extras-Makro-Visual Basic Editor ( vba show editor) und fügst den Code dort in das Modul1 ein (das in der Regel existiert). Dann kannst Du das Makro über Extras-Makro-Makros... ausführen ( vba run delete_0_lines). Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axelr25 Mitglied Staatlich gep. Vermessungstechniker
Beiträge: 115 Registriert: 19.02.2002 Windows XP SP2 Autocad 2005 Autocad 2006 MAP P4 3400 Mhz 2GB RAM GEFORCE PCX5750 Microstation V8 2004 Edition Modul Phidias
|
erstellt am: 05. Mai. 2008 10:43 <-- editieren / zitieren --> Unities abgeben:
|