Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Wert von dynamischer Block lesen?

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:  Wert von dynamischer Block lesen? (1027 mal gelesen)
Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 01. Feb. 2009 13:24    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

Versuche von Ein dynamischer Block die Werte zu lesen,
ändern, geht sehr gut (siehe Beispiel)

(setq Kanal (car (entsel)))
(setProperty (vlax-ename->vla-object Kanal) "Kanal-Breite" 500.0)
(setProperty (vlax-ename->vla-object Kanal) "Kanal-Länge" 1000.0)
(setProperty (vlax-ename->vla-object Kanal) "Kanal-Isolation" "EI30")
(setProperty (vlax-ename->vla-object Kanal) "Kanal-Winkel" 0.0)

Gruss Nano
??? Vielleicht >>(vlax-variant-value (vlax-get-property Kanal) 'Value)

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: 01. Feb. 2009 14: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 Nano 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Nano:
Hallo

Versuche von Ein dynamischer Block die Werte zu lesen,...
??? Vielleicht >>(vlax-variant-value (vlax-get-property Kanal) 'Value)



Ja, vielleicht!
Sollen wir das für dich ausprobieren, da dir am Wochenende kein Rechner zur Verfügung steht?
Dann stelle doch bitte eine Zeichnung mit deinem Block zur Verfügung.

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

Udo Hübner
www.CAD-Huebner.de

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

Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 01. Feb. 2009 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


DynamischeKanäle.zip

 
Hallo hier noch der Block

Hoffe das hilft dir, um nir ein Tip zu geben.

Gruss Nano

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: 01. Feb. 2009 16: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 Nano 10 Unities + Antwort hilfreich

Code:
(defun c:ListblkProps( / blkrefObj blkProps)
  (setq blkrefObj (vlax-ename->vla-object (car (entsel))))
  (setq blkProps (vlax-safearray->list
                  (vlax-variant-value
                    (vla-GetDynamicBlockProperties blkrefObj))))
  (foreach blkProp blkProps
    (print (vla-Get-PropertyName blkProp))
    (print (vlax-variant-value (vla-get-Value blkProp)))
  )
)

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

Udo Hübner
www.CAD-Huebner.de

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

Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 01. Feb. 2009 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

hallo Udo

Kannst Du mir erklären, warum ich die Kanal-Breite nicht ändern kann.
Habe hier ein kleines LISP.

(DEFUN C:kbr()
(command "_Insert" "kanal4" (setq pt (getpoint "Einfügepunkt: ")) "" "" "")
  (SETQ object (entlast))
  (SETQ breite (GETDIST "Wert für Breite: "))
  (setProperty (vlax-ename->vla-object object) "Kanal-Breite" breite)
)

Gruss Nano

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: 01. Feb. 2009 17: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 Nano 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Nano:
hallo Udo

Kannst Du mir erklären, warum ich die Kanal-Breite nicht ändern kann.
Habe hier ein kleines LISP.

(DEFUN C:kbr()
(command "_Insert" "kanal4" (setq pt (getpoint "Einfügepunkt: ")) "" "" "")
  (SETQ object (entlast))
  (SETQ breite (GETDIST "Wert für Breite: "))
  (setProperty (vlax-ename->vla-object object) "Kanal-Breite" breite)
)

Gruss Nano


Was genau macht denn die Funktion setProperty?
Lege bitte von dieser Funktion noch den Quelltext bei.


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

Udo Hübner
www.CAD-Huebner.de

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

Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 01. Feb. 2009 17:41    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

Sory das ist es.

(defun setProperty (vlaDynBlock sPropertyName rValue / vlaProperty)
  (foreach vlaProperty (vlax-safearray->list (vlax-variant-value (vla-GetDynamicBlockProperties vlaDynBlock)))
    (if (= (vla-get-PropertyName vlaProperty) sPropertyName)
      (vla-put-value vlaProperty (vlax-make-variant rValue))
    ); end if
  ); end foreach
); end defun

Nano

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 01. Feb. 2009 18: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 Nur für Nano 10 Unities + Antwort hilfreich

Hi,
wenn dein Block vorhanden ist und eingefügt wurde, die Schreibweise von Kanal-Breite richtig ist (groß/klein), ein Wert für Breite eingegeben wurde, dann sollte es funktionieren.
Versuch mal in einer neuen Zeichnung oder starte mal ACad neu...
mfg Heiko

Edit: eins zwei Worte mehr was net geht bzw. Fehlermeldungen sind oft auch hilfreich

[Diese Nachricht wurde von Dorfy am 01. Feb. 2009 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