Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  DXF Filter

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
Autor Thema:  DXF Filter (339 / mal gelesen)
otm
Mitglied
Bauingenieur


Sehen Sie sich das Profil von otm an!   Senden Sie eine Private Message an otm  Schreiben Sie einen Gästebucheintrag für otm

Beiträge: 190
Registriert: 26.08.2009

MS Win 10
AutoCAD Civil 3D 2023.2.1 Update
VBA Enabler 2019
MS Access Database Enginge X64
MSO 365 (64bit)

erstellt am: 20. Dez. 2022 11:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Forum,

ich möchte im Modellbereich alle Blöcke, deren Name mit A oder B oder C beginnt, auswählen.

Die folgende Filterbedingung für das ss erzeugt immer eine Fehlermeldung.
Wo ist der Fehler?

Code:

        Dim DxfCodes(5) As Integer
        Dim DxfValues(5) As Variant
        DxfCodes(0) = 410:DxfValues(0) = "Model"
        DxfCodes(1) = -4: DxfValues(1) = "OR>"
        DxfCodes(2) = 2:  DxfValues(2) = "A*" 'Blockreferenzname
        DxfCodes(3) = 2:  DxfValues(3) = "B*" 'Blockreferenzname
        DxfCodes(4) = 2:  DxfValues(4) = "C*"  'Blockreferenzname
        DxfCodes(5) = -4: DxfValues(5) = "OR>"

Nehme ich folgende Zeilen, funktioniert es.

Code:

        DxfCodes(0) = 410: DxfValues(0) = "Model"
        DxfCodes(1) = 2:  DxfValues(1) = "A*,B*,C*"

Wie muss ich das in der ersten Syntax schreiben?

------------------
Grüße aus München
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 22298
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 20. Dez. 2022 11:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für otm 10 Unities + Antwort hilfreich

So aus meiner Ahnungslosen Sicht heraus und ohne den Rest beurteilen zu können:
Ich nehme an deine logische Gruppierung muss einen Start und ein Ende haben, nicht zwei Ende ohne Beginn:

Ende - Ende

Code:
        Dim DxfCodes(5) As Integer
        Dim DxfValues(5) As Variant
        DxfCodes(0) = 410:DxfValues(0) = "Model"
        DxfCodes(1) = -4: DxfValues(1) = "OR>"
        DxfCodes(2) = 2:  DxfValues(2) = "A*" 'Blockreferenzname
        DxfCodes(3) = 2:  DxfValues(3) = "B*" 'Blockreferenzname
        DxfCodes(4) = 2:  DxfValues(4) = "C*"  'Blockreferenzname
        DxfCodes(5) = -4: DxfValues(5) = "OR>"


Start - Ende

Code:
        Dim DxfCodes(5) As Integer
        Dim DxfValues(5) As Variant
        DxfCodes(0) = 410:DxfValues(0) = "Model"
        DxfCodes(1) = -4: DxfValues(1) = "<OR"
        DxfCodes(2) = 2:  DxfValues(2) = "A*" 'Blockreferenzname
        DxfCodes(3) = 2:  DxfValues(3) = "B*" 'Blockreferenzname
        DxfCodes(4) = 2:  DxfValues(4) = "C*"  'Blockreferenzname
        DxfCodes(5) = -4: DxfValues(5) = "OR>"

 


EDIT: Link nachgeschoben
https://help.autodesk.com/view/OARX/2023/DEU/?guid=GUID-5CB54129-22A1-42B9-B97C-2D2F5597F90E

[Diese Nachricht wurde von cadffm am 20. Dez. 2022 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

otm
Mitglied
Bauingenieur


Sehen Sie sich das Profil von otm an!   Senden Sie eine Private Message an otm  Schreiben Sie einen Gästebucheintrag für otm

Beiträge: 190
Registriert: 26.08.2009

MS Win 10
AutoCAD Civil 3D 2023.2.1 Update
VBA Enabler 2019
MS Access Database Enginge X64
MSO 365 (64bit)

erstellt am: 20. Dez. 2022 11:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke.
Manchmal sieht man den Wald vor lauter Bäumen nicht.

------------------
Grüße aus München
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rexxitall
Mitglied
Dipl. -Ing. Bau


Sehen Sie sich das Profil von rexxitall an!   Senden Sie eine Private Message an rexxitall  Schreiben Sie einen Gästebucheintrag für rexxitall

Beiträge: 270
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 26. Dez. 2022 13:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für otm 10 Unities + Antwort hilfreich

Tip am Rande, das basetln von dxffiltern ist üblicherweise langsamer als die "holzhammermethode" ala (Pseudocode ausm Bauch)

dim entity as acadentity
dim blockref as acadblockreference
For each entity in thisdrawing.modelspace
if typeof entity = acadblockreference then
set blockref=entity
if instr("abc",lcase(left(blockref.effecitvename,1))) > 0 then
'was auch immer damit gemacht werden soll
endif
endif
next

Vorteile: flexibler, weniger kryptisch, man hat die entitys gleich am start, keine selectionset basteleien. Und schneller ist es auch noch 

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< not for sale !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz