Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Werte aus Dynamischen Blöcken auslesen

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:  Werte aus Dynamischen Blöcken auslesen (2511 mal gelesen)
berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 21. Jun. 2007 11:27    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

Ich möchte Werte aus Dynamischen Blöcken auslesen z.B. welcher Sichtbarkeitsstatus oder welches Strecken Maß.

Hat jemand eine Idee wie das funktioniert oder schon eine Funktion gefunden die das macht. Die Funktion beim einfügen den Block anzusteuern habe ich im Forum gefunden. SUPI

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 21. Jun. 2007 11:38    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 berndhock 10 Unities + Antwort hilfreich

Hier mal ein Codeschnipsel

Code:
(setq blkProps (vlax-safearray->list (vlax-variant-value (vla-GetDynamicBlockProperties blkObj))))
(foreach blkProp blkProps
  (cond
  ((and (not GradeInAngle)(= (vla-Get-PropertyName blkProp) "Display"))
    (vla-Put-Value blkProp "GradeOut only")

------------------
Mit freundlichem Gruß

Udo Hübner

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

berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 21. Jun. 2007 11:55    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 Udo,

das ist ja schon mal ein Anfang. Hast Du noch einen Tipp für mich wie die Variable blkObj zu befüllen ist. Mit (entlast) bin ich gescheitert.

Gruß Bernd Hock

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 21. Jun. 2007 12: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 berndhock 10 Unities + Antwort hilfreich

(vlax-ename->vla-object (entlast))

------------------
Mit freundlichem Gruß

Udo Hübner

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

HofCAD
Mitglied


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

Beiträge: 8
Registriert: 12.09.2006

erstellt am: 21. Jun. 2007 15:04    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 berndhock 10 Unities + Antwort hilfreich


Code:
(defun c:tdb ()
        (setq obj (vlax-ename->vla-object (car (entsel))))
        (setq v (vla-getdynamicblockproperties obj))
        (setq vval (vlax-variant-value v))
        (setq sal (vlax-safearray->list vval))
        (setq salnth (length sal))
        (setq count 0)
        (while (/= count salnth)
                (vlax-dump-object (nth count sal))
                (setq count (+ count 1))
        )
        (setq count nil)
        (princ)
)

Mit freundlichem Gruß

HofCAD CSI

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

berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 21. Jun. 2007 16:27    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 HofCAD,

funktioniert genial...

Units sind auf jeden Fall unterwegs.

Wenn Du jetzt noch eine Funktion hast wie ich auf  PropertyName (RO) = "B" ;  Value = 1000.0 komme?

Genial wäre als Asso - Liste: (("B" . 1000) ("Umkehrstatus" . 0))

Das Ergenis Deiner Funktion sieht bei mir so aus:


Objekt wählen: ; IAcadDynamicBlockReferenceProperty: AutoCAD dynamische
Blockeigenschaften-Schnittstelle
; Eigenschaftswerte:
;  AllowedValues (RO) = ("T10" "T20" "T43" "T42" "T35")
;  Description (RO) = ""
;  PropertyName (RO) = "Sichtbarkeit"
;  ReadOnly (RO) = 0
;  Show (RO) = -1
;  UnitsType (RO) = 0
;  Value = "T10"
; IAcadDynamicBlockReferenceProperty: AutoCAD dynamische
Blockeigenschaften-Schnittstelle
; Eigenschaftswerte:
;  AllowedValues (RO) = (0 1)
;  Description (RO) = ""
;  PropertyName (RO) = "Umkehrstatus"
;  ReadOnly (RO) = 0
;  Show (RO) = -1
;  UnitsType (RO) = 0
;  Value = 0
; IAcadDynamicBlockReferenceProperty: AutoCAD dynamische
Blockeigenschaften-Schnittstelle
; Eigenschaftswerte:
;  AllowedValues (RO) = nil
;  Description (RO) = "B"
;  PropertyName (RO) = "B"
;  ReadOnly (RO) = 0
;  Show (RO) = -1
;  UnitsType (RO) = 2
;  Value = 1000.0
; IAcadDynamicBlockReferenceProperty: AutoCAD dynamische
Blockeigenschaften-Schnittstelle
; Eigenschaftswerte:
;  AllowedValues (RO) = nil
;  Description (RO) = ""
;  PropertyName (RO) = "Origin"
;  ReadOnly (RO) = -1
;  Show (RO) = 0
;  UnitsType (RO) = 0
;  Value = (0.0 0.0 0.0)

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

berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 26. Jun. 2007 16: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

Hallo,

falls es jemand braucht hier die Funktion mit Ergebnis einer Asso - Liste:

(defun t:tdb (wert / obj v vval sal salnth count erg)

 
        (setq obj (vlax-ename->vla-object (car (entsel))))
        (setq v (vla-getdynamicblockproperties obj))
        (setq vval (vlax-variant-value v))
        (setq sal (vlax-safearray->list vval))
        (setq salnth (length sal))
        (setq count 0)
  (setq erg nil)
        (while (/= count salnth)
            (setq erg (append erg (list (cons (vlax-get-property (nth count sal) 'PropertyName)
    (vlax-variant-value (vlax-get-property (nth count sal) 'Value))))))
            (setq count (+ count 1))
        )
     
erg
)

Gruß
Bernd

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

berndhock
Mitglied
Holztechniker


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

Beiträge: 35
Registriert: 07.03.2003

AutoCAD2004 und 2005
3,20 gigahertz Intel Pentium 4
1022 Megabytes Installed Memory
Matrox Parhelia 128MB

erstellt am: 26. Jun. 2007 16:03    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

Achtung Fehlerteufel!!!

es heißt natürlich (defun c:tdb ...

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 10. Jul. 2007 07:51    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 berndhock 10 Unities + Antwort hilfreich

Hallo HofCAD,
bei mir geht das nicht.

Das geht:
(setq obj (vlax-ename->vla-object (car (entsel))))
(setq v (vla-getdynamicblockproperties obj))
(setq vval (vlax-variant-value v))

Aber wenn ich da bin:
(setq sal (vlax-safearray->list vval))

Meldet ACAD das:
; Fehler: ActiveX-Server hat einen Fehler zurückgegeben: Ungültiger Index

Was fang ich damit an ?
(Ich bin nicht so gut in VLISP, das mit variant und savearray und so hab ich noch nicht so gerafft)


Danke
Andreas

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 02. Aug. 2007 16:55    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 berndhock 10 Unities + Antwort hilfreich

Hallo HofCAD,
ich wärm das hier noch mal auf:

Bei mir geht das nicht.
Das geht:
(setq obj (vlax-ename->vla-object (car (entsel))))
(setq v (vla-getdynamicblockproperties obj))
(setq vval (vlax-variant-value v))

Aber wenn ich da bin:
(setq sal (vlax-safearray->list vval))

Meldet ACAD das:
; Fehler: ActiveX-Server hat einen Fehler zurückgegeben: Ungültiger Index

Was fang ich damit an ?
(Ich bin nicht so gut in VLISP, das mit variant und savearray und so hab ich noch nicht so gerafft)


Danke
Andreas

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



Entwicklungspolsterer (m/w/d).

himolla als Arbeitgeber

Tolle Sofas und Lieblingssessel machen das Leben einfach besser! Wir schaffen Lieblingsplätze zur körperlichen und mentalen Entspannung. Was einst als kleine Werkstatt in Taufkirchen begann, hat sich zum Innovationsführer und einem der größten Polstermöbelhersteller Europas mit mehr als 2.300 Mitarbeitenden entwickelt. Seit 75 Jahren produziert himolla hochwertige Sitzmöbel mit Leidenschaft, Sachverstand und dem Gewissen, etwas Gutes für die Region zu tun....

Anzeige ansehenEntwicklung
HofCAD
Mitglied


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

Beiträge: 8
Registriert: 12.09.2006

erstellt am: 05. Sep. 2007 10:26    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 berndhock 10 Unities + Antwort hilfreich

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