Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layerstatus

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:  Layerstatus (771 mal gelesen)
Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 03. Nov. 2021 09: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

Guten Tag!

Ich möchte in Lisp eine bestimmte Eigenschaft von Layern (z.B. "Sperre") in einem Layerstatus speichern, um später wieder genau den vorherigen Stand dieser einen Eigenschaft wieder herstellen zu können, unabhängig davon, was inzwischen sonst an Layer umgestellt wurde.

Jetzt ist das Problem, dass der zu bearbeitenden Layerstatus im Layer-Befehl nur mit einem Umschalter zwischen [Ja] und [Nein] möglich ist, ohne dass der Lisp-Befehl den aktuellen Status kennt. (es könnte ja sein, dass ich wo anders eine andere Eigenschaft benötige)

Daher suche ich nach einem Weg, meinen gewünschten Status vorab zu definieren und dann im Layer-Befehl nur anzuwenden.

Danke und schönen Tag noch!

------------------
Gruß aus Wien
Bernhard

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

Maier2018
Mitglied
Schlaumaier


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

Beiträge: 25
Registriert: 15.01.2018

Autocad 2021

erstellt am: 03. Nov. 2021 10:00    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 Bernhard GSD 10 Unities + Antwort hilfreich

Hallo Bernhard,

evtl. hilft dir dieser Code.

Er prüft, ob der Layer "Bemassung" gefroren ist und friert die Layer "Bemassung" und "Abbiegekant" ein oder taut sie auf.

Code:
(defun c:Dxf_layer ()

(setq att_status_BEM (tblsearch "LAYER" "BEMASSUNG"))

(cond
((equal (cdr (assoc 70 att_status_BEM)) 1)
  (command "layer" "TA" "BEMASSUNG" "")
  (command "layer" "TA" "ABBIEGEKANT" "")
)
((equal (cdr (assoc 70 att_status_BEM)) 0)
  (command "layer" "FR" "BEMASSUNG" "")
  (command "layer" "FR" "ABBIEGEKANT" "")
)
)

) ;Ende defun dxf_layer


Beachte hierzu auch: http://docs.autodesk.com/ACD/2011/ENU/filesDXF/WS1a9193826455f5ff18cb41610ec0a2e719-7a51.htm

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: 03. Nov. 2021 10:01    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 Bernhard GSD 10 Unities + Antwort hilfreich

Biite noch mal 

Ich sehe zwar grob wo die Reise hingeht und Layerstus ist eine der am besten Unterstützten features,
aber dennoch frage ich vorher noch ienmal nach:

>>"nur mit einem Umschalter zwischen [Ja] und [Nein] möglich ist"
Ich habe wirklich null Ahnung was dieser Satz (der komplette natü+rlich  ) sagen soll, kannst du das bitte noch einmal
ausführlicher für Noobs erklären?


>>", ohne dass der Lisp-Befehl den aktuellen Status kennt."
? Lost

>>" (es könnte ja sein, dass ich wo anders eine andere Eigenschaft benötige)"
Das bezieht sich vermutlich nun darauf das du nicht alle Eigenschaften aller Layer wiederherstellen möchtest!?

>>"Daher suche ich nach einem Weg, meinen gewünschten Status vorab zu definieren und dann im Layer-Befehl nur anzuwenden."
Du möchtest also einen Layerstatus ganz normal "per Hand" in der AutoCAD-Benutzeroberflächer wiederherstellen,
nun suchst du aber eine Möglichkeit *irgendwas* an dem Layerstatus zu manipulieren - per Lisp.

Damit ich mir dein Ziel nicht zusammenreimen muss, vielleicht erklärst du es noch einmal etwas strukturierter oder technischer,
oder vielleicht auch weniger technisch - keine Ahung 
(was man zwar ohnehin beim lsen macht, aber wir wollen ja nicht unnötig aneinander vorbei reden)

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 03. Nov. 2021 10:32    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

Code:
-LAYER
Aktueller Layer:  "M_M-9"
Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIN/AUs/FArbe/Ltyp/LStärke/TRansparenz/MATerial/Plot/Frieren/Tauen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen/Xref]: _State

Option eingeben [?/Speichern/Wiederherstellen/Bearbeiten/Name/Löschen/Importieren/Exportieren]: _Save

Neuen Namen für Layerstatus eingeben: Name

