| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Doppelter Textwert (1346 mal gelesen)
|
U.K. Mitglied Techniker
Beiträge: 3 Registriert: 10.02.2005 Autocad 2002, 2004
|
erstellt am: 10. Feb. 2005 14:47 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ist es möglich, Textwerte (keine Attribute) die doppelt in der Zeichnung vorhanden sind, zu markieren? Ich habe in diesen Forum nichts passendes gefunden, habe auch schon bei Cadwiesel nachgeschaut. Vielleicht gibt es auch irgendeine Möglichkeit über die Filterfunktion, Schnellauswahl oder den „_find“ Befehl. Mein Problem ist, ich habe mehrere Grundrisszeichnungen, wo ich alle doppelt vorkommende Raumnummer (doppelter Textwert) bereinigen muss. Kann mir jemand einen Tipp geben? Vielen Dank im Voraus. Gruß U.K. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 10. Feb. 2005 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
|
U.K. Mitglied Techniker
Beiträge: 3 Registriert: 10.02.2005 Autocad 2002, 2004
|
erstellt am: 10. Feb. 2005 15:14 <-- editieren / zitieren --> Unities abgeben:
Hallo carmelli, viele Dank für die schnelle Antwort, aber soweit ich das verstehe, ist dabei die Vorraussetzung das ich den 1. Textwert vorher schon wissen muss um dann den 2. Textwert zu suchen lassen. Leider weiß ich nicht welche Raumnummer doppelt vorhanden sind?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 10. Feb. 2005 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
hall u.k. war ein schuss in blaue. hier ein lisp, welches doppelte elemente löscht bzw. auf einen neuen layer legt. weiss leider nicht mehr, von wem das mal war (defun?), sonst würde ich den autor hier nenen. ich hoffe, man verzeiht mir das. lg aus berlin. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 10. Feb. 2005 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
Servus Das könntest du mit Attributsextration "_eattext" herausfinden. Dann mit Excel öffnen und sortieren, dann kennst du mal die Falschen Raumnummern Oder mit Attout in Excel öffnen und sortieren bearbeiten und mit Attin wieder in ACAD einlesen. Edit:das von carmelli76 geht schneller ------------------ schöne Grüsse aus der Steiermark Bernd P. Warum Einfach es geht auch kompliziert Bitte Supportangaben eintragen, warum siehst du hier [Diese Nachricht wurde von Bernd P am 10. Feb. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Barbara Schurig acadGraph Mitglied
Beiträge: 1194 Registriert: 06.10.2003 ADT 2008-2 AutoCAD 2008-13
|
erstellt am: 10. Feb. 2005 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
hallo, meines wissens ist die doppelt.lsp für doppelte elemente in der zeichnung gedacht. also, wenn 2 linien mit identischen eigenschaften übereinander liegen. mit identisch vergebenen namen bei texten hat das nichts zutun. grüße b.schurig [Diese Nachricht wurde von Barbara Schurig acadGraph am 10. Feb. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 10. Feb. 2005 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
-- offtopic -- @Carmelli : sieht eher nach einem Frühwerk von Marc Scherer aus, aber ich kann mich auch irren .. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 10. Feb. 2005 15:30 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
|
Barbara Schurig acadGraph Mitglied
Beiträge: 1194 Registriert: 06.10.2003 ADT 2008-2 AutoCAD 2008-13
|
erstellt am: 10. Feb. 2005 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 10. Feb. 2005 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
@camelli doppelt sucht aber IDENTISCHE Elemente ein Text mit dem Textwert "grüneneune" ist zB 4x in der DWG vorhanden, aber deren EINFÜGEPUNKT ist nicht identisch, also wird doppelt.lsp auch nichts finden ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Barbara Schurig acadGraph Mitglied
Beiträge: 1194 Registriert: 06.10.2003 ADT 2008-2 AutoCAD 2008-13
|
erstellt am: 10. Feb. 2005 15:44 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
|
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 10. Feb. 2005 15:46 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
Hab' grad mal was umgestrickt, nimmt aber keine Rücksicht auf die richtige Reihenfolge/Positionen, löscht einfach alle doppelten Texte [hoffentlich];-) Gruss Nancy
Code:
Option Explicit Sub del_doubles() Dim mytext As AcadText, flag As Boolean Dim i&, f%, x% ReDim b$(0): b(0) = "" With ThisDrawing.ModelSpace For i = .Count - 1 To 0 Step -1 If TypeOf .Item(i) Is AcadText Then flag = False For x = 0 To UBound(b) If .Item(i).TextString = b(x) Then flag = True .Item(i).Delete Exit For End If Next If Not flag Then b(f) = .Item(i).TextString f = f + 1 ReDim Preserve b(f) End If End If Next End With End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 10. Feb. 2005 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
|
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 10. Feb. 2005 16:03 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
Drücke mal Alt+F11 unter ACAD, es öffnet sich der VBE. Dort unter Menue/Einfügen >>> Modul In das Modulfenster den Code kopieren - VBE schliessen. Unter ACAD kannste dann mit Alt+F8 das Makro starten. Gruss Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 10. Feb. 2005 16:14 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
ahja supi, kann man nur lernen hier! funktioniert klasse, das tool. die texte sind jetzt im nirvana. vielleicht lieber auf einen extra layer schieben, oder? zwecks der besseren kontrolle. für mich bräuchtest du das jetzt aber nicht umschreiben. wäre mal so eine hausaufgabe für mich, wollte mich ohnehin shon lange mit vba beschäftigen... jetzt weiss ich schon mal, wie man das zum laufen bekommt lg aus berlin. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 10. Feb. 2005 16:59 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
Oki, dann nochmal mit separatem Layer ;-) Code:
Sub mark_doubles() Dim dopp As AcadLayer, flag As Boolean Dim i&, f%, x% ReDim b$(0): b(0) = "" On Error Resume Next If IsError(ThisDrawing.Layers("_doppelte_Texte_")) Then ThisDrawing.Layers.Add ("_doppelte_Texte_") End If On Error GoTo 0 With ThisDrawing.ModelSpace For i = .Count - 1 To 0 Step -1 If TypeOf .Item(i) Is AcadText Then flag = False For x = 0 To UBound(b) If .Item(i).TextString = b(x) Then flag = True .Item(i).Layer = "_doppelte_Texte_" .Item(i).Color = acByLayer Exit For End If Next If Not flag Then b(f) = .Item(i).TextString f = f + 1 ReDim Preserve b(f) End If End If Next End With End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2490 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 10. Feb. 2005 18:03 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
|
carmelli76 Mitglied CAD/GIS Teamleitung
Beiträge: 553 Registriert: 05.07.2004 Autodesk Civil 3D 2014 Revit 2016 Vault 2014
|
erstellt am: 10. Feb. 2005 22:10 <-- editieren / zitieren --> Unities abgeben: Nur für U.K.
|
U.K. Mitglied Techniker
Beiträge: 3 Registriert: 10.02.2005 Autocad 2002, 2004
|
erstellt am: 11. Feb. 2005 08:23 <-- editieren / zitieren --> Unities abgeben:
|