Wij gaan van lintypes lts=10 over op linetypes lts=10?
Ik zoke een tool waarmee ik lijntype def. kan overschrijven...
Als ik doe dmv een blockmethode waarin ik de linetypes heb gedefinieer krijg ik onderstaande melding
Linetype(s) added. Duplicate definitions will be ignored
.. dit werkt dus niet Idem met Designcenter..
Weet iemand een manier / lisp om lintypes met dezelfde definitie te overschrijven?
************
(defun c:ins_RH-iso_lin () ; linetypes lts=10
(setvar "cmdecho" 0)
(command ".insert" "RH-iso_lin.dwg" "0,0" "1" "1" "0") ; template voor inladen linetypes
(setq ss (ssget "X" '((2 . "RH_iso_lin")))) ; del block
(command "erase" ss "")
(command "-purge" "b" "RH-iso_lin" "n") ; houd linetypes over
(command "-purge" "d" "RH-iso_lin" "n")
(command "-purge" "st" "RH-iso_lin" "n")
(setvar "cmdecho" 0))
(defun c:ins_acad_lin () ; linetypes lts=1
(setvar "cmdecho" 0)
(command ".insert" "acad_lin.dwg" "0,0" "1" "1" "0") ; template voor inladen linetypes
(setq ss (ssget "X" '((2 . "acad_lin")))) ; del block
(command "erase" ss "")
(command "-purge" "b" "acad_lin" "n") ; houd linetypes over
(command "-purge" "d" "acad_lin" "n")
(command "-purge" "st" "acad_lin" "n")
(setvar "cmdecho" 0))
Kan je hier niet met het commando linetype werken vanuit je lisp
Misschien helpt dit u al beetje vooruit:
deze routine heeft u een lijst terug van alle aanwezige linetypes in uw tekening,
en als je er eentje kiest verwijderd hij die ook... van hieraf misschien verder bouwen....?
  (vl-load-com)
  (setq acadobject (vlax-get-Acad-Object))
  (setq activedocument (vla-get-activedocument acadobject))
  (setq LinetypeTable (vla-get-Linetypes activedocument))
  (vlax-for each LinetypeTable
   (setq thelist (cons (vla-get-Name each) thelist)))
  (if thelist (reverse thelist))
  (prompt "\nVolgende lijntypes werden gevonden: \n")(princ thelist)(princ)
  (setq dellnt (getstring "\nWelke wil je verwijderen?"))
  (vlax-for dellnt (vla-get-linetypes activedocument)
  (vl-catch-all-apply 'vla-delete (list dellnt))
 )
Bedankt,
Hier kan ik wel wat mee...
Je kunt inderdaad met commando-benadering maar dit gaat sosm wel lastig omdat ie elke keer vraagt (per linetype)... overwrite (y/n) .. er is geen optie overwrite all zoals je dat in je dialoogje wel krijgt.
Dit is dus latig te omzeilen
Misschien lukt het met jouw code ... beter ...
dat is op te lossen door de systeem variabel EXPERT tydelijk anders in te stellen
voor alle lijntype's gebruik je een wildcard *
bedankt voor deze mooie tip..