20.05.2010 08:55    

ehya
Windows 7 işletim sisteminde Autocad 2011 kullananların en büyük sıkıntısı DIST komutunda hata vermesi. Bu komut kullanıldığında program hata vererek kapanıyor.
Autodesk bu konuda çözüm üretene kadar, geçici bir çözüm bularak DIST komutunu yeniden yazdım.
Artık sorunsuz bir dist komutumuz olacak :)


Kod:

(defun c:yeni_dist ()
(setq d1 (getpoint "\nSpecify first point:"))
  (if (= d1 nil)
  (progn)
  (progn
    (setq d2 (getpoint d1 "\nSpecify second point:"))
    (if (= d2 nil)
    (progn)
    (progn
      (setq dmz (getvar "dimzin"))
      (setvar "dimzin" 0)
      (setq dist (distance d1 d2))
      (setq ang (angtos (angle d1 d2)))
      (setq d1z (caddr d1)
    d2z (caddr d2))
(setq deltax (distance d1 (list (car d2) (cadr d1)))
      deltay (distance d1 (list (car d1) (cadr d2)))
      deltaz (abs (- (caddr d1) (caddr d2))))
      (if (= (distance (list (car d1)(cadr d1)) (list (car d2)(cadr d2))) 0)
(setq anglexy (rtos 0 2 (getvar "luprec")))
        (setq anglexy (angtos (atan (/ (abs (- (caddr d1)(caddr d2)))(distance (list (car d1)(cadr d1)) (list (car d2)(cadr d2))))))))
(if (< (car d1) (car d2)) (setq xis "")(setq xis "-"))
(if (= (car d1) (car d2)) (setq xis "")) 
(if (< (cadr d1) (cadr d2)) (setq yis "")(setq yis "-"))
(if (= (cadr d1) (cadr d2)) (setq yis "")) 
(if (< (caddr d1) (caddr d2)) (setq zis "")(setq zis "-"))     
(if (= (caddr d1) (caddr d2)) (setq zis "")) 
      (princ (strcat  "\nDistance = "(rtos dist 2 (getvar "luprec")) ",  "
    "Angle in XY Plane = " ang "   "
    "Angle from XY Plane = " anglexy
    "\nDelta X = " xis (rtos deltax 2 (getvar "luprec")) ",  "
    "Delta Y = " yis (rtos deltay 2 (getvar "luprec")) ",   "
    "Delta Z = " zis (rtos deltaz 2 (getvar "luprec"))
))))))
(setvar "dimzin" dmz)
(princ))

ehya (20.05.2010 10:00 GMT)

20.05.2010 09:25    

Harbi65
Bu DIST komutu hatası 64 bit sistemde oluşuyor. 32 bit Autocad 2011 de sorun yok.

20.05.2010 09:53    

ehya
ne yazık ki var. 2011 programını 32 bit windows7 bilgisayara yükledim. onda da hata veriyor.
Sadece windows7'de hata veriyor. Windows Xp'de hata vermiyor.

20.05.2010 10:51    

ProhibiT
Bir ara Türkçe işletim sisteminde mi hata veriyor diye düşünmüştük, Windows 7 hem Türkçe, hemde İngilizce de aynı hatayı veriyor...

Aklın yolu bir, Dist problemini çözemeyince bende bir Dist fonksiyonu yazmıştım...
Kod:

(defun c:di ()
  (setq p1 (getpoint "\specify first point ")
        p2 (getpoint p1 "\nSpecify second point or [Multiple points]:") dst (distance  p1 p2)
        deltax (- (car p2) (car p1)) deltay (- (cadr p2) (cadr p1))
        deltaz (- (caddr p2) (caddr p1))
        anglein (/ (* (angle p1 p2) 180.0) pi) anglefrom (/ (* (atan deltaz dst) 180.0) pi))
  (princ (strcat "\nDistance = " (rtos dst 2 (getvar "luprec"))))
  (princ (strcat ",  Angle in XY Plane = " (rtos anglein 2 (getvar "auprec"))))
  (princ (strcat ",  Angle from XY Plane = " (rtos anglefrom 2 (getvar "auprec"))))
  (princ (strcat "\nDelta X = " (rtos deltax 2 (getvar "luprec"))))
  (princ (strcat ",  Delta Y = " (rtos deltay 2 (getvar "luprec"))))
  (princ (strcat ",  Delta Z = " (rtos deltaz 2 (getvar "luprec")))) (princ)
)

ProhibiT (20.05.2010 11:03 GMT)

30.06.2010 21:53    

admin
Bu problem bende Windows 7 + AutoCAD 2010 kullanırken'de oluştu. Hem de programın çökme sıklığı giderek artıyor. Bilgisayarı yeni açtığımda 3-5 kez sorunsuz kullanıyorum, sonra hata verip kapanmaya başlıyor. AutoCAD 2011 nisbeten daha çok direniyor ancak o da 8-10 kullanımdan sonra hata verimeye başlıyor.

Gerçekten bu kadar düz bir komutta hata oluşması çok ilginç.

Bu yeni nesil dist komutunu ben de deneyeceğim. Eline sağlık Mehmet hocam.

> 1 <
Copyright © 2004-2022 SQL: 1.085 saniye - Sorgu: 54 - Ortalama: 0.02008 saniye