| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: nach bestimmten elem suchen (994 mal gelesen)
|
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 13. Sep. 2009 12:51 <-- editieren / zitieren --> Unities abgeben:
moin moin ich brauche einen code um in einer autocad zeichnen bestimmte zeichenobjekte zu finden und dann zu löschen.
das objekt ist ein text (elem.objectName = "AcDbText") es sollen aber nur texte gelöscht werden die als string (inhalt) "Falsch" beinhalten. kann da jemand bitte was basteln? danke
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 13. Sep. 2009 13:12 <-- editieren / zitieren -->
Hi, >> kann da jemand bitte was basteln? diese Aussage ist eigentlich nicht sehr gern gesehen, endet sogar manchmal in: 'Ja, wohin darf ich das Angebot senden' Das Forum dient zur Unterstützung von punktuellen Problemen und ist nicht als Gruppe von externen kostenlosen Mitarbeitern zu sehen. Also wird eine Eigenleistung erforderlich sein und dann zeigst Du den Code und beschreibst, an welcher Zeile Du ein Problem hast. Die grundsätzliche Vorgehensweise: a) Du erzeugst ein SelectionSet, welches als Filter den Objekttyp 'TEXT' und den Textinhalt 'Falsch' enthält und dann aus dem gesamten Datenbestand suchen lassen. b) und diese Textobjekte mit Inhalt 'Falsch' hast Du dann im SelectionSet, bereit um gelöscht zu werden. HTH, - alfred - ------------------ www.hollaus.at |
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 13. Sep. 2009 13:38 <-- editieren / zitieren --> Unities abgeben:
so irgendwie gehts nicht: For Each elem In ThisDrawing.ModelSpace if elem.ObjectName = "AcDbText" Then 'löschen? nochmal abfragen ob in textstring "Falsch" steht. (code hierfür ist mir bekannt) End If Next Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 13. Sep. 2009 13:49 <-- editieren / zitieren --> Unities abgeben: Nur für adblue
vielleicht solltest du elem.ObjectName = "AcDbText" und abfragen ob in textstring "Falsch" steht. (code hierfür ist mir bekannt) mit einem and verknüpfen und dann bei positivem Bescheid die Methode delete des Objekts aufrufen ------------------ - 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 |
Ex-Mitglied
|
erstellt am: 13. Sep. 2009 13:50 <-- editieren / zitieren -->
Hi, Du kannst natürlich auch durch den ModelSpace durchscannen, aber in diesem Fall wirst Du um vieles länger brauchen, als vorher ein entsprechendes SelectionSet zu bauen (ausser Deine Zeichnung bestehr vorrangig aus Texten. Und löschen kannst Du ein Element mit elem.Erase - alfred - PS: mit ein wenig Suche: Beispiel für SelectionSet mit Filter auf Text findest Du >>>hier<<< ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 13. Sep. 2009 editiert.] |
adblue Mitglied .
Beiträge: 57 Registriert: 22.05.2009
|
erstellt am: 13. Sep. 2009 14:39 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 13. Sep. 2009 14:59 <-- editieren / zitieren --> Unities abgeben: Nur für adblue
|
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 sw: Win7-x64 Office 365 ProPlus C3D (& LT ) ET; DACH; Extensions ------------------- hw: FX3800 i5 CPU 670 8GB RAM
|
erstellt am: 13. Sep. 2009 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für adblue
Hallo adblue, >> wie komme ich an den string-text ran? mit welchem befehl? Du scheinst ja ebenfalls in der ACAD-VBA-Programmierung noch recht weit vorne zu stehen. Wenn ich mal nicht weiß, was für Methoden/Eigenschaften/Ereignisse ein Element hat, mach ich mir eine neue Zeichnung, erstelle genau so ein Element und schaue es mir im Menü: Ansicht > Lokal-Fenster in aller Ruhe an. Dim x Set x = ThisDrawing 'weiter mit z.B. .ModelSpace Stop Andere gehen über F2 > den Objektkatalog Versuch einmal, es dort selbst herauszufinden, beim nächsten Mal suchst Du sonst die Farbe oder die Ausrichtung oder was von einer Polylinie und stehst wieder da.
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |