Author Topic: 0 layer current  (Read 6211 times)

0 Members and 1 Guest are viewing this topic.

POCKETS

  • Guest
0 layer current
« on: November 10, 2010, 01:00:54 PM »
I am looking for a routine to make layer 0 current by using a button.
many thanks,
pockets

ronjonp

  • Needs a day job
  • Posts: 7531
Re: 0 layer current
« Reply #1 on: November 10, 2010, 01:02:07 PM »
(setvar 'clayer "0")

Windows 11 x64 - AutoCAD /C3D 2023

Custom Build PC

Lee Mac

  • Seagull
  • Posts: 12928
  • London, England
Re: 0 layer current
« Reply #2 on: November 10, 2010, 01:05:26 PM »
Code: [Select]
^C^Csetvar;clayer;0

David Bethel

  • Swamp Rat
  • Posts: 656
Re: 0 layer current
« Reply #3 on: November 10, 2010, 01:49:43 PM »
What if layer "0" is frozen?  Or locked?  -David
R12 Dos - A2K

Lee Mac

  • Seagull
  • Posts: 12928
  • London, England
Re: 0 layer current
« Reply #4 on: November 10, 2010, 01:56:28 PM »
What if layer "0" is frozen?  Or locked?  -David

Fair point David,

Code: [Select]
^C^C_.-layer;_t;0;_u;0;_s;0;;

POCKETS

  • Guest
Re: 0 layer current
« Reply #5 on: November 10, 2010, 02:05:17 PM »
Thank you ! ! !   Thank You  ! ! !   THANK YOU !

alanjt

  • Needs a day job
  • Posts: 5352
  • Standby for witty remark...
Re: 0 layer current
« Reply #6 on: November 10, 2010, 03:26:39 PM »
Hey, I have one of those.  :lol:
Code: [Select]
(defun c:L0 (/) (command "_.-layer" "_T" "0" "_c" 7 "0" "_s" "0" "") (princ))
Civil 3D 2019 ~ Windohz 7 64bit
Dropbox

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: 0 layer current
« Reply #7 on: November 10, 2010, 06:05:24 PM »

Now that that's resolved :
Everytime I notice pockets avatar my mind goes frenetic and I forget his questions ... sorry :)
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

cmwade77

  • Swamp Rat
  • Posts: 1447
Re: 0 layer current
« Reply #8 on: November 10, 2010, 07:02:21 PM »
Why would you want to set layer 0 current?

The only things that should be drawn on layer 0 are within blocks.

Ok, rant over, but really we get so many drawings with just about everything drawn on layer 0 (or at least the few things that we need to freeze when we xref the drawings) that I just have to mention it.

mjfarrell

  • Seagull
  • Posts: 14444
  • Every Student their own Lesson
Re: 0 layer current
« Reply #9 on: November 10, 2010, 07:09:28 PM »
Why would you want to set layer 0 current?

The only things that should be drawn on layer 0 are within blocks.

Ok, rant over, but really we get so many drawings with just about everything drawn on layer 0 (or at least the few things that we need to freeze when we xref the drawings) that I just have to mention it.
it would appear they are getting ready to send you some more drawings.   ;-)

seriously, perhaps this person wants to set 0 current before he creates block geometry....
Be your Best


Michael Farrell
http://primeservicesglobal.com/

Chris

  • Swamp Rat
  • Posts: 548
Re: 0 layer current
« Reply #10 on: November 11, 2010, 08:06:34 AM »
Why would you want to set layer 0 current?

The only things that should be drawn on layer 0 are within blocks.

Ok, rant over, but really we get so many drawings with just about everything drawn on layer 0 (or at least the few things that we need to freeze when we xref the drawings) that I just have to mention it.
I set layer 0 current before running a layerstate command, because 0 is always on/thawed for our drawings, I dont have to worry about the current layer being frozen.
Christopher T. Cowgill, P.E.
AEC Collection 2020 (C3D)
Win 10

ronjonp

  • Needs a day job
  • Posts: 7531
Re: 0 layer current
« Reply #11 on: November 11, 2010, 09:46:12 AM »
I set layer 0 when purging.

Windows 11 x64 - AutoCAD /C3D 2023

Custom Build PC

ronjonp

  • Needs a day job
  • Posts: 7531
Re: 0 layer current
« Reply #12 on: November 11, 2010, 10:28:05 AM »
Here's another  :-D
Code: [Select]
(defun c:0 (/ o)
  (vl-load-com)
  (setq o (vlax-ename->vla-object (tblobjname "layer" "0")))
  (mapcar '(lambda (x) (vlax-put o (car x) (cdr x))) '((freeze . 0) (lock . 0) (layeron . -1)))
  (setvar 'clayer "0")
  (princ)
)

Windows 11 x64 - AutoCAD /C3D 2023

Custom Build PC

alanjt

  • Needs a day job
  • Posts: 5352
  • Standby for witty remark...
Re: 0 layer current
« Reply #13 on: November 11, 2010, 10:51:15 AM »
Here's another  :-D
Code: [Select]
(defun c:0 (/ o)
  (vl-load-com)
  (setq o (vlax-ename->vla-object (tblobjname "layer" "0")))
  (mapcar '(lambda (x) (vlax-put o (car x) (cdr x))) '((freeze . 0) (lock . 0) (layeron . -1)))
  (setvar 'clayer "0")
  (princ)
)
Code: [Select]
(mapcar (function (lambda (x) (apply (function vlax-put) (cons o x))))
             '((freeze 0) (lock 0) (layeron -1))
     )
Civil 3D 2019 ~ Windohz 7 64bit
Dropbox

cmwade77

  • Swamp Rat
  • Posts: 1447
Re: 0 layer current
« Reply #14 on: November 11, 2010, 11:14:40 AM »
I set layer 0 when purging.

I do that as well, but unless it has been purged, I set the layer back to what it already was, here is my routine for doing this:
Code: [Select]
(defun c:upu (/ OldLayer)
(setq OldLayer (getvar "clayer"))
(setvar "clayer" "0")
(vl-cmdf "._-purge" "all" "*" "N"); Purges all unused items.
(vl-cmdf "._-purge" "all" "*" "N"); Purges all unused items a second time, just in case.
(vl-cmdf "._-purge" "r" "*" "N"); Purges all unreferenced, registered applications. Also is the end of the Command function.
(if (tblsearch "LAYER" OldLayer) ; Check to see if old layer still exsists
(setvar "clayer" OldLayer) ; If old layer still exists set it back to current
)
 )
This includes my purging routine as well.