ADeko Technologies
http://www.adeko.com/phpBB3/

IntelliCAD ve AutoCAD - LISP ve DCL Farklari
http://www.adeko.com/phpBB3/viewtopic.php?f=7&t=38
1. sayfa (Toplam 1 sayfa)

Yazar:  Admin [ 07 Eyl 2001 12:25 ]
Mesaj Başlığı:  IntelliCAD ve AutoCAD - LISP ve DCL Farklari

1) Çizimde tanımlı olan bir blokla aynı ismi taşıyan diskdeki bir çizim "insert" edilmeye çalışılınca "Çizimde aynı isimli bir blok var. Yeniden tanımlayayım mı?" sorusu çıkıyor. AutoCAD bu soruyu sormaz doğrudan çizimde tanımlı bloğu kullanır.
Örnek: Çizimde MYBLOK isimli bir blok daha önceden tanımlanmış olsun. ve aynı zamanda diskde "MYBLOK.DWG" isimli bir çizim dosyası var olsun.
[code](command "INSERT" "MYBLOK.DWG" '(0 0 0) 1 "" "")[/code]
İşlemi çağırıldığında:
AutoCAD: Çizimde MYBLOK bloğu tanımlı değilse dwg dosyasını, tanımlıysa bloğu yerleştirir.
IntelliCAD: Çizimde MYBLOK bloğu tanımlı değilse dwg dosyasını yerleştirir. Tanımlıysa çizimi mi bloğu mu yerleştireceğini sorar. Eğer EXPERT modu 2 ise AutoCAD gibi davranır.
Çözüm: Aşağıdaki kod her iki programda da doğru çalışır.
[code](if (tblsearch "BLOCK" "MYBLOK")
(command "INSERT" "MYBLOK" '(0 0 0) 1 "" "")
(command "INSERT" "MYBLOK.DWG" '(0 0 0) 1 "" "")
)[/code]
veya
[code](setvar "EXPERT" 2)
(command "INSERT" "MYBLOK" '(0 0 0) 1 "" "")
(setvar "EXPERT" 0)[/code]

2) intelliCAD lisp'inde tüm bir komut işlemi parçalanarak yazılıyorsa seçim kümesi tek başına bir (command ...) satırında yer alamaz
Örnek:
[code];AutoCAD
(defun c:MM ()
(setq set (entlast))
(command "MOVE")
(command set) ;***
(command "") ;***
(command '(10 10 0))
(command "")
)

;intelliCAD
(defun c:MM ()
(setq set (entlast))
(command "MOVE")
(command set "") ;***
(command '(10 10 0))
(command "")
)[/code]

3) (tblnext "block") işlemi, (command "insert" "*dwgfile" ...) işleminden sonra çağırılırsa nil döndürür.
Çözüm:
[code](command "insert" "*dwgfile" ...)[/code] işleminden sonra [code](tblsearch "block" bnam T)[/code] işlemini çağırın.

4) DCL içinde diyalog kutusu birimlerine kullanıcı tanımlı değer atamaya yarayan <b>client_data_tile</b> fonksiyonu intellicad içinde çalışmıyor

5) <b>wcmatch</b> 'ın tüm opsiyonları intellicad içinde autocad'deki gibi çalışmayabilir

6) <b>slide_image</b> da ebad farklılıları olabilir

7) (command "<b>STYLE</b>" ....) işlemi autocad içinden çağırıldığında otomatik olarak text moduna geçer. intelliCAD içinde (command "<b>-STYLE</b>" ....) olarak kullanmak gerekir.

8) <b>DIM</b> komutunun alt komutlarınının tam adlarını yazmak gerekebilir
[code](command "DIM" "VERTICAL")[/code] gibi.

9) <b>HATCH</b> komutunun alt seçeneklerini sorma siralamasi intellicad'de biraz farkli

10) IntelliCAD'de lisp parametrelerinize komut isimleri ile aynı ismi vermeyin. Örneğin aşağıdaki kod hata üretir:
[code](defun c:bikomut (/ <b>redraw</b>)
(command "<b>REDRAW</b>")
)
[/code]
11) Lisp kodunuzda <font color="red">OFFSET </font id="red">komutlarını <font color="green">PARALLEL</font id="green">, <font color="red">PLINE </font id="red">komutlarını ise <font color="green">POLYLINE </font id="green">olarak değiştirin

Yazar:  Destek/Support [ 05 Şub 2008 17:22 ]
Mesaj Başlığı: 

Bir önemli nokta da şu.

Yazılan lisplerin tüm dillerde çalışmasını garanti etmek için komut ve altkomut adlarının başına altçizgi "<b><font color="blue">_</font id="blue"></b>" koymak gerekir.
Yani <font color="blue">(command "ZOOM" "P")</font id="blue"> yerine <font color="blue"><b>(command "_ZOOM" "_P")</b></font id="blue"> yazdığınızda bu komut hangi dilde olursa olsun tüm IntelliCAD (ve dahi AutoCAD)'lerde çalışır.

1. sayfa (Toplam 1 sayfa) Tüm zamanlar UTC + 2 saat [ GITZ ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/