Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  layerstate-save

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:  layerstate-save (1968 mal gelesen)
manndaten
Mitglied



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

Beiträge: 101
Registriert: 14.03.2001

erstellt am: 12. Jan. 2014 13: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

Hallo Forum,

ich möchte mit (layerstate-save...) den Layerstatus eines Ansichtsfenster sichern, einschließlich der aflayer.

Die Hilfe sagt:
(layerstate-save layerstatename mask viewport)
z.B. (layerstate-save "xy" 16 ename_viewport)

Wenn ich also als viewport den ename des Ansichtsfensters übergebe, bekomme ich eine Fehlermeldung.

Was mache ich falsch?
Danke schon mal für jede Antwort.

Status: AutoCAD 2014

------------------
Grüßle aus Karlsruhe
Armin

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 12. Jan. 2014 13:19    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 manndaten 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von manndaten:
Hallo Forum,

ich möchte mit (layerstate-save...) den Layerstatus eines Ansichtsfenster sichern, einschließlich der aflayer.

Die Hilfe sagt:
(layerstate-save layerstatename mask viewport)
z.B. (layerstate-save "xy" 16 ename_viewport)

Wenn ich also als viewport den ename des Ansichtsfensters übergebe, bekomme ich eine Fehlermeldung.

Was mache ich falsch?


Woher sollen wir das wissen? Wie lautet denn die Fehlermeldung? Was geschieht, wenn Du den Befehl _LAYERSTATESAVE verwendest?

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

manndaten
Mitglied



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

Beiträge: 101
Registriert: 14.03.2001

erstellt am: 12. Jan. 2014 13:31    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,

ename Viewport:
(setq ename_viewport(car(entsel)))
Objekt wählen: <Objektname: 7fffe8d7ee0>

Die Fehlermeldung lautet dann:
Befehl: (layerstate-save "xy" 16 ename_viewport)
Abbruch:Fehler bei ADS-Anforderung

------------------
Grüßle aus Karlsruhe
Armin

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: 21533
Registriert: 03.06.2002

Alles

erstellt am: 12. Jan. 2014 13:31    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 manndaten 10 Unities + Antwort hilfreich

Zitat:
EDIT / Da zeitgleich:
Abbruch:Fehler bei ADS-Anforderung

Acad schon mal neu gestartet für einen erneuten Test ?


"ich möchte mit (layerstate-save...) den Layerstatus eines Ansichtsfenster sichern, einschließlich der aflayer."

An der Stelle geht hervor das dir die Arbeitsweise der Layerfilter(Was wird gespeichert=Alles) und was wird wann/wie wieder hergestellt) noch nicht ganz bewußt ist,
du solltest also mal die (AutoCAD-)Hilfe durchlesen zum Thema Layerfilter !


"Die Hilfe sagt:
(layerstate-save layerstatename mask viewport)
z.B. (layerstate-save "xy" 16 ename_viewport)"

Und das stimmt auch.


"Wenn ich also als viewport den ename des Ansichtsfensters übergebe, bekomme ich eine Fehlermeldung."
Was mache ich falsch?

Das erste ist: Du nennst uns die Fehlermeldung nicht, diese wird nämlich schon recht genau aussagen an
welcher Stelle es hakt !

Nur beispielhaft:

(layerstate-save "xy" 16 ename_viewport)=
1 Funktion
1 String
1 Integer
1 ename

Du kannst den Funktionsnamen falsch geschrieben haben
Du kannst einen ungültigen String als Name übergeben haben (Sonderzeichen oder einen bereits vorhandenen Layerfilter-Namen)
Du kannst einen unzulässigen Integerwert übergeben haben

