Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Auslesen von Schriftfeldern aus Attributen

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
Autor Thema:  Auslesen von Schriftfeldern aus Attributen (1215 mal gelesen)
c.schojer
Mitglied



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

Beiträge: 299
Registriert: 23.05.2007

Autocad 2018

erstellt am: 19. Nov. 2013 13:58    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

Liebe Kollgen! wie bereits oben angeführt möchte ich die Schriftfelder aus Attributen von Blöcken auslesen
Ist dies in vba möglich??
Lisp kann ich leider nicht!
Mfg Christian

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 19. Nov. 2013 18:25    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 c.schojer 10 Unities + Antwort hilfreich

ich bin ja mehr im .Net unterwegs. Da gibt's aber in den Eigenschaften der Attribute ein FieldObjekt, über das man die aktuellen Werte ermitteln kann.
Ob das aber in VB drinn ist?? In Lisp ist's beim Auslesen übrigens egal, da findet man im Text den Wert.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

wwwilli
Mitglied
Ingenieur


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

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 19. Nov. 2013 18:49    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 c.schojer 10 Unities + Antwort hilfreich

Hallo,
das geht. Ich schnipsel Dir da was hin, musst selbst zusammenkleben. Sorry, aber die ganze Routine würde hier etwas weit führen. Ich suche Blöcke nur in Layouts, deshalb packe ich die Suche von daher an, geht auch anders.
MfG,
wwwilli

ThisDrawing.Layouts
.Block.Count
.Block.Item()
If .ObjectName = "AcDbBlockReference" Then
If .HasAttributes Then
varAttrefs = bloRef.GetAttributes
UBound(varAttrefs)
varAttrefs().TagString
varAttrefs().TextString

Äh, ich hoffe, Du verstehst. Musst den ganzen üblichen Salat aus Dim, Set, For, Each, To, Endif usw. noch herum garnieren, damit es genießbar wird...

[Diese Nachricht wurde von wwwilli am 19. Nov. 2013 editiert.]

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 19. Nov. 2013 23:32    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 c.schojer 10 Unities + Antwort hilfreich

Hast Du mal getestet ob im .textstring das Ergebnis der Schriftfeldformel drin ist.
m.E. findet man dort nur die Formel ...

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

wwwilli
Mitglied
Ingenieur


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

Beiträge: 410
Registriert: 21.03.2006

ACAD MAP 3D 2012.
VestraCAD.
Win 7 64bit SP 1, FD 100 GB, Xeon 2,8 GHz, 12 GB.

erstellt am: 20. Nov. 2013 01:00    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 c.schojer 10 Unities + Antwort hilfreich

@Ich?
Keine Ahnung. Was ist Schriftfeldformel?

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

c.schojer
Mitglied



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

Beiträge: 299
Registriert: 23.05.2007

Autocad 2018

erstellt am: 20. Nov. 2013 07:42    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


Beispiel.zip

 
Schriftfeldformeln sind sozusagen mit Objekten verbunden dh man kann damit direkt die Eigenschaften von Objekten auslesen und in einem Text ausgeben..... das funktionierts auch recht gut
Etwas anders sieht es mit Attributen aus...
Wie ich Attribute auslese weiß ich ja wohl und auch der Textstring is kein Problem nur halt die Formel selbst bekommt man so leider nicht!

Sub Abfrage_Schriftfeld()

    Dim xRecordType As Variant, XRecordData As Variant
    Dim XRecord As AcadXRecord
    Dim BlockRef As AcadBlockReference
    Dim Attributes As Variant
    Dim AttributRef As AcadAttributeReference
    Dim Dic As AcadDictionary, ent, Testtt, tAtts, AcadObj As AcadObject
   Dim insPkt, i
  
    ThisDrawing.Utility.GetEntity BlockRef, insPkt, "Blockwählen"
  
    Attributes = BlockRef.GetAttributes
   
   
    tAtts = BlockRef.GetAttributes            'tBlRef ist eine BlockReference
For i = LBound(tAtts) To UBound(tAtts)
    Dim tAttRef As AcadAttributeReference
    Set tAttRef = tAtts(i)
    If tAttRef.HasExtensionDictionary Then
      Dim tDict As AcadDictionary
      Set tDict = tAttRef.GetExtensionDictionary
        For Each ent In tDict
        Set AcadObj = ent 'Schriftfeld da aber keine Formel :-(
        Dim EDictionary As AcadDictionary
        Set EDictionary = AcadObj.GetExtensionDictionary

        Next ent
    End If
Next i


End Sub

[Diese Nachricht wurde von c.schojer am 20. Nov. 2013 editiert.]

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)2023 CAD.de | Impressum | Datenschutz