FastFiber

informatie van de ene laag overzetten naar een andere laag

Gestart door marcelmaas, ma 04 01 2010, 09:51:29

Vorige topic - Volgende topic

marcelmaas

Hi en allemaal nog de beste wensen voor dit nieuwe jaar..!!!

Ik zou graag alles wat op bijvoorbeeld laag 'test1' is getekend overzetten naar bijvoorbeeld laag 'test5'

Om daarna ook automatisch laag 'test1' automatisch te verwijderen!

Zou iemand mij hiermee opweg kunnen helpen?

groeten Marcel..

cetacad

(defun C:clayer-dellayer ()
(setvar "CMDECHO" 0)

(setq q1 nil)
(while (= q1 nil)(progn
(princ "\nSelecteer een objekt op de te wijzigen laag ...")
(setq q1(entsel"\n "))
))
(setq oudelaag (cdr(assoc 8(entget(car q1)))))

(setq q2 nil)
(while (= q2 nil)(progn
(princ "\nSelecteer een objekt op de gewenste laag ......")
(setq q2(entsel"\n "))
))
(setq nieuwelaag (cdr(assoc 8(entget(car q2)))))

(setq sset (ssget "X"))
(setq L 0
       N (sslength sset))
(while (< L N) 
   (progn
   (setq e (entget(ssname sset L)))
   (setq e-laag (cdr(assoc 8 e)))
(if (= e-laag oudelaag)(progn
(setq e (subst (cons 8 nieuwelaag)(assoc 8 e) e))
(entmod e)
))
   (SETQ L (+ 1 L))
);progn
);while

         (princ "\nElementen worden veranderd naar layer ")
         (princ nieuwelaag)


(command ".layer" "del" oudelaag "")


   (setvar "CMDECHO" 1)
   (prin1)
)

EddyBeerke

Het commando: "LAYMRG" is misschien wat je zoekt.
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

roy_043

De aanzet van cetacad is op zichzelf goed (al is het lisp i.p.v. VBA). Er wordt echter geen rekening gehouden met blocks. Hierin "zitten" immers ook lagen (zowel in de BLOCK-entities zelf, als in de geneste enitities).

marcelmaas

Inderdaad zoals Roy_43 al zei is het Lisp ipv Vba.
En het verhaal van die blocken die zo niet geselecteerd worden is natuurlijk ook wel belangrijk.

Is er iemand die het met Vba zou kunnen en dan wel rekening houdend met de lagen binnen blocken?

groeten Marcel..

EddyBeerke

Laymrg doet precies wat je wilt.
Het voegt een laag samen en verwijdert de lege laag als je dat wilt.
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/