Ik heb meerdere (enkele 100en) tekeningen van leveranciers waarin een aantal exotische lijntypes zijn gebruikt waarvan ik het bronbestand (.lin) niet heb en die in een andere schaal dan onze gebruikelijke lijntypes zijn gedefinieerd. Deze diverse lijntypes zijn in veel blocks gebruikt, maar op slechts een paar layers, zodat linetype by layer geen optie is. Liefst vervang ik die exotische lijntypes door standaard lijntypes ipv ze aan te passen naar de juiste schaal.
Wat ik dus betracht is om lijntype x (ook in blocks) te vervangen door lijntype y.
Heeft iemand een oplossing of kan iemand me op de goede weg naar een oplossing zetten?
Script? LISP? VBA? ...
Hopelijk is mijn vraag een beetje duidelijk zo.
Ik gebruik AutoCAD 2012.
je kan dat zo ingewikkeld oplossen als je wilt,
maar waarschijnlijk kan dit ook lukken met quick select
Misschien is het commando "STANDARDS" een optie?
Hiermee kun je lijntypes vervangen door een ander lijntype. Dit werkt ook in blocks.
Je moet wel even een .dws file aanmaken met wat lijntypes erin welke je wil gebruiken (lijntype Y).
Waarschijnlijk kun je dit commando ook verwerken in een lisp/macro...
Hopelijk kun je hier wat mee
Citaat van: delangstevandestraat op ma 16 11 2015, 12:16:17
maar waarschijnlijk kan dit ook lukken met quick select
Merci voor je reactie.
qselect in blocks? Hoe doe je dat?
Zou wel handig en vooral eenvoudig zijn mocht dit ook in blocks werken.
Citaat van: AdenRob op ma 16 11 2015, 13:49:13
Misschien is het commando "STANDARDS" een optie?
Merci voor je reactie.
Zal dit eens grondig bestuderen, want dit ken ik (nog) niet.
Citaat van: AdenRob op ma 16 11 2015, 13:49:13
Misschien is het commando "STANDARDS" een optie?
Dit is een handige functie, maar voor dit specifieke geval niet de meest ideale oplossing die ik zoek.
heb het zo opgelost:
(vl-load-com)
(command "_undo" "begin")
(vlax-for b (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
(if (and
(= :vlax-false (vla-get-islayout b))
(= :vlax-false (vla-get-isxref b))
)
(vlax-for o b
(if (and
(wcmatch (setq n (vla-get-linetype o)) "oldLT")
(setq n "hidden")
(tblsearch "LTYPE" n)
)
(vl-catch-all-apply 'vla-put-linetype (list o n))
)
)
)
)
(command "regenall")
(command "_undo" "end")
(princ)
Bron: http://www.cadtutor.net/forum/showthread.php?76193-Replace-LINETYPE-with-another-one-in-dwg-and-all-blocks-inside (http://www.cadtutor.net/forum/showthread.php?76193-Replace-LINETYPE-with-another-one-in-dwg-and-all-blocks-inside)