Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Befehl, um Sichtbarkeitsstatus zu ändern

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
Autor Thema:   Befehl, um Sichtbarkeitsstatus zu ändern (740 mal gelesen)
RaffiM
Mitglied


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

Beiträge: 3
Registriert: 30.01.2016

AutoCAD 2016 Studentenversion

erstellt am: 30. Jan. 2016 14:05    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 liebes Forum,

ich habe einen dynamischen Block mit diversen Sichtbarkeiten. Ich suche nach einer Möglichkeit, den Sichtbarkeitsstatus nicht über das Drop-Down-Menü sondern über eine Befehlseingabe zu ändern. Hintergrund ist der, dass ich ein Skript habe, dass mir die Blöcke einfügt. Dabei soll auch der Sichtbarkeitsstatus gesetzt werden. Ist dies möglich?

Viele Grüße

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

cadffm
Moderator
良い精神




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

Beiträge: 19034
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 30. Jan. 2016 14:10    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 RaffiM 10 Unities + Antwort hilfreich

https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/Command-line-input-for-inserted-dynamic-blocks.html

Die AutoCAD-Funktion zum Einfügen (EINFÜGE,-EINFÜGE,_insert,_-insert) bietet keinen Zugriff.
Es gibt KEINEN Befehl der die dyn.Eigenschaften einstellen kann.

Für die Aufgabe ist es daher notwendig das Programm um ein paar Funktionen zu erweitern,
also eine Programmierung wie diese hier:

http://ww3.cad.de/foren/ubb/Forum145/HTML/001303.shtml#000002

http://ww3.cad.de/foren/ubb/Forum145/HTML/001303.shtml#000002
http://forum.cad.de/foren/ubb/Forum145/HTML/003922.shtml


------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

RaffiM
Mitglied


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

Beiträge: 3
Registriert: 30.01.2016

AutoCAD 2016 Studentenversion

erstellt am: 30. Jan. 2016 15:22    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

Vielen Dank für die schnelle Antwort. Ich habe von LISP leider überhaupt keine Ahnung, aber ich habe mir im Kopf zurechtgesponnen, wie ich mein Problem löse. Ich bin nun also auf folgenden Code gestoßen, der den Sichtbarkeitsstatus ändert:
Code:
;; Set Dynamic Block Visibility State  -  Lee Mac
;; Sets the Visibility Parameter of a Dynamic Block (if present) to a specific value (if allowed)
;; blk - [vla] VLA Dynamic Block Reference object
;; val - [str] Visibility State Parameter value
;; Returns: [str] New value of Visibility Parameter, else nil

(defun LM:SetVisibilityState ( blk val / vis )
    (if
        (and
            (setq vis (LM:getvisibilityparametername blk))
            (member (strcase val) (mapcar 'strcase (LM:getdynpropallowedvalues blk vis)))
        )
        (LM:setdynpropvalue blk vis val)
    )
)


Ich habe ihn als lsp-Datei gespeichert und in ACAD geladen. Sehe ich es richtig, dass ich nun eine Funktion namens "LM:SetVisibilityState" habe, die als Parameter blk und val erwartet? Wenn ich einen Sichtbarkeitsstatus S1 habe, den ich einstellen möchte, ist dieser also val und wird als "S1" an die Funktion übergeben. Aber was ist nun blk? woher weiß ich, welchen Namen der eingefügte Block trägt?

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

jupa
Ehrenmitglied V.I.P. h.c.
ehemals CAD-Trainer (ATC) und Konstrukteur (Dipl.-Ing)


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

Beiträge: 5715
Registriert: 16.09.2004

Windows 7 64bit, ACAD Rel. 14 - ACAD 2018

erstellt am: 30. Jan. 2016 16:05    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 RaffiM 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von RaffiM:
Sehe ich es richtig, dass ich nun eine Funktion namens "LM:SetVisibilityState" habe,

So weit richtig.
Da fehlen nun aber noch die Funktionen LM:getvisibilityparametername, LM:getdynpropallowedvalues und LM:setdynpropvalue.
???


Jürgen

------------------
Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)

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

cadffm
Moderator
良い精神




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

Beiträge: 19034
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 30. Jan. 2016 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 Nur für RaffiM 10 Unities + Antwort hilfreich

Zitat:
Aber was ist nun blk? woher weiß ich, welchen Namen der eingefügte Block trägt?]

Wenn du dann man alle nötigen Funktionen zusammengetragen hast(siehe Anmerkung jupa), dann hilft dir folgendes Konstrukt damit es für die auch anwendbar wird:

(defun c:SetVisState (/ aws)
(if (setq aws (ssget '((0 . "INSERT"))))
    (foreach blk (mapcar 'cadr (ssnamex aws))
       (LM:SetVisibilityState (vlax-ename->vla-object blk) (getstring "\nSichtbarkeitsname: ")
       )
      )
     (princ "\nEs wurde keine Blockreferenz gewählt")
  )
(princ)
)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

RaffiM
Mitglied


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

Beiträge: 3
Registriert: 30.01.2016

AutoCAD 2016 Studentenversion

erstellt am: 30. Jan. 2016 17: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

Vielen, vielen Dank! Es funktioniert genau so, wie ich es mir vorgestellt habe. Genial!

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