(progn
(if (member (strcase (setq LSTname (getstring "LSTname: "))) (mapcar 'strcase (layerstate-getnames)))
     (layerstate-delete LSTname)
)
(if (layerstate-save LSTname 16 (ssname (ssget "_:S" '((0 . "VIEWPORT"))) 0))
     (alert "well done")
)
)

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

[Diese Nachricht wurde von cadffm am 12. Jan. 2014 editiert.]

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

manndaten
Mitglied



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

Beiträge: 101
Registriert: 14.03.2001

erstellt am: 12. Jan. 2014 13:40    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 habe den Fehler:

Der Viewport ist mit einer umgewandelten Polylinie erzeugt worden, dann scheint es nicht zu funktionieren.

Mit dem Typ VIEWPORT funzt es.

Danke für Eure Unterstützung am Sonntag!

------------------
Grüßle aus Karlsruhe
Armin

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: 21533
Registriert: 03.06.2002

Alles

erstellt am: 12. Jan. 2014 13:49    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 manndaten 10 Unities + Antwort hilfreich


"Mit dem Typ VIEWPORT funzt es." NUR mit dem Typ Viewport.

Offensichtlich hast du den ename eines anderen Objektes übergeben
(vermutlich das zuschneidende Objekte - Polylinie oder Kreis etc.)

Das ein Viewport nur in Teilen angezeigt wird ist bei deinem Vorhaben nämlich unerheblich.

teste noch mal: (alert(cdr(assoc 0 (entget (car(entsel))))))

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

[Diese Nachricht wurde von cadffm am 12. Jan. 2014 editiert.]

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

manndaten
Mitglied



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

Beiträge: 101
Registriert: 14.03.2001

erstellt am: 12. Jan. 2014 16:21    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

Stimmt, super!!!

10U for you und noch mal vielen Dank!

Für alle zum Nachvollziehen für einen Viewport im aktuelle Layout:

(setq filter (list (cons 0 "VIEWPORT")(cons 410 (getvar"ctab"))))
(setq auswahl(ssget"x" filter))
(setq ename_viewport(ssname auswahl 0))
(layerstate-save "xy" 16 ename_viewport)

------------------
Grüßle aus Karlsruhe
Armin

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

manndaten
Mitglied



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

Beiträge: 101
Registriert: 14.03.2001

erstellt am: 12. Jan. 2014 21:17    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,

hier noch eine Ergänzung, die ich jetzt nach langen Suchen rausgefunden habe:

Ich will beim Speichern die Option "Sichtbarkeit im aktuellen AF" setzen:

(setq filter (list (cons 0 "VIEWPORT")(cons 410 (getvar"ctab"))))
(setq auswahl(ssget"x" filter))
(setq ename_viewport(ssname auswahl 0))
(layerstate-save "xy" mask_wert ename_viewport)

Die Werte aus der Hilfe geben für den mask_wert folgende Möglichkeiten:
1- Restore the saved On or Off value
2- Restore the saved Frozen or Thawed value
4- Restore the saved Lock value
8- Restore the saved Plot or No Plot value
16- Restore the saved VPVSDFLT value
32- Restore the saved Color
64- Restore the saved LineType
128- Restore the saved LineWeight

Egal was man aber setzt, die Option für die Sichtbarkeit wird nicht aktiviert.
Aus Verzweiflung habe ich dann einfach mal die Binärwerte 254 und 508 gesetzt, und tatsächlich aktiviert sich die Option,
wenn BEIDE Werte gesetzt werden.

Vielleicht erspart das dem einen oder anderen das Suchen.

------------------
Grüßle aus Karlsruhe
Armin

[Diese Nachricht wurde von manndaten am 12. Jan. 2014 editiert.]

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: 21533
Registriert: 03.06.2002

Alles

erstellt am: 13. Jan. 2014 00:06    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 manndaten 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von manndaten:
..Ich will beim Speichern die Option "Sichtbarkeit im aktuellen AF" setzen:

Die Werte aus der Hilfe geben für den mask_wert folgende Möglichkeiten:
1- Restore the saved On or Off value
2- Restore the saved Frozen or Thawed value
4- Restore the saved Lock value
8- Restore the saved Plot or No Plot value
16- Restore the saved VPVSDFLT value
32- Restore the saved Color
64- Restore the saved LineType
128- Restore the saved LineWeight

einfach mal die Binärwerte 254 und 508 gesetzt, und tatsächlich aktiviert sich die Option,
wenn BEIDE Werte gesetzt werden.


Also 254 und 508 ausprobiert ? Wie kommt man denn darauf   
Und dann noch kombiniert... somit zufällig über 511 gekommen und das gewünschte aktiviert   

die Liste sollte so weiter gehen:
256- Restore the saved Plotstyle
512- Restore the saved visible in active VP

1024  - Restore the transparency -> Aber erst nachdem die Funktion erweitert wurde, aktuell wird 1024 nicht ausgewertet.

1023 wäre somit alles außer Transparenz

ALLES, kann man einfach aktivieren durch übergabe von nil .

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

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