Ik heb een bepaalde tekening met daarin nogal wat blokken met daarin objecten in de meest uiteenlopende 'linetypes'..
Graag had het lijntype van al die objecten in 1 beweging omgezet in 'continious line' .. hoe doe ik dat makkelijkst?
groeten,
Manu
Ja inderdaad wel erg irritant. Ik weet niet of deze lijnen allemaal in dezelfde layer staan?
Anders is het mogelijk om dit te wijzigen met 'quick select'.
Is dit niet het geval dan kun je gewoon in de 'layer properties manager' met de shift toets ingehouden alle layers selecteren die je moet hebben.
Eens alle layers zijn geselecteerd klik je op de linetype en dan cont... hiermee veranderen ze allemaal in één keer.
Zijn het vaste blocks in je tekening weet ik er ook geen raad mee hoor--> explode maar dit is nogal drastisch
Vriendelijke groeten
set in de layer properties alle lijntypes op cont...
sla de tekening op
type laytrans
laad de zo juist opgeslagen tekening in het rechter venster
klik op map same
zorg dat onder settings ook het aanpassen van de blocken staat aangevinkt
druk op oke
en alles staat bylayer
Onderstaande lisp-routine vond ik ooit op internet. Hij start direct als hij geladen wordt en zet alle eigenschappen van alle blokken op bylayer. Misschien heb je hier iets aan.
Reimer
;;; File Name: Layerfix.LSP
;;; Description: Changes the block definitions to BYLAYER . Will skip all
;;; XREF & XREF dependent blocks.
;;;
;;; Global Variables: None
;;;
;;; Local Variables: Self-explanatory
;;;
;;; Program Arguments: None
;;; Subroutines/Functions Defined or Called: None
;;;
;;;***************************************************************************
(defun LAYERFIX (/ BLKDATA NEWCOLOR NEWCOLOR NEWLAYER LAYER XREFFLAG XDEPFLAG BLKENTNAME
COUNT ENTDATA ENTNAME ENTTYPE OLDCOLOR OLDLAYER SSCOUNT SS)
(command ".undo" "group")
(setq BLKDATA (tblnext "BLOCK" t))
(setq NEWCOLOR (cons 62 256)) ;this will set 62 (color) to bylayer
; (setq NEWLAYER (cons 8 "0")) ;this will set 8 (layer) to 0
; While there is an entry in the block table to process, continue
(while BLKDATA
(prompt "\nRedefining colors for block: ")
(princ (cdr (assoc 2 BLKDATA)))
; Check to see if block is an XREF or is XREF dependent
(setq XREFFLAG (assoc 1 BLKDATA))
(setq XDEPFLAG (cdr (assoc 70 BLKDATA)))
; If block is not XREF or XREF dependent, i.e., regular block, then proceed.
(if (and (not XREFFLAG) (/= (logand XDEPFLAG 32) 32))
(progn
(setq BLKENTNAME (cdr (assoc -2 BLKDATA)))
(setq COUNT 1)
(terpri)
; As long as we haven't reached the end of the block's defintion, get the data
; for each entity and change its color assignment to BYLAYER.
(while BLKENTNAME
(princ COUNT)
(princ "\r")
(setq ENTDATA (entget BLKENTNAME)); get entities data
(setq OLDCOLOR (assoc 62 ENTDATA)) ;get entities old color value
(if OLDCOLOR ; if value exist (null = bylayer)
(entmod (subst newcolor oldcolor ENTDATA)) ; substitute old color to byblock
(entmod (cons newcolor ENTDATA)) ; modify ent data w/ byblock values
)
(setq BLKENTNAME (entnext BLKENTNAME)) ;if attributes exist, then edit next one
(setq COUNT (+ COUNT 1));
) ;end while for attribute trap
) ;progn
(progn
(princ " XREF...skipping!")
) ;progn
);end if not an Xref
(setq BLKDATA (tblnext "BLOCK")) ;next block please
) ;end while loop of blk data available to edit
(command ".undo" "end")
(command ".regen")
(PROMPT "\nDone... ")
(princ)
)
(LAYERFIX)