yoin

designer68

kan iemand mij een voorbeeld geven van een script om layers te veranderen?


ik heb een export uit een beheerpakket en wil graag voor intern gebruik layers veranderen met een scr. die ik run.

dus..... rename (oude layer) naar (nieuwe layer).

wie heeft hier een voorbeeld van?

groet jan-pieter

julien

Heb je al eens gekeken naar de werking van 'standards'?

designer68

nee dat ken ik niet.

wil je het uitleggen?


hulpje

HELAAS BESTAAT CADToppers.com niet meer
ACP-er (AutoDesk Certified Professional)

HofCAD

#4
Beste Designer68,

In een zuivere script waar geen AutoLisp uitdrukkingen staan kan dat niet,
omdat er dan geen beslissingen genomen kunnen worden.
Stel dat je oude lagen resp. de volgende namen hebben:
Layer1, Layer2, Layer3, Layer4, Layer5 en Layer6.
Stel dat deze respectievelijk  veranderd moeten worden naar de volgende namen:
Ln-018, Ln-025, Ln-035, Ln-050, Ln-070 en Ln-100".
Dan zou je dat kunnen doen met:
(defun C:OldLay2NewLay (/ OldLayLst NewLayLst i OldLay NewLay)
 (setq
   OldLayLst '("Layer1" "Layer2" "Layer3" "Layer4" "Layer5" "Layer6")
 )
 (setq
   NewLayLst '("Ln-018" "Ln-025" "Ln-035" "Ln-050" "Ln-070" "Ln-100")
 )
 (setq i 0)
 (repeat (length OldLayLst)
   (setq OldLay (nth i OldLayLst)
 NewLay (nth i NewLayLst)
   )
   (if (and (tblsearch "LAYER" OldLay)
    (not (tblsearch "LAYER" NewLay))
)
     (command "_.RENAME" "_LA" OldLay NewLay)
   )
   (setq i (1+ i))
 )
 (princ)
);;End OldLay2NewLay

of

(defun C:OldLay2NewLay2 (/ OldNewLayLst i OldLay NewLay)
 (setq OldNewLayLst
'(
  ("Layer1" "Ln-018")
  ("Layer2" "Ln-025")
  ("Layer3" "Ln-035")
  ("Layer4" "Ln-050")
  ("Layer5" "Ln-070")
  ("Layer6" "Ln-100")
 )
 )
 (setq i 0)
 (repeat (length OldNewLayLst)
   (setq OldLay (car (nth i OldNewLayLst))
 NewLay (cadr (nth i OldNewLayLst))
   )
   (if (and (tblsearch "LAYER" OldLay)
    (not (tblsearch "LAYER" NewLay))
)
     (command "_.RENAME" "_LA" OldLay NewLay)
   )
   (setq i (1+ i))
 )
 (princ)
);;End OldLay2NewLay2


Met vriendelijke groet, HofCAD CSI.

PS1 Zie attachment voor Lisp en Scripts.
PS2 http://www.cadsite.be/smf/index.php?topic=1509.msg8061#msg8061 en
http://www.cadsite.be/smf/index.php/topic,1481.0.html
ACADcadabra

designer68

mensen,


dank voor jullie oplossingen
ik ga de lisp routines verder aanpassen om te gebruiken.


groet,
jan-pieter

FastFiber