CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: Jon Tampon op vr 28 10 2011, 15:49:55

Titel: Set by linetype scale (OPGELOST)
Bericht door: Jon Tampon op vr 28 10 2011, 15:49:55
Beste,

Is het mogelijk om alle lijnen in uw tekening op dezelfde linetype scale te krijgen?
M.a.w. is er hier ook een code voor zoals SETBYLAYER

(Er bestaat ook zoiets als SETBYLAYERMODE
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/index.html?url=WS73099cc142f48755f4934710e5a6d1928-779b.htm,topicNumber=d0e355573

Bij mij is deze op 255 ingesteld, en deze staat niet in de lijst :s
linetype scale staat echter ook niet in deze lijst..)


Dank bij voorbaat.
Titel: Re: Set by linetype scale
Bericht door: roy_043 op vr 28 10 2011, 21:01:28
Het getal 255 is een zogenaamde 'bitcoded integer':
1+2+4+8+16+32+64+128=255
255 betekent dat alle opties in de lijst (en ook de niet vermelde optie 128) zijn ingeschakeld.

128=Transparency property
Zie:
http://docs.autodesk.com/ACD/2011/ENU/filesACR/WS73099cc142f48755f4934710e5a6d1928-779b.htm

Probeer deze lisp:
(defun c:CHLTS ( / ltscale ss)
  (if
    (and
      (setq ss (ssget "_X" '((0 . "*LINE")))) ; lines and polylines
      (setq ltscale (getreal "\nNew linetype scale: "))
    )
    (progn
      (setvar 'cmdecho 0)
      (vl-cmdf
        "_.chprop"
        ss
        ""
        "_ltscale"
        ltscale
        ""
      )
      (setvar 'cmdecho 1)
    )
  )
  (princ)
)
Titel: Re: Set by linetype scale
Bericht door: Jon Tampon op wo 02 11 2011, 08:37:28
Bedankt roy,

Ik ben wel niet zo goed met lisps, is er een commando in autocad om hetzelfde te doen wat jou lisp doet, of gaat dit enkel met lisps?
Titel: Re: Set by linetype scale
Bericht door: roy_043 op wo 02 11 2011, 08:57:44
Het is mogelijk om m.b.v. het FILTER commando alle (poly-)lijnen te selecteren t.b.v. het CHPROP commando. De lisp doet in feite hetzelfde.
Titel: Re: Set by linetype scale (OPGELOST)
Bericht door: Jon Tampon op wo 02 11 2011, 09:06:07
Dat is het. Opgelost.

Met het CHPROP commando heb ik alles geselecteerd en dan ltscale van alle op 1 kunnen zetten.

Bedankt roy