| |
| 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: vlax-safearray->list dynamische Blöcke (1468 mal gelesen)
|
Steff179 Mitglied Geomatiker
Beiträge: 266 Registriert: 09.08.2007 AutoCAD 2014
|
erstellt am: 05. Mai. 2011 10:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Es geht mir um dynamische Blöcke mit Sichtbarkeitsparameter. Schon wider der sch... Sichtbarkeitsparameter (setq a (vlax-ename->vla-object (car (entsel)))) (setq b (vlax-variant-value(vla-getdynamicblockproperties a))) (setq array (vlax-safearray->list b)) Bei normalen Blöcken kommt die Fehlermeldung.
ActiveX-Server hat einen Fehler zurückgegeben: Ungültiger Index Habe mir jetzt mal mit (vlax-safearray-get-u-bound b 1) geholfen. Sollte eigentlich die Indexlänge ausgeben so weit ich das nach der Hilfe interpretiere. Wenn kleiner 0 ist der safearray lehr und kann nicht umgeformt werden.
Sehe ich das richtig? Danke für die Mühe und Gruss
Steff Wenn ich keinen dynamischen Block wähle, erzeugt das schreiben in eine Liste einen error. Ich weiss nicht wie ich den Savearray prüfen könnte ob der in eine Liste geschriben werden kann. Die Blöcke nach "*U" aussortieren ist nicht das gelbe vom Ei, da Blöcke welche schon abgesetzt sind und durch den Blockeditor einen Sichtbarkeitsparameter bekommen, welcher nicht umgestellt wird noch keinen "*U" eintrag haben.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 05. Mai. 2011 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für Steff179
na nimm doch vlax-safearray-get-u-bound... und ne schleife... Code: (setq i (vlax-safearray-get-l-bound b 1)) (while (<= i (vlax-safearray-get-u-bound b 1)) (setq c (vlax-safearray-get-element b i)) ;mach was... (print (strcat (vla-get-PropertyName c) " --> ")) (princ (vlax-variant-value (vla-get-value c))) (setq i (1+ i)) )
------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Mai. 2011 11:56 <-- editieren / zitieren --> Unities abgeben: Nur für Steff179
|
Steff179 Mitglied Geomatiker
Beiträge: 266 Registriert: 09.08.2007 AutoCAD 2014
|
erstellt am: 05. Mai. 2011 11:57 <-- editieren / zitieren --> Unities abgeben:
Danke Heiko Hat mir sehr geholfen. Hab noch so meine Probleme mit Arrays Gruss @Henning vl-catch-all-apply
Die Idee hatte ich auch, aber irgendwie tue ich mich noch recht schwer damitt, werde es aber auch mal ausprobieren. Danke auch [Diese Nachricht wurde von Steff179 am 05. Mai. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 05. Mai. 2011 12:16 <-- editieren / zitieren --> Unities abgeben: Nur für Steff179
|
Steff179 Mitglied Geomatiker
Beiträge: 266 Registriert: 09.08.2007 AutoCAD 2014
|
erstellt am: 05. Mai. 2011 14:59 <-- editieren / zitieren --> Unities abgeben:
Bei einem normalen Block (vlax-method-applicable-p vla-obj 'getdynamicblockproperties) = T Bei einem Dynamischen Block (vlax-method-applicable-p vla-obj 'getdynamicblockproperties) = T Was mir nicht viel weiterhilft und in meinen Augen total schräg ist. Da der ja keine Properties haben sollte. Kein Plan.... Oder habe ich die Idee falsch verstanden? Aber mit der Methode von Heiko gibts ja auch keine errors, was die abfrage eigentlich erübrigt, mich aber trozdem nicht in ruhe lässt.
[Diese Nachricht wurde von Steff179 am 05. Mai. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 05. Mai. 2011 15:30 <-- editieren / zitieren --> Unities abgeben: Nur für Steff179
|
Steff179 Mitglied Geomatiker
Beiträge: 266 Registriert: 09.08.2007 AutoCAD 2014
|
erstellt am: 05. Mai. 2011 15:53 <-- editieren / zitieren --> Unities abgeben:
|