13.10.2022 07:24    

kevren
Merhabalar;
Daha önce Polyline alan ve çevreyi field olarak polyline objelerin ağırlık merkezlerine yazan bir lisp paylaşılmıştı. Bu lispi ihtiyacım doğrultusunda uyarlayarak seçilen polylineların alan ve layerlarını yazdırdım. Yardımcı olursanız linelara da aynı şekilde layerlarını yazdırmak isterim. 424693-laya.lsp

13.10.2022 07:35    

ehya
Merhaba.

Line nesnelerinin alanları olmaz. Kapalı alan oluşturan line nesnelerinin alanını bu lisp ile hesaplatamazsınız. Her halükarda kapalı bir nesne türü (polyline, region, spline, hatch v.s.) olmalı.

13.10.2022 07:57    

kevren
Line ların layerlarını yazdırmak istemiştim kendimi tam ifade edemedim sanırım :)

13.10.2022 09:01    

ehya
Line nesnelerinin layer'ı çizginin neresine yazdırılacak?

13.10.2022 10:08    

kevren
Çizginin orta noktasına yazması benim için yeterlidir.

kevren (13.10.2022 10:14 GMT)

13.10.2022 11:02    

ehya
Komut ismi LLA

Kod:

(defun c:LLA (/ lsec c say tek data d10 d11 lyr yer oid txh aci)
(if (setq lsec (ssget (list (cons 0 "LINE"))))
  (progn
    (setq c 0 say (sslength lsec) ysecim (ssadd))
    (while (< c say)
      (setq tek (ssname lsec c)
    data (vlax-ename->vla-object tek)
    d10 (cdr (assoc 10 (entget tek)))
    d11 (cdr (assoc 11 (entget tek)))
    lyr (cdr (assoc 8  (entget tek)))
    yer (polar d10 (angle d10 d11)(/ (distance d10 d11) 2.0))
    oid (itoa (vla-get-ObjectID data))
    txh (getvar "TextSize"))
      (if (< (car d10)(car d11))
(setq aci (angle d10 d11))
(setq aci (angle d11 d10)))
(entmake (list (cons 0 "Text") (cons 10 yer) (cons 40 txh)
                   (cons 1 (strcat "%<\\AcObjProp Object(%<\\_ObjId " oid ">%).Layer>%"))
                 (cons 50 aci) (cons 72 1) (cons 11 yer))) (ssadd (entlast) ysecim)
(command "_.UpdateFieLd" ysecim "")     
(setq c (1+ c))
)))(princ))

13.10.2022 11:49    

kevren
Teşekkür ederim elinize sağlık

> 1 <
Copyright © 2004-2022 SQL: 1.636 saniye - Sorgu: 64 - Ortalama: 0.02556 saniye