Author Topic: How fast can you create 12450 layers?  (Read 8000 times)

0 Members and 1 Guest are viewing this topic.

ribarm

  • Gator
  • Posts: 3274
  • Marko Ribar, architect
Re: How fast can you create 12450 layers?
« Reply #15 on: November 17, 2011, 04:26:16 AM »
Hugo, maybe you want this -
color and names are now corresponding each others :

Code: [Select]
(defun c:test ( / c n k )
    (setq c 0 k 0)
    (initget 7)
    (if (setq n (getint "\nNumber of Layers: "))
        (while (< k n)
            (entmake
                (list
                   '(0 . "LAYER")
                   '(100 . "AcDbSymbolTableRecord")
                   '(100 . "AcDbLayerTableRecord")
                    (cons 2 (itoa (setq k (1+ k))))
                    (cons 62 (setq c (1+ (rem c 256))))
                   '(70 . 0)
                )
            )
        )
    )
    (princ)
)
« Last Edit: November 17, 2011, 07:17:30 AM by ribarm »
Marko Ribar, d.i.a. (graduated engineer of architecture)

:)

M.R. on Youtube

Hugo

  • Bull Frog
  • Posts: 431
Re: How fast can you create 12450 layers?
« Reply #16 on: November 17, 2011, 05:08:28 AM »
Hey thanks   :-) :-) :-)

Super  Danke

ribarm

  • Gator
  • Posts: 3274
  • Marko Ribar, architect
Re: How fast can you create 12450 layers?
« Reply #17 on: November 17, 2011, 07:43:04 AM »
Hey, Hugo, if you want to make layer names that will have prefix zeros of number of input layers, you can use this :
This way layers will be always sorted from first to last one...

Code: [Select]
(defun c:test ( / c n nl k kl pref name )
    (setq c 0 k 0 pref "")
    (initget 7)
    (if (setq n (getint "\nNumber of Layers: ") nl (strlen (itoa n)))
        (while (< k n)
            (setq k (1+ k) kl (strlen (itoa k)))
            (repeat (- nl kl)
                (setq pref (strcat "0" pref))
            )
            (setq name (strcat pref (itoa k)))
            (entmake
                (list
                   '(0 . "LAYER")
                   '(100 . "AcDbSymbolTableRecord")
                   '(100 . "AcDbLayerTableRecord")
                    (cons 2 name)
                    (cons 62 (setq c (1+ (rem c 256))))
                   '(70 . 0)
                )
            )
            (setq pref "")
        )
    )
    (princ)
)

M.R.
Marko Ribar, d.i.a. (graduated engineer of architecture)

:)

M.R. on Youtube

Hugo

  • Bull Frog
  • Posts: 431
Re: How fast can you create 12450 layers?
« Reply #18 on: November 17, 2011, 08:06:39 AM »
Super 1000 times thank you   :-) :-) :-)

Super 1000 mal Danke