Yeni bir başlık gönderCevap gönder 1. sayfa (Toplam 1 sayfa)   [ 2 mesaj ]
Yazar Mesaj
 Mesaj Başlığı: Adeko IntelliCAD7.2 R2014 de çalışmayan lispler
MesajGönderilme zamanı: 09 Nis 2014 17:26 

Kayıt: 09 Ara 2009 13:12
Mesajlar: 8
Konum: Turkey
Merhaba,
Adeko IntelliCAD 2009 kullanıcısıyım. Adeko IntelliCAD7.2 R2014 kurdum.

Eski versiyonda kullandığım ve Geometrik merkezi bulup işaretleyen LISP programı yeni versiyonda çalışmıyor.


;;;=============================================================================
;;; AÇIKLAMA
;;;
;;; Bu program, Geometrik merkezi tespit eder
;;;
;;;----------------------------------------------------------------------------

;From CADENCE Magazine March , 1991
;Page 106


(defun C:yy (/ MECHO CECHO ss1 ur ll dx magn EAi Eli Elixi Eliyi
Eli3 Elixi2 Eliyi2 Inax Inay Ixx Iyy width xname
tbdata ename elist n pt1 pt2 li Ai xi yi Xcg Ycg
cmass delta accu)
(progn
(setq mecho (getvar "MENUECHO")
cecho (getvar "CMDECHO"))
(setvar "MENUECHO" 5) ; No echo
(setvar "CMDECHO" 0)
(prompt "Sınırları oluşturan nesneleri seçin: ")
(setq ss1 (ssget)) ; Select area
(setq ur (car (getvar "VSMAX"))) ; x-coord of ur
(setq ll (car (getvar "VSMIN"))) ; x-coord of ll
(setq dx (abs (- ur ll))) ; dx is width of screen

(setq accu (getint "\nHassasiyet <600>: "))
(if (null accu) (setq accu 600))
(setq magn (/ dx accu)) ; magn controls accuracy, 200 to 600 gives-
; good results
;; Note : Higher numbers (magn lower) mean slower processing
;; but more accuracy!
(command "_.HATCH" "ANSI31" magn -45 ss1 "")
(prompt "Hesaplanıyor...")
(setq eli 0
elixi 0
eliyi 0
eai 0
eli3 0
eliyi2 0
elixi2 0)
(setq width (/ magn 8)) ; Width of slices
(setq xname (cdr (assoc 2 (entget (entlast)))))
(setq tbdata (tblsearch "BLOCK" xname))
(setq ename (cdr (assoc -2 tbdata)))
(setq elist (entget ename))
(setq n 1)
(while (entnext (cdr (assoc -1 elist))) ; Go through all lines in hatch
(setq elist (entget (entnext (cdr (assoc -1 elist)))))
(setq pt1 (cdr (assoc 10 elist))) ; One endpoint of hatch line i
(setq pt2 (cdr (assoc 11 elist))) ; Other endpoint of hatch line i
(setq li (distance pt1 pt2)) ; Length of slice
(setq ai (* width li)) ; Area of slice
(setq xi (/ (+ (car pt1) (car pt2)) 2)) ; x-coord. of CM of slice
(setq yi (/ (+ (cadr pt1) (cadr pt2)) 2)) ; y-coord. of CM of slice
(setq eai (+ eai ai)) ; Sum up area of slices
(setq eli (+ eli li)) ; Sum up lengths of slices
(setq eli3 (+ eli3 (* li li li))) ; Sum over (li * li * li * xi)
(setq elixi (+ elixi (* li xi))) ; Sum over (li * xi)
(setq eliyi (+ eliyi (* li yi))) ; Sum over (li * yi)
(setq elixi2 (+ elixi2 (* li xi xi))) ; Sum over (li * xi * xi)
(setq eliyi2 (+ eliyi2 (* li yi yi))) ; Sum over (li * yi * yi)
(if (= (rem n 70) 0)
(prompt ".")
) ; Show that program is working
(setq n (1+ n))
) ; End of while
(setq xcg (/ elixi eli)
ycg (/ eliyi eli)) ; Center of mass/area
(setq ixx (+ (/ (* width width width eli) 12) (* width eliyi2)))
(setq iyy (+ (/ (* width eli3) 12) (* width elixi2)))
(setq inax (- ixx (* eai ycg ycg))) ; Moment of Inertia around x-NA
(setq inay (- iyy (* eai xcg xcg))) ; Moment of Inertia around y-NA
(command "_.ERASE" "_L" "") ; Wipe out hatch
(prompt "Bitti\n\n")
(write-line "")
(setq cmass (strcat (rtos xcg 2 2) "," (rtos ycg 2 2)))
(command "_.CIRCLE" cmass (/ dx 70))
; m ; Radius of circle fixed
(setq delta (/ dx 50)) ; Size of cross fixed
(setq pt1 (list (- xcg delta) ycg)) ; The following lines draw
(setq pt2 (list (+ xcg delta) ycg)) ; a cross on the center
(command "_.LINE" pt1 pt2 "") ; of mass/area/neutral axis
(setq pt1 (list xcg (- ycg delta)))
(setq pt2 (list xcg (+ ycg delta)))
(command "_.LINE" pt1 pt2 "")
(redraw)
(textscr)
(prompt (strcat "Ağırlık Merkezi(x,y)= " cmass " Alan= " (rtos eai 2 2)))
(write-line "")
(prompt (strcat "Ixx (x-nötral eksen)= " (rtos inax 2 3) " Iyy (y-nötral eksen)= "
(rtos inay 2 3)
)
)
(write-line "") ; Write results on screen
(prompt (strcat "Ixx (x-global eksen)= " (rtos ixx 2 3) " Iyy (y-global eksen)= "
(rtos iyy 2 3)
)
)
(write-line "") ; Write results on screen
(setvar "MENUECHO" mecho) ; Set former values again
(setvar "CMDECHO" cecho)
(princ) ; Clean finish
) ; progn
)
; defun C:2DCM


Başa Dön
 Profil  
 
 Mesaj Başlığı: Re: Adeko IntelliCAD7.2 R2014 de çalışmayan lispler
MesajGönderilme zamanı: 10 Nis 2014 18:16 
Site Admin

Kayıt: 07 Oca 2002 13:14
Mesajlar: 1085
Konum: Turkey
Bu problem, IntelliCAD'in (ve dahi AutoCAD'in) veritabanı yapısında gerçekleşen bir değişiklikten kaynaklanıyor.

Bunun kestirme bir çözümü maalesef yok.

Ya internetten bu lispin yeni bir versiyonunu bulacaksınız (ki bu hayli eski) ya da IntelliCAD'in Pro versiyonunu edineceksiniz.

Pro versiyonda ağırlık merkezi, atalet momentleri, jirasyon yarıçapları gibi hesapları yapan MASSPROP komutu bulunuyor.


Başa Dön
 Profil  
 
Eskiden itibaren mesajları göster:  Sırala  
Yeni bir başlık gönderCevap gönder 1. sayfa (Toplam 1 sayfa)   [ 2 mesaj ]


Kimler çevrimiçi

Bu forumu gezen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 8 misafir


Bu foruma yeni başlıklar gönderemezsiniz
Bu forumdaki başlıklara cevap veremezsiniz
Bu forumdaki mesajlarınızı düzenleyemezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu foruma eklentiler gönderemezsiniz

Aranacak:
Geçiş yap:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
610nm Style by Daniel St. Jules of Gamexe.net


Türkçe çeviri: phpBB Türkiye