aşağıdaki kodu farklı elipslerde deniyorum ancak çok farklı sonuçlar alıyorum.
merkezden 30 90 150 210 270 330 derecelik açılarda çizgiler çizmesi gerekir ama olmuyor.
Kod:
(defun c:test ()
(command "undo" "be")
(if (setq ent (car (entsel "\n Elips seç: ")))
(progn (setq katsayi 0.8164965809
merkez (getpropertyvalue ent "Center")
aralik (* (getpropertyvalue ent "MajorRadius") katsayi)
aci30 0.523599
aci90 1.5708
aci330 5.75959
eAralik (* -1 aralik)
)
(command "COLOR" 1)
(command "LINE" merkez (polar merkez aci30 aralik) "")
(command "LINE" merkez (polar merkez aci90 aralik) "")
(command "LINE" merkez (polar merkez aci330 aralik) "")
(command "COLOR" 2)
(command "LINE" merkez (polar merkez aci30 eAralik) "")
(command "LINE" merkez (polar merkez aci90 eAralik) "")
(command "LINE" merkez (polar merkez aci330 eAralik) "")
)
)
(command "undo" "e")
)
Sadece tek bir çizgi yada daire yada yay çiziliyor ise oluşturduğununuz Autolisp programı düzgün çalışır genellikle. Fakat birden fazla çizgiler, yaylar vs var ise Autocad programı hemen saptırır düzgün çizim yapmaz!
Bu durumda çizim objesi kompleks yapılı bir cizimdir. Osmode sistem değişkenini program başında sıfırlamak ve program bitince tekrar eski haline getirmek gerekir. Teknik manada tecrübelemi paylaşmak istedim. :-)