12.01.2024 17:32    

akcan
amacım içi SOLID ile taralı yarıçapı 1 olan çemberden oluşan bir blok yapmaktı.
tarama kodlarını sildiğimde çemberden oluşan blok oluşuyor ama tarama kodlarında bir sorun var tarama kodlarıyla blok oluşmuyor.

Kod:

(if (not (tblsearch "BLOCK" "NKT"))
(progn
  (entmake ; blok ekle
(list
  (cons 0 "BLOCK")
(cons 100 "AcDbEntity")
(cons 67 0) ; model space
;(cons 8 "0") ; Katman 0
(cons 100 "AcDbBlockReference")
(cons 2 "NKT") ; Blok adı
(cons 10 '(0 0 0)) ; Baz nokta
(cons 70 0)
)
)
(entmake ; çember
  (list
  (cons 0 "CIRCLE")
(cons 100 "AcDbEntity")
(cons 10 '(0.0 0.0 0.0)) ; Merkez noktası
(cons 67 0)
(cons 40 1) ; Yarıçap
)
)
(entmake ; tara
  (list
                    (cons 0 "HATCH")
    (cons 100 "AcDbHatch")
    (cons 100 "AcDbEntity")
    (cons 2 "SOLID") ; Desen adı
    (cons 10 '(0.0 0.0 0.0)) ; Merkez noktası
                    (cons 40 1)
    (cons 70 1) ;solid fill
    (cons 76 1)
    (cons 210 '(0.0 0.0 1.0))
    (cons 71 1)
    (cons 67 0)
  )
)
(entmake '((0 . "ENDBLK") (100 . "AcDbBlockEnd") (8 . "0")))
)
)

12.01.2024 19:03    

alumina
Alıntı
akcan :

Ve aleykum selam, sizede merhaba.....

13.01.2024 11:28    

akcan
herkese merhaba. size de merhaba @alumina

13.01.2024 12:57    

ProhibiT
Hatch nesnesi yuvarlak olduğunda, (40 . 1) şeklinde çapını tanımlandıktan sonra...
(50 . 0.0) ile StartAngle ve (51 . 6.28319) ile EndAngle tanımlanması gerekir. StartAngle Ve EndAngle değerleri radyan biriminde olacaktır. verdiğim örnekte 0'dan başlayıp 2pi Radyan yani 360 derece alınmıştır.

Size bir ipucu, çemberin içine Solid Hatch oluştururken, tamamını doldurmak zorunda değilsiniz.

Kolay gelsin.

13.01.2024 14:03    

akcan
teşekkürler ProhibiT
verdiğiniz kodları ekledim ama yine blok oluşmadı
hatta ekstra bazı kodlar daha ekledim ama işe yaramadı
Kod:

(cons 50 0.0) ; StartAngle
(cons 51 6.28319) ;EndAngle 2*pi

(cons 410 "Model")
(cons 91 1)
(cons 92 7)
(cons 72 1)
(cons 73 1)
(cons 93 2)
(cons 42 1.0)
(cons 97 1)
(cons 75 1)
(cons 47 0.00855958)
(cons 98 1)

13.01.2024 17:28    

akcan
şöyle bir çözüm buldum. işe yaradı. istediğim blok oluştu.
autocad çizim alanında 0,0 koordinatına r=1 olan bir çember çizip hatch ile içini doldurdum. SOLID deseni ile.
Kod:

(entget (car(entsel)))

ile taralı nesnenin tüm özelliklerini listeledim.
bu listedeki tüm özellikleri entmake'e ekledim.
kodların son hali:
Kod:

(if (not (tblsearch "BLOCK" "NKT"))
(progn
  (entmake ; blok ekle
   '(
     (0 . "BLOCK")
     (100 . "AcDbEntity")
     (67 . 0) ; model space
     (100 . "AcDbBlockReference")
     (2 . "NKT") ; Blok adı
     (10 0 0 0) ; Baz nokta
     (70 . 0)
     )
   )
  (entmake ; çember
   '(
     (0 . "CIRCLE")
     (100 . "AcDbEntity")
     (10 0.0 0.0 0.0) ; Merkez noktası
     (67 . 0)
     (40 . 1) ; Yarıçap
     )
   )
  (entmake ; tara
   '(
     (0 . "HATCH")
     (100 . "AcDbEntity")
     (67 . 0)
     (410 . "Model")
     (8 . "0")
     (100 . "AcDbHatch")
     (10 0.0 0.0 0.0)
     (210 0.0 0.0 1.0)
     (2 . "SOLID")
     (70 . 1)
     (71 . 0)
     (91 . 1)
     (92 . 7)
     (72 . 1)
     (73 . 1)
     (93 . 2)
     (10 1.0 0.0 0.0)
     (42 . 1.0)
     (10 -1.0 0.0 0.0)
     (42 . 1.0)
     (97 . 0)
     (75 . 1)
     (76 . 1)
     (47 . 0.0564485)
     (98 . 1)
     (10 0.0 0.0 0.0)
     (450 . 0)
     (451 . 0)
     (460 . 0.0)
     (461 . 0.0)
     (452 . 0)
     (462 . 1.0)
     (453 . 2)
     (463 . 0.0)
     (63 . 5)
     (421 . 255)
     (463 . 1.0)
     (63 . 2)
     (421 . 16776960)
     (470 . "LINEAR")
     )
   )
  (entmake '((0 . "ENDBLK") (100 . "AcDbBlockEnd") (8 . "0")))
  )
)

akcan (14.01.2024 06:19 GMT)

> 1 <
Copyright © 2004-2022 SQL: 1.721 saniye - Sorgu: 60 - Ortalama: 0.02868 saniye