Status
Ein                Nein
Gefroren            Nein
SPerre              Ja
Plot                Nein
neue AFs frieren    Nein
Farbe              Nein
linienTyp          Nein
Linienstärke        Nein
Transparenz        Nein
plotSTil            Nein

Zu ändernden Status eingeben
[Ein/Gefroren/SPerre/Plot/neue AFs frieren/Farbe/linienTYp/Linienstärke/TRansparenz/plotSTil]:


Oder als Lisp:

Code:
(Command "_layer" "_state" "_save" "Name" "" "")

Ich möchte den Status wie oben voreinstellen. Durch "Zu ändernden Status eingeben" wird nur zwischen [Ja] und [Nein] hin- und hergeschalten, aber es ist so kein definierter Status herstellbar. Ich möchte nur den Status von "SPerre" sicheren (oder in anderen Fällen "Gefroren"). Den aktuellen Status kennt das Lisp-Programm ja nicht (?)

Ziel ist es, den vorherigen Zustand gesperrter und nicht gesperrter Layer wiederherstellbar zu machen.

Hier werden alle Layer, außer dem aktuellen gesperrt:

Code:
(DEFUN c:ISO2()
  (SETQ #aktlay (GETVAR "CLAYER"))
  (COMMAND "_LAYER" "_Lock" "*" "_Unlock" #aktlay "")
  (PRINC)
  )

Hier sollte der vorherige Zustand wiederhergestellt werden, auch wenn vorher bereits Layer gesperrt waren und das auch bleiben sollen. Hier werden aber noch alle Layer entsperrt.

Code:
(DEFUN c:uniso2()
  (COMMAND "_LAYER" "_Unlock" "*" "")
  (PRINC)
  )

Ich hoffe, so ist es jetzt verständlicher. 

------------------
Gruß aus Wien
Bernhard

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 03. Nov. 2021 10:38    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 deine Bemühungen. Leider geht das aber am Ziel vorbei, da es für beliebige Layer funktionieren soll.

Natürlich könnte man alle benötigten Eigenschaften mit (entget (tblobjname "Layer" ".....")) auslesen und als dotted-pair in einer Liste speichern und wieder herstellen. Das könnte auch eine eigene Funktion erledigen.

Aber ich hoffe, dass es für LAYERSTATUS eine einfachere Lösung gibt.

------------------
Gruß aus Wien
Bernhard

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 03. Nov. 2021 10:59    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 denke, ich habe den Lösungsansatz:

(layerstate-save "Name" 4 nil)

- dann die gewünschten Layer SPerren

(layerstate-restore "Name" nil)

Allerdings bleibt nach layerstate-restore das Fading hängen.

Eventuell hilft es, vorher "LAYLOCKFADECTL" auf 0 zu setzen und dann wieder auf den vorherigen Wert.


------------------
Gruß aus Wien
Bernhard

[Diese Nachricht wurde von Bernhard GSD am 03. Nov. 2021 editiert.]

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 03. Nov. 2021 11:15    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

So schaut der fertige Code aus:

Es sollen nur Objekte auf dem aktuellen Layer verändert werden können. So bleibt es übersichtlich und trotzdem steuerbar.

Beim zweiten "_unlock" werden Layer hinzugefügt, die nie gesperrt werden sollen.

Code:
(DEFUN c:iso2 ()
   (SETQ #aktlay (GETVAR "CLAYER"))
   (LAYERSTATE-SAVE "laystateiso2" 4 nil)
   (COMMAND "_LAYER" "_Lock" "*" "_Unlock" #aktlay "_Unlock" "H_P29" "")
   (PRINC)
)


Und zurück zum Ursprung.
LAYLOCKFADECTL wird zwischenzeitlich auf 0 gesetzt, um ein hängenbleiben des Fadings zu verhindern.


Code:
(DEFUN c:uniso2 (/ #laylockfadectl)
   (SETQ #laylockfadectl (GETVAR "LAYLOCKFADECTL"))
   (SETVAR "LAYLOCKFADECTL" 0)
   (LAYERSTATE-RESTORE "laystateiso2" nil)
   (SETVAR "LAYLOCKFADECTL" #laylockfadectl)
   (PRINC)
)

------------------
Gruß aus Wien
Bernhard

[Diese Nachricht wurde von Bernhard GSD am 03. Nov. 2021 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: 03. Nov. 2021 11: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 Nur für Bernhard GSD 10 Unities + Antwort hilfreich

Du schreibst von so unterschiedlichen Dingen, da wird es echt schwer "jedem Satz zu folgen".
Aber ich versuche es, wie immer.

---


>>"Ich möchte den Status wie oben voreinstellen. Durch "Zu ändernden Status eingeben" wird nur zwischen [Ja] und [Nein] hin- und hergeschalten,"
Was sonst, es gibt ja nur Berücksichtigen? JA (oder Nein), was will man da anderes haben aus JA, oder Nein?

>>"aber es ist so kein definierter Status herstellbar."
Das sind ja nunmal zwei verschiedene Sachen (wenn man die Voreinstlelung separat betrachten möchte)
Einen Status definert man, also durch anlegen eines Layerstatus, sprich Speichern.
Dazu kommt dann die Voreinstellung der Einstellungen für das Wiederherstellen.

>>"Ich möchte nur den Status von "SPerre" sicheren (oder in anderen Fällen "Gefroren")."
Ein Layerstatus beinhaltet immer alle Eigenschaften, das solltest du wissen wenn
du Layerstus *egal wie* einsetzt.
Was aber auch egal ist, denn man gibt ja beim Wiederherstrellen an WAS wiederherstellt werden soll.

>>" Den aktuellen Status kennt das Lisp-Programm ja nicht (?)
Was meinst du damit? Auch ohne das zu wissen lasse ich ein paar Kommentare fallen:
- Mit Lisp sind dir alle aktuellen Eigenschaften aller Layer zugänglich,
- Es ist nie ein Status aktuell, denn ein Status ist nicht mit den Layer verknüpft.
  AutoCAD hat aber eine Prüfung im Status-Dialog welche dir anzeigt
  ob die aktuellen Layereinstellen zufällig mit einem deiner Status übereinstimmt.
Vielleicht meinst du die Voreinstellung für das Wiederherstellen eines Status?
Ungeachtet dessen wie man an diese Information kommen kann, soll auch das egal sein,
du legst einfach ALLES fest vor dem wiederherstellen.

>>"Ziel ist es, den vorherigen Zustand gesperrter und nicht gesperrter Layer wiederherstellbar zu machen."
Dann deaktiviere zum Wiederherstellen die anderen Eigenschaften und stelle den Status wieder her.

---

Und ab jetzt der Wechsel von Anwender zu Lisp:
Layerstatus ist ja eines der wenigen recht gut unterstützten features, das hast du auch bereits gefunden.
Deiner letzten Antwort entnehme ich jetzt mal: Du hast nun was du wolltest!? Gut.


>>" das Fading hängen."
Ob hinterher hjin und später zutück, oder ob du einen anderen Weg zum "refresh findest", eigentlich egal.
Schreib uns für welche Variante du dich dann entschieden hast.


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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 03. Nov. 2021 14:45    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

Zitat:
Original erstellt von cadffm:

Was sonst, es gibt ja nur Berücksichtigen? JA (oder Nein), was will man da anderes haben aus JA, oder Nein?

Ja, eh. Aber ich hätte gerne gesagt, WAS ich will und nicht den Status von [Ja] nach [Nein] und von [Nein] auf [Ja] - Das ist für einen Programmablauf unbrauchbar....

Zitat:

Dazu kommt dann die Voreinstellung der Einstellungen für das Wiederherstellen.

Nein, bei der Befehlszeilenversion gibt es keine Optionen für das Wiederherstellen, nur für das Sichern - wenigstens bei ACAD2020.

Zitat:

Und ab jetzt der Wechsel von Anwender zu Lisp:
Layerstatus ist ja eines der wenigen recht gut unterstützten features, das hast du auch bereits gefunden.
Deiner letzten Antwort entnehme ich jetzt mal: Du hast nun was du wolltest!? Gut.

Ja, diese Lösung mit Lisp ist eh die genialere. Man lernt auch bei Lisp immer wieder was Neues kennen.

Zitat:

>>" das Fading hängen."
Ob hinterher hjin und später zutück, oder ob du einen anderen Weg zum "refresh findest", eigentlich egal.
Schreib uns für welche Variante du dich dann entschieden hast.


Vorerst bleibt die Variante wie in meinem Post oben. Aber eventuell stolpere ich ja mal über was Besseres. Aber immerhin: Es läuft wie geplant und erleichtert die Arbeit.

Wie auch immer: Danke für deine Bemühungen mich zu unterstützen.

------------------
Gruß aus Wien
Bernhard

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: 03. Nov. 2021 15:38    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 Bernhard GSD 10 Unities + Antwort hilfreich


["Dazu kommt dann die Voreinstellung der Einstellungen für das Wiederherstellen."]
>>"Nein, bei der Befehlszeilenversion gibt es keine Optionen für das Wiederherstellen, nur für das Sichern - wenigstens bei ACAD2020."

JA - ABER. Das ist ein und dasselbe! Dialogfeld wie auch Befehlszeile..

Wenn du in AutoCAD einen Layerstatus erstellst, dann sind alle Eigenschaften voreingestellt auf AKTIVIERT ( = sollen wiederhergestellt werden),
im Nachgang kannst du die Häkchen entfernen.. und änderst dabei aber den gespeicherten Layerstatus.

So ist das im Dialogfeld und genau so funktioniert es auch in der Befehlzeile.

Sollte ich mich irren, vorab ein fettes SORRY - ist aus dem effeff 

schau es dir im Dialog an, schau es dir in der Befehlszeile an, sollte identisch laufen
mit dem Unterschied dass du im Dialog auf einen Status klickst und in der Befehlszeile
Bearbeiten<Statusname> wählen musst.

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 03. Nov. 2021 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

Zitat:

So ist das im Dialogfeld und genau so funktioniert es auch in der Befehlzeile.

Im Dialogfeld ja, in der Befehlszeile komischerweise ist es anders.

Aus der Hilfe zu -LAYER

Zitat:
Speichern
Speichert den Status und die Eigenschaftseinstellungen der Layer in einer Zeichnung unter einem angegebenen Layerstatusnamen. Wenn Sie einen Layerstatus speichern, legen Sie fest, welche Layereinstellungen bei einer späteren Wiederherstellung des Layerstatus betroffen sind.

Wiederherstellen
Stellt den Status und die Eigenschaften aller Layer mit den zuvor gespeicherten Einstellungen wieder her. Dabei werden nur die Layerstatuswerte und Eigenschaften wiederhergestellt, die bei der letzten Speicherung des Layers festgelegt wurden.



Der Befehl LAYERSTATUS ist ja eigentlich auch nicht Teil des LAYEReigenschaften-Managers, sondern ein eigener Befehl, der aus dem ExpressTools Befehl LMAN hervorgegangen ist.


Übrigens auch mit Lisp (laystate-save name mask viewport) ist es so, dass beim Speichern mit mask die zu speichernden Eigenschaften bitcodiert definiert werden, während (layerstate-restore name viewport [restoreflags]) keine Möglichkeit zur Wahl der wiederherzustellenden Eigenschaften mehr bietet.

Übrigens wird der mit (laystate-save ... gespeicherte Status auch im LAYERSTATUS angezeigt, aber dort völlig falsch wiederhergestellt.

------------------
Gruß aus Wien
Bernhard

[Diese Nachricht wurde von Bernhard GSD am 03. Nov. 2021 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: 03. Nov. 2021 17:12    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 Bernhard GSD 10 Unities + Antwort hilfreich

Haargenau! Jetzt zitierst du sogar die Hilfe - die im Grunde das wiederspiegelt was ich auch sagte.
Beim Anlegen/Speichern eines Status triffst du eine Vorauswahl für das Wiederherstellen.

Im Dialog, wie auch über die Befehlszeile!

Beim Wiederherstellen wird entsprechend der zuletzt gespeicherten Einstellung agiert.
Im Dialog fällt einem kaum auf wie man durch Häkchen rein/raus den Layerstatus verändert/verändern kann,
in der befehlszeile musst du halt explizit BEARBEITEN aufrufen dafür.

Also ich sitze wieder am Rechner und sehe "dennoch" alles zum Dialog und zu -LAYER bestätigt was ich geschrieben haben.


Lisp:
Von Lispfunktionen habe ich dabei noch nicht geredet, denn sollte es dort anders sein,
so  würde ich es vor dem Antworten erst 1:1 testen müssen - das habe ich nicht im Kopf.
Wobei mir aktuell bei dem Thema die Zeit fehlte es einfach mal nebenher "vorab" mit allem möglichen zu testen,
wenn du aber mal konkrete Beispiel hast (DWG, LSP und Vorgangsbeschreibung, Erwartung vs. IST), dann gerne.


>>"während (layerstate-restore name viewport [restoreflags]) keine Möglichkeit zur Wahl der wiederherzustellenden Eigenschaften mehr bietet."
Wie im Dialogfeld und wir im -LAYER Befehl auch!
Im Knopf[Wiederherstellen] oder der Option "Wiederherstellen" in der Befehlzeile,
gibt es keine weitern Einstellungen und Optionen.
In beiden Fällen heißt es wie im Lisp: Wiederhergestellt wird was zuletzt eingestellt/gespeichert wurde.


>>"Übrigens wird der mit (laystate-save ... gespeicherte Status auch im LAYERSTATUS angezeigt,"
äähm, ja natüprlich?
Ein Kreis erscheint auch auf dem Bildschirm, auch wenn du diesen per Lisp API erstellt hast, macht ja Sinn 

>>" aber dort völlig falsch wiederhergestellt."
Also an dieser Stelle, wenn ich nicht völlig daben liege,
dann zeigt sich doch hier das du da irgendwie mit dem Thema noch auf Kriegsfuß stehst.

Was um Gottes, Allah  und alte Reifen Willen stimmt denn dan nicht, gar "völlig falsch" soll es sein.
Beispiele?' DWG, Code -> Beschreibung Erwartung vs Ist.
Ich schaue gerne nach, entweder lerne ich etwas, oder ich kann helfen, beides freut mich und daher lebe ich immer im WinWin 


Aus der Hüfte geschossen, da ich mich an nichts negatives erinnere,
aber es ist auch lange her das ich meine (funktionierenden) Programme diesbezüglich
erstellt habe und Lisp-Layerstatus muß man nach einer Handvoll Routinen eigentlich
nicht mehr anpssen => Sonderfälle, so es diese gibt, geraten in Vergessenheit 


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: 03. Nov. 2021 17: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 Nur für Bernhard GSD 10 Unities + Antwort hilfreich

Wenn es hier nur um die Anwendersicht ginge, dann würde ich ja darauf tippen
diese Jemand stellt Layerstatus in Layouts wieder her und in diesem Fall
führt das Ergebnis oft (und zum Teil verständlicherweise) zu Verwirrungen.
Ist dann aber alles Erklärbar, auch wenn nicht alles gefällt wie es funktioniert.

Du Bernhard kennst dich hingegen wohl aus und hast per Dialogfeld keine Probleme?
Bleibt noch eine geringe Chance: Vielleicht wendest du die Lispfunktionen ggf, falsch an?
Die Befehlszeile, welche identisch zum Dialog funktioniert (überzeuge mich vom Gegenteil),
ist dir ja auch noch nicht so ganz grün?

Freue mich schon darauf wie das ausgeht  

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

Bernhard GSD
Mitglied



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

Beiträge: 482
Registriert: 29.08.2002

AutoCAD 2020(Deu); Windows 10 PRO x64(Deu)

erstellt am: 04. Nov. 2021 08:56    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

Zitat:
Original erstellt von cadffm:
Beim Anlegen/Speichern eines Status triffst du eine Vorauswahl für das Wiederherstellen.

Ja, genau. Gleiches passiert beim Lisp-Befehl.
Dass nur eine Vorauswahl für die Wiederherstellung getroffen wird, habe ich erst später erkannt. So wird jetzt ein Schuh draus.

Wie auch immer: Das Lisp funktioniert und leistet gute Dienste.
Eventuell kommt später noch eine Funktion dazu, die die Auswahl mehrerer Objekte (und damit Layer) ermöglicht.

Zitat:
Original erstellt von cadffm:
Du Bernhard kennst dich hingegen wohl aus und hast per Dialogfeld keine Probleme?

Zwar keine Probleme, aber ich nutze das Dialogfeld so gut wie gar nicht.
Meine Layereinstellungen laufen alle über Lisps.

------------------
Gruß aus Wien
Bernhard

[Diese Nachricht wurde von Bernhard GSD am 04. Nov. 2021 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