I want to reverse property of freeze of all layers, which means all present thawed layers to be frozen and all current frozen layers to be thawed. Are there any command to reverse that? Thanks
In the palette, it recquires that you sort by FROZEN, then select with SHIFT the all range you are interested in, do the toggle and right-click to Invert Selection and so on...
As it takes 2 seconds it is not a direct option of a command.
But there must me more than one workaround
@tramber wrote:
In the palette, it recquires that you sort by FROZEN, then select with SHIFT the all range you are interested in, do the toggle and right-click to Invert Selection and so on....
Explain that further. What do you mean by the "do the toggle" part? When I sort by Frozen state, select all Layers, right-click somewhere in the list so that I get a pull-down that includes the choice to Invert Selection, and I pick that, nothing happens.
And I suspect something beyond that would be necessary, anyway. The current Layer will always be one that is not Frozen, so it won't be able to switch to having that Frozen without first changing to a different current Layer. Some Layer that's initially Frozen will need to be Thawed [whether in connection with all other initially-Frozen Layers, or independently], then set current, and only then can all the Layers that were initially Thawed be Frozen.
An AutoLisp routine could be written to do that. Off and On would be easier, since though the current Layer can't be Frozen, it can be turned Off.
@Kent1Cooper wrote:
....An AutoLisp routine could be written to do that. Off and On would be easier, since though the current Layer can't be Frozen, it can be turned Off.
...which raises the question: What about any Layer(s) that are Frozen and also turned Off? If all that happens is that Thawed Layers get Frozen and Frozen Layers get Thawed, objects on such a Layer would remain not visible, because the Layer would still be Off after being Thawed. Is that acceptable, or would you also want all initially-Frozen Layers turned On?
@Kent1Cooper wrote:
....
An AutoLisp routine could be written to do that. ....
For example, ignoring the Off question and simply toggling all Layers to the opposite of their initial Freeze/Thaw condition [minimally tested]:
(defun C:LFTTA (/ toFreeze layinfo newCurrent); = Layers Freeze/Thaw Toggle All (setq toFreeze "") ; initially empty string (while (setq layinfo (tblnext "layer" (not layinfo))) (if (= (logand (cdr (assoc 70 layinfo)) 1) 0); Thawed? (setq toFreeze (strcat toFreeze (cdr (assoc 2 layinfo)) ",")); then (if (not newCurrent) (setq newCurrent (cdr (assoc 2 layinfo)))); else [Frozen] ; [any Layer that's initially Frozen must be made current]
); if ); while (command "_.layer" "_thaw" "*" "_set" newCurrent ; otherwise, next line won't Freeze initially-current Layer "_freeze" toFreeze "" ); command (princ) ); defun
It may sometimes be necessary [in addition to possibly turning all Layers On] to do a REGEN for everything to appear.
Can't find what you're looking for? Ask the community or share your knowledge.