Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layerstand speichern Button

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:   Layerstand speichern Button (1767 mal gelesen)
CADoffel
Mitglied
Tech. Zeichner (Haustechnik)


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

Beiträge: 131
Registriert: 12.08.2002

- Win 2000<P>- AutoCAD 2002 LT+ LT-Extender+ Exresstools 1-8
- AutoCAD 2002 Architectual Desktop + Expresstools 1-9

erstellt am: 05. Aug. 2004 09:23    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

Hi zsamme´,

folgende Idee hatte ich heute morgen. Weiß allerdings nicht ob es so etwas schon gibt.
- Den aktuellen Layerstand beim drücken des Buttons speichern. (Also so ähnlich wie bei den Expresstools, nur ohne den Layer-Manager)
- Jetzt kann ich nach belieben die Layer ein und ausschalten.
- Nach nochmaligen drücken des Buttons, wird der gespeicherte Layerstand zurückgesetzt.

Merke gerade, daß es wohl gar nicht so einfach ist, da der Layerstand irgenwohin ja gespeichert werden muß.

Hat jemand von euch soetwas, oder ähnliches?

P.S. Die Layernamen und Zustände sind nicht immer gleich.

Danke und Gruß CADoffel

------------------

"ich weiß dass ich nichts weiß, dennoch weiß ich mehr als diejenigen die nicht wissen dass sie nichts wissen"

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13435
Registriert: 30.11.2003

.

erstellt am: 05. Aug. 2004 09: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 Nur für CADoffel 10 Unities + Antwort hilfreich

Schau mal Hier .. evtl hilft dir du statt (princ "(entmake '" DATEI)
ein (princ "(entmode '" DATEI)  weiter oder eine Fallunterscheidung mit (if (tablesearch "LAYER" ...

------------------
- Thomas -

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

System: F1
und Google

erstellt am: 05. Aug. 2004 09: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 CADoffel 10 Unities + Antwort hilfreich

Tip: der Lman aus den ET funkt auch über die Befehlszeile !

------------------
- Sebastian -

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

CADoffel
Mitglied
Tech. Zeichner (Haustechnik)


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

Beiträge: 131
Registriert: 12.08.2002

- Win 2000<P>- AutoCAD 2002 LT+ LT-Extender+ Exresstools 1-8
- AutoCAD 2002 Architectual Desktop + Expresstools 1-9

erstellt am: 05. Aug. 2004 09:46    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

@Sebastian:

Genau das möchte ich eigentlich umgehen.
Ich möchte nicht einen Namen eingeben müssen, weil ich eh nur einen Layerstand speichern möchte. Dieser wird dann kurz später wieder zurückgesetzt.

Danke Dir trotzdem.
Gruß CADoffel

------------------

"ich weiß dass ich nichts weiß, dennoch weiß ich mehr als diejenigen die nicht wissen dass sie nichts wissen"

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

System: F1
und Google

erstellt am: 05. Aug. 2004 09:48    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 CADoffel 10 Unities + Antwort hilfreich

du brauchst doch keinen Namen angeben, bzw den gibst du im Makro autom. an..

aber egal, bleib bei dem Lisp-Weg.

------------------
- Sebastian -

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1627
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 05. Aug. 2004 09:55    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 CADoffel 10 Unities + Antwort hilfreich

Also ich habe mit ein VBA-teil programmiert. Kannst auch für Namen z.B. automatisch Datum + Uhrzeit mit Mili-Sek eingeben als Default

Code:

...
Dim StateObj As AcadLayerStateManager
Dim eMask As AcLayerStateMask
On Local Error Resume Next
SaveLayerStateFrm.Show
If SaveLayerStateFrm.OK = True Then
    Set StateObj = New AcadLayerStateManager
    StateObj.SetDatabase ThisDrawing.Database
    eMask = acLsNone
    With SaveLayerStateFrm
        If .CheckBox1.Value = True Then eMask = acLsOn
        If .CheckBox2.Value = True Then eMask = eMask + acLsFrozen
        If .CheckBox3.Value = True Then eMask = eMask + acLsLocked
        If .CheckBox4.Value = True Then eMask = eMask + acLsPlot
        If .CheckBox5.Value = True Then eMask = eMask + acLsNewViewport
        If .CheckBox6.Value = True Then eMask = eMask + acLsColor
        If .CheckBox7.Value = True Then eMask = eMask + acLsLineType
        If .CheckBox8.Value = True Then eMask = eMask + acLsLineWeight
        If .CheckBox9.Value = True Then eMask = eMask + acLsPlotStyle
        StateObj.Save .TextBox1.Text, eMask
    End With
End If
End Sub

Das mit Lisp machen ist auch schön 

------------------
"Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?"  Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF

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

CADoffel
Mitglied
Tech. Zeichner (Haustechnik)


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

Beiträge: 131
Registriert: 12.08.2002

- Win 2000<P>- AutoCAD 2002 LT+ LT-Extender+ Exresstools 1-8
- AutoCAD 2002 Architectual Desktop + Expresstools 1-9

erstellt am: 05. Aug. 2004 09: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

Dann brauche ich 2 Buttons. Egal, wenn es funzt.

Wie muß denn das Makro dazu aussehen?
Mit "lman;s;c;" komme ich nicht weiter.

CADoffel

------------------

"ich weiß dass ich nichts weiß, dennoch weiß ich mehr als diejenigen die nicht wissen dass sie nichts wissen"

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

System: F1
und Google

erstellt am: 05. Aug. 2004 10: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 CADoffel 10 Unities + Antwort hilfreich

Erstmal mußt du für dich selbst und uns festlegen wie das überhaupt laufen soll !
Möchtest du irgendwann mal den LayStati speichern und die ganze Sitzung über immerwieder genau
diesen wiederherstellen oder möchtest du das eher so:
Statusneuerstellen/Statuswiederherstellen/Statusneuerstellen/Statuswiederherstellen/Statusneuerstellen/...

Aber ich will da jetzt auch nicht in die Richtung weitermachen - mir reicht immernoch "Layerp" ! (muß man halt mehrfach druffdrücke)
oder aber eben der Lman, aber genau das möchtest du ja nicht.

------------------
- Sebastian -

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 05. Aug. 2004 10:34    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 CADoffel 10 Unities + Antwort hilfreich

also eigentlich sollte es auch mit nem normalen makro funktionieren

so in der art
-LAYER;STATUS;SPEICHERN;name ...

-LAYER;STATUS;WIEDERHERSTELLEN;name ....

------------------

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

CADoffel
Mitglied
Tech. Zeichner (Haustechnik)


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

Beiträge: 131
Registriert: 12.08.2002

- Win 2000<P>- AutoCAD 2002 LT+ LT-Extender+ Exresstools 1-8
- AutoCAD 2002 Architectual Desktop + Expresstools 1-9

erstellt am: 05. Aug. 2004 10:51    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

Habe eigentlich eher gedacht, daß der alte Status überschrieben wird.
Also: Statusneuerstellen/Statuswiederherstellen/Statusneuerstellen/Statuswiederherstellen...

------------------

"ich weiß dass ich nichts weiß, dennoch weiß ich mehr als diejenigen die nicht wissen dass sie nichts wissen"

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13435
Registriert: 30.11.2003

.

erstellt am: 05. Aug. 2004 11:24    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 CADoffel 10 Unities + Antwort hilfreich

(defun c:LAYERstandswitch()
  (if (=(getvar "USERS1") "LAYERSTAND WIEDERHERSTELLEN")
    (progn
      (command "-layer" "STATUS" "Wiederherstellen" "STAND" "" "" "")     
      (setvar "USERS1" "LAYERSTAND WIEDERHERSTELLEN")
    )
    (progn
      (command "-layer" "Status" "Löschen" "Stand" "" "" "")
      (command "-layer" "STATUS" "SPEICHERN" "STAND" "" "" "")
      (setvar "USERS1" "LAYERSTAND SPEICHERN")     
    )   
  )
)

Ist das was Fuchsi meint, jetzt aber nur auf einen Button.
(wer's braucht ???)


------------------
  - Thomas -

[Diese Nachricht wurde von CADmium am 05. Aug. 2004 editiert.]

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 05. Aug. 2004 11:28    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 CADoffel 10 Unities + Antwort hilfreich

@Cadmium

hat nur einen kleinen schönheitsfehler
das abspeichern des layerzustands unter dem namen STAND funktioniert nur einmal, danach kommt ne fehlermeldung :

Neuen Namen für Layerstatus eingeben: STAND
Layerstatus "STAND" ist bereits vorhanden.
Neuen Namen für Layerstatus eingeben: STAND1


eigentlich müsstest du vorher den layerstatus STAND Löschen

------------------

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13435
Registriert: 30.11.2003

.

erstellt am: 05. Aug. 2004 11: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 CADoffel 10 Unities + Antwort hilfreich

Ok, - war nicht getestet  -> Änderung siehe oben !

------------------
- Thomas -

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

CADoffel
Mitglied
Tech. Zeichner (Haustechnik)


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

Beiträge: 131
Registriert: 12.08.2002

- Win 2000<P>- AutoCAD 2002 LT+ LT-Extender+ Exresstools 1-8
- AutoCAD 2002 Architectual Desktop + Expresstools 1-9

erstellt am: 05. Aug. 2004 11: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


screenshot.jpg

 
Bei mir kommt folgendes:
-Das Textfenster öffnet sich.(s.Screenshot)
Warum? :-(

------------------

"ich weiß dass ich nichts weiß, dennoch weiß ich mehr als diejenigen die nicht wissen dass sie nichts wissen"

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13435
Registriert: 30.11.2003

.

erstellt am: 05. Aug. 2004 12: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 Nur für CADoffel 10 Unities + Antwort hilfreich

.. na dann schick noch ein (graphscr) hinterher!

(defun c:LAYERstandswitch()
  (if (=(getvar "USERS1") "LAYERSTAND WIEDERHERSTELLEN")
    (progn
      (command "-layer" "STATUS" "Wiederherstellen" "STAND" "" "" "")     
      (setvar "USERS1" "LAYERSTAND WIEDERHERSTELLEN")
    )
    (progn
      (command "-layer" "Status" "Löschen" "Stand" "" "" "")
      (command "-layer" "STATUS" "SPEICHERN" "STAND" "" "" "")
      (setvar "USERS1" "LAYERSTAND SPEICHERN")     
    )   
  )
  (graphscr)
)

------------------
- Thomas -

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

michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 05. Aug. 2004 14: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 Nur für CADoffel 10 Unities + Antwort hilfreich

Habe für das ein lisp gefunden braucht nur ein button, ist aber nur für die aktuelle zeichnung gültig nach schliessen der zeichnung ist der layerstand weg.

;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
;; LAYERSTATUS
;;
;; Programm sichert den aktuellen Layerstand oder schreibt den gesicherten Layerstand wieder zurück. Die Variable,
;; in die gesichert wird, kann vom Benutzer nicht vorgegeben werden - auch hat diese Routine nichts mit den
;; Bonustools 'LMAN' zu tun.
;;
;;
;; Dezember 1998
;; Letzte Änderung: 22.1.1999
;;
;; (c) Volker Kleppel / Beethovenstrasse 68 / 71640 Ludwigsburg / vkleppel@lycosmail.com
;;
;; System: AutoCAD 14
;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

(defun c:layerst ( / answer)
(if (not layersteinst) (setq layersteinst "Auto"))

(if (= layersteinst "Auto")
(progn
(princ "\nModus: Automatisch")
(if (= layerlisteflip T)
(progn
(initget 128 "Sichern Wiederherstellen Einstellung")
(if (not (setq answer (getkword "\nLayerstatus: Einstellung/Sichern/<Wiederherstellen> "))) (setq answer "Wiederherstellen"))
)
(progn
(initget 128 "Sichern Wiederherstellen Einstellung")
(if (not (setq answer (getkword "\nLayerstatus: Einstellung/Wiederherstellen/<Sichern> ")))  (setq answer "Sichern"))
)
)
)
(progn
(princ "\nModus: Manuell")
(initget 128 "Sichern Wiederherstellen Einstellung")
(if (not (setq answer (getkword "\nLayerstatus: Einstellung/Sichern/<Wiederherstellen> "))) (setq answer "Wiederherstellen"))
)
)

;Einstellung
(if (= answer "Einstellung")
(progn
(initget 128 "Manuell Auto")
(if (not (setq layersteinst (getkword "\nEinstellung: Manuell/<Auto> "))) (setq layersteinst "Auto"))
(print)
)
)

;Wiederherstellen
(if (= answer "Wiederherstellen")
(progn
(if (not layerstliste) (princ "\nKeinen Layerstand gesichert!") (layerwiederherstellen))
(setq layerlisteflip nil)
)
)

;Sichern
(if (= answer "Sichern")
(layersichern)
)

(print)
)

(defun layersichern ( / dump)
(setq layerliste nil)
(setq dump (tblnext "LAYER" T))
(while (/= dump nil)
(setq layerstliste (append layerstliste (list dump)))
(setq dump (tblnext "layer"))
)
(setq layerlisteflip T)
(princ "\nLayerstauts wurde gesichert")
(print)
)

(defun layerwiederherstellen ( / i dump regendump)
(setq i (length layerstliste) regendump nil)
(while (> i 0)
(setq temp (nth (1- i) layerstliste))
(setq en (tblobjname "LAYER" (cdr (assoc 2 temp))))
(setq ent (entget en))
(if (= (boole 1 1 (cdr (assoc 70 temp))) 1) (setq regendump T))
(setq ent (subst (assoc 70 temp) (assoc 70 ent) ent))
(setq ent (subst (assoc 62 temp) (assoc 62 ent) ent))
(entmod ent)
(entupd en)
(setq i (1- i))
)

(setq dump (getvar "CMDECHO"))
(setvar "cmdecho" 0)
(command "_.layer" "")
(setvar "cmdecho" dump)
(if (= regendump T) (progn (command "_regenall") (princ "\nZeichnung muß regeneriert werden ...")))
(princ "\nLayerstatus wurde wiederhergestellt")
(print)
)

(princ "\nLAYERSTATUS geladen [(c) 1998 · Volker Kleppel]")
(princ "\nAufruf durch: layerst")
(print)

ich habe noch eine Frage, im fogenden beitrag: http://ww3.cad.de/foren/ubb/Forum145/HTML/000716.shtml
habt ihr über das urheberrecht diskutiert. wen ich ein lisp reinkopiere weil ich nicht mehr weiss wo her ich es habe ist das einproblem? die copyright's sind ja vermerkt.

[Diese Nachricht wurde von michelangelo am 05. Aug. 2004 editiert.]

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

CADoffel
Mitglied
Tech. Zeichner (Haustechnik)


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

Beiträge: 131
Registriert: 12.08.2002

- Win 2000<P>- AutoCAD 2002 LT+ LT-Extender+ Exresstools 1-8
- AutoCAD 2002 Architectual Desktop + Expresstools 1-9

erstellt am: 05. Aug. 2004 14:42    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

@thomas:
irgendwie funzt das bei mir nicht. Das Textfenster wird jetzt zwar wieder geschlossen, aber der Layerstand wird nicht wiederhergestellt.

@ michelangelo:
genau das isses. Lässt sich mit 2 Buttons wunderbar realisieren.
Würde das auch mit einem gehen? Also abwechselnd sichern und wiederherstellen?

Gruß :-)

------------------

"ich weiß dass ich nichts weiß, dennoch weiß ich mehr als diejenigen die nicht wissen dass sie nichts wissen"

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

michelangelo
Mitglied



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

Beiträge: 158
Registriert: 08.04.2004

Win XP, ACAD 2002 ExpressTool vom ACAD 2000

erstellt am: 05. Aug. 2004 14:50    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 CADoffel 10 Unities + Antwort hilfreich

warum machst du zwei??
ein button
schreib dort z.B.:

^c^cLayerst

oder deluxversion:

^C^C(if (not Layerstatus)(load "Layerstatus" '("Layerstatus"))) Layerst

das lisp wechselt automatisch die vorauswahl. das heisst
button drucken
rechte maustaste für standspeichern
button drücken
rechtemaustaste für wiederherstellen
button drucken
rechte maustaste für standspeichern
button drücken
rechtemaustaste für wiederherstellen
.....

erst wenn du von diesem rhythmus weg willst musst du noch was eingeben. lies einfach die befehlseingabe.

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

CADoffel
Mitglied
Tech. Zeichner (Haustechnik)


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

Beiträge: 131
Registriert: 12.08.2002

- Win 2000<P>- AutoCAD 2002 LT+ LT-Extender+ Exresstools 1-8
- AutoCAD 2002 Architectual Desktop + Expresstools 1-9

erstellt am: 05. Aug. 2004 15: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

Das war das, was ich gesucht habe.
Ich danke euch vielmals.

Gruß CADoffel

------------------

"ich weiß dass ich nichts weiß, dennoch weiß ich mehr als diejenigen die nicht wissen dass sie nichts wissen"

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

mkl-cad
Mitglied
Technischer Zeichner


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

Beiträge: 378
Registriert: 23.07.2003

ACAD 2002
Express Tools 1-9
Architektural Desktop
Windows XP
Server Windows 2003
3 GHz Rechner
1 GB RAM
80 GB Festplatte
ATI FireGL V3100
2 17" Flachbildschirme

erstellt am: 06. Aug. 2004 08: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 Nur für CADoffel 10 Unities + Antwort hilfreich

Hallo Leute

Das ist ja schön und gut. Den Ansatz von Thomas aus einem anderen Beitrag finde ich besser, da ohne dem Befehl "command". Hab ihn mal hier reinkopiert.

(defun LAYER-export(DATEINAME / LAYER LAYDATA LISTE DATEI)
  (While (setq LAYER (tblnext "LAYER" (null LAYER)))   
    (setq LAYDATA (vl-remove-if
                    '(lambda (L)(member(car L) '(-1 330 -2 5 390)))
                    (entget(tblobjname "LAYER" (cdr(assoc 2 LAYER))) '("*"))
                  )             
    )       
    (setq LISTE (cons LAYDATA LISTE))   
  )
  (if(setq DATEI(open DATEINAME "w"))
    (progn
      (foreach LAYER LISTE
(princ "(entmake '" DATEI)
(prin1 LAYER        DATEI)
(princ ")\n"        DATEI)
      )
      (close DATEI)
    )
  ) 
)
(defun c:LAYER-EXPORT ( / DATEINAME )
  (if (setq DATEINAME (getfiled "LAYER-EXPORT" (getvar "SAVEFILEPATH") "LAY" 1))
    (LAYER-EXPORT DATEINAME)
    (princ "\nAbgebrochen ..............\n")
  )
  (princ)     

(defun c:LAYER-IMPORT ( / DATEINAME )
  (if (setq DATEINAME (getfiled "LAYER-IMPORT" (getvar "SAVEFILEPATH") "LAY" 8))
    (load DATEINAME)     
    (princ "\nAbgebrochen ..............\n")
  )
  (princ)     
)

Das einzigste woran Thomas nicht gedacht hat ist, das man auch Plotstiltabellen in den Layer ändern kann. Hat vielleicht jemand Lust das so umzutexten das auch der Plotstil mit abgespeichert und wieder hergestellt wird? Das darf natürlich nur passieren wenn die Zeichnung für benannte Plotstile eingestellt wurde.

... (if (= (getvar "PSTYLEMODE") 1 )(ohne plotsile)(mit plotstile))...

------------------
  Martin 

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