Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  LISP oder VBA Benutzerdefinierte Blockrefereinzen

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:  LISP oder VBA Benutzerdefinierte Blockrefereinzen (768 mal gelesen)
no4iming
Mitglied


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

Beiträge: 2
Registriert: 29.05.2013

erstellt am: 29. Mai. 2013 22:43    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 zusammen,

Ich bin seit längerer Zeit auf der suche nach einer Möglichkeit die Veränderbaren Referenzen eins dynamischen Blockes via eines bei einfügen des Blockes erscheinender Abfrage eingeben zu müssen (z.b. Block insert basispunkt angeben, Abfrage zur eingabe von höhe breite tiefe z.b.)

hoffe mir kann hier wer helfen..

danke

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

reltro
Mitglied
student


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

Beiträge: 125
Registriert: 08.11.2009

Acad 2012 - VBA,Lisp
Revit 2012
3dsMax 2012
Rhino 5 - GH,Pyhton 3,rhino.Common<P>Win 7 - i7 4x3.2GHz - 8Gb DDR3

erstellt am: 30. Mai. 2013 17:08    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 no4iming 10 Unities + Antwort hilfreich

hey...

Glaube du suchst nach sowas?

Code:

(defun BlockRef:GetDynamicProps (block / )
    (mapcar
        (function
            (lambda (_prop )
                (cons (vla-get-propertyname _prop) (vlax-get _prop 'Value))
            )
        )
        (vlax-invoke block 'GetDynamicBlockProperties)
    )
)

und dann

Code:

(defun BlockRef:SetDynamicPropValue (block prop value / )
    (setq prop (strcase prop))
    (vl-some
        (function
            (lambda ( _prop )
                (if (eq prop (strcase (vla-get-propertyname _prop)))
                    (progn
                        (vla-put-value _prop
                            (vlax-make-variant value
                                (vlax-variant-type (vla-get-value _prop))
                            )
                        )
                        value
                    )
                )
            )
        )
        (vlax-invoke block 'GetDynamicBlockProperties)
    )
)

Dazwischen musst du nun noch deine Abfrage positionieren...
bzw. wäre in diesem Fall ein Umbau des Konstrukts von Vorteil, da die "DynamicBlockProperties" in diesem Fall 2x durchlaufen werden.

Die zu übergebende BlockReferenz ist hier ein VLA-Object

lg

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

reltro
Mitglied
student


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

Beiträge: 125
Registriert: 08.11.2009

Acad 2012 - VBA,Lisp
Revit 2012
3dsMax 2012
Rhino 5 - GH,Pyhton 3,rhino.Common<P>Win 7 - i7 4x3.2GHz - 8Gb DDR3

erstellt am: 30. Mai. 2013 17:09    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 no4iming 10 Unities + Antwort hilfreich

Für die Eingabe in einem Dialog schau dir mal Doslib an... einfach googlen... stammt von McNeel

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

no4iming
Mitglied


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

Beiträge: 2
Registriert: 29.05.2013

erstellt am: 03. Jun. 2013 21:29    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 für die Antwort
dadurch das ich mich nicht wirklich in lsp auskenn dacht ich mich evtl reindenken zu können .... doch leider muss ich zugeben ich hab genau 0 ahnung woh ich was eingebn sollt ^^

ich hätt 3 parameter zu setzen
name des blockes kfv

STAM
STAM_H
KH

hab es jetzt versucht in irgend einer weiße da unter zu bringen doch irgendwie scheitere ich =(

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

reltro
Mitglied
student


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

Beiträge: 125
Registriert: 08.11.2009

Acad 2012 - VBA,Lisp
Revit 2012
3dsMax 2012
Rhino 5 - GH,Pyhton 3,rhino.Common<P>Win 7 - i7 4x3.2GHz - 8Gb DDR3

erstellt am: 04. Jun. 2013 14:57    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 no4iming 10 Unities + Antwort hilfreich

hey...

zeig doch mal her wie du's versucht hast, dann kann dir auch geholfen werden...


Zu den Eingangswerten:

zu BlockRef:GetDynamicProps
  - "Block" will eine Blockreference sein, und zwar als VLA-Object; vielleicht fehlt dir (vlax-ename->vla-object ... ?


zu BlockRef:SetDynamicPropValue
  - "block" same same wie oben
  - prop als String
  - Value als Wert 

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