Sosyal Medya

Bülten Aboneliği
*  E-posta adresiniz:



* Güvenlik kodu:
Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] > 44 <
İleti Yazar
20.01.2017 21:58
84566      
yazgunesi

[70] Editör

Online Durumu

594 ileti
Teknik Ressam
Çanakkale

Alıntı
BLack|E :
Merhaba
Ustalarıma sorum olacaktı bir kaç tane...



1) Komutu tekrar çalıştırdığımda benden bir önceki kullandığım değeri anımsamasını nasıl yaparız ?

Kod:

(setq en (getreal "\nOk Isaretinin Genisligini Giriniz  < "en" >  :"))


Yanlış hatırlamıyorsam çift tırnak kullanılarak böyle olması lazım. Eğer hata veririse strcat komutunu kullanarak birleştirme yapmak fayda sağlaybilir..

Kod:

;;  strcat kullanım örneği
(princ (strcat "\n Şu anki Block ismi : " "  -->> " (cdr (assoc 2 blkselect)) " <<--" ))


2) Object Snap (kenetleme) ayarlarında bütün modları Select All yapmam için sıfır yerine ne yazmam gerekir ?

Osmode'yi açıp kapatmazsak, Autocad belli bir zaman sonra saçmalamaya başlamaktadır, yanlış çizim yapılması gibi sonuçlar ortaya çıkar.Sadece bir adet çizgi çizdirilmesi yada sadece 1 adet daire çizmek için herhangi bir sorun yoktur. Birden fazla çizim objesi var ise o zaman osmode'yi kullanmak gereklidir. Ben bu tip çizimlere kendimce komplex çizimler diye adlandırdım, yanı karmaşık çizim, birden bazla çizim objesi olan şekiller.. Autolisp programın başında osmodeyi değişkene kaydedip sıfırlıyoruz, program sonunda eski haline getiriyoruz.

Autodesk forum sitesinde osmode ile ilgili açıklama

Özel osmode durumu gerekebilir, mesela sadece endpoint aktif olsun yada endpoint ve mindpoint ikisi birden aktif olsun..Bunun çözümü Autocad'te istediğin osnap modlarını seç aktif olacak olanları, sonra klavyeden osmode yazıyoruz. Ekranda gözüken değer güncel osmode değeridir.O sayısal değeri de Autolisp programda kullanırsın.

Osmode'yi açıp kapatma işlemi sadece çizim yaptırmak amacıyla kullanmak; işin kolayına kaçmak oluyor. Entmake kullanarak ta çizim yaptırılabilir ve osmode kullanmaya gerek kalmaz. Osmode zaten esas kullanım amacı yakalama noktaları tayini içindir, çizim yaptırmak için değil. Visual Lisp ile de çizim yaptırabiliriz, osmode kullanmanıza gerek kalmaz.


Bu mesaj yazgunesi tarafından düzenlendi (21.01.2017 09:03 GMT, 156 Gün önce)

----------------------------------
www.cizimokulu.com

24.01.2017 11:09
84587      
BLack|E

[8] Kıdemli Uzman

Online Durumu

109 ileti
Teknik Ressam
ANKARA

Kod:

(setq en (getreal "\nOk Isaretinin Genisligini Giriniz  < "en" >  :"))

1. Verdiğiniz < "en" > datası ile olmuyor hocam, strcat kullanım örneğini anlamadım açıkcası. Benim aşağıdaki örneğe uygulayarak gösterseniz mutlu olurum.
Kod:

(defun c:ok (/ osm en okn1 okn2 mesafe aci n1 n2 n3 n4 n5 n6 )
(setq osm (getvar "osmode"))(command "_undo" "group")
(setq en (getreal "\nOk Isaretinin Genisligini Giriniz:"))
(setq okn1 (getpoint "\nOk Isaretinin Baslangic Noktasini Giriniz:"))
(setq okn2 (getpoint okn1 "\nOk Isaretinin Bitis Noktasini Giriniz:"))
(setq mesafe (distance okn1 okn2))
(setq aci (angle okn1 okn2))
(setq n1 (polar okn1 (- aci (/ pi 2))(* 0.5 en)))
(setq n2 (polar n1 aci (- mesafe (* 1.5 en))))
(setq n3 (polar n2 (- aci (/ pi 2)) en))
(setq n4 (polar okn1 (+ aci (/ pi 2))(* 0.5 en)))
(setq n5 (polar n4 aci (- mesafe (* 1.5 en))))
(setq n6 (polar n5 (+ aci (/ pi 2 )) en))
(command "osmode" 0)
(command "pline" n1 n2 n3 okn2 n6 n5 n4 "close")
(setvar "osmode" osm)(command "_undo" "e")
(princ)
)


2. verdiğiniz linkte bütün osnap kodları mevcut. fakat buradanda anladığım 16384 kodunu yazdığında osnapların hepsi seçilmiş olması lazım ama olmuyor.
Kod:

(setvar "osmode" 16384)

ya da
Kod:

(command "osmode" 16384)



    0 NONe
    1 ENDpoint
    2 MIDpoint
    4 CENter
    8 NODe
    16 QUAdrant
    32 INTersection
    64 INSertion
    128 PERpendicular
    256 TANgent
    512 NEArest
    1024 Geometric CEnter
    2048 APParent Intersection
    4096 EXTension
    8192 PARallel
    16384 Suppresses the current running object snaps

_____________________
M.Ertan KIRTIL
Teknik Ressam
Konstrüktör

24.01.2017 11:55
84590      
Travaci

[70] Editör

Online Durumu

1995 ileti
Teknik Ressam
Konstantinopol

BLack|E


Sitede bununla ilgili 100 lerce örnek bulabilirsin. Sorulacak en son soru bu olmalı.

15.02.2017 14:56
84675      
BLack|E

[8] Kıdemli Uzman

Online Durumu

109 ileti
Teknik Ressam
ANKARA

Selam.
Herkese kolay gelsin. Üzerinde çalıştığım, dcl arayüzüyle desteklediğim bir lisp var. Daha önce hocalarıma özelden sordum fakat çözüme ulaşamadım. Sorunumu biraz sadeleştirdim. action_tile 'lerdeki değerleri alıp lispte if fonksiyonlarında kullanmak istiyorum, bir türlü yapamadım. Aşağıda kullandığım dcl yüzün fotoğrafı var. Ardından dcl kod ve lsp kodlar mevcut. Yardımcı olursanız beni çok mutlu edersiniz. Bu belirsizlikten kurtulmak isterim. Nerede yanlış yapıyorum?
------------------------------------------------

------------------------------------------------
Kod:

member: dialog {
label = "FINLANDIYA KESİM / OYMA LİSP'İ V.1.1";
: paragraph {
: text_part {
label = "Designed and Created";  alignment = centered;
}
: text_part {
label = "By. M.Ertan KIRTIL";  alignment = centered;
}
}
: column {

: column {
  fixed_height=true;
  fixed_width=true;
 
  : boxed_row {
  label = "KESİM TİPİ";

: column {
 
: image {
   key          = "Tss1";
   aspect_ratio = 1.0;
   fixed_width  = true;
   vertical_margin = none;
   width        = 20;
   height       = 6;
   color        = 0;
   value="1";
}
  : image {
   key          = "Tss2";
   aspect_ratio = 1;
   fixed_width  = true;
   vertical_margin = none;
   width        = 20;
   height       = 6;
   color        = 0;
}
  : image {
   key          = "Tss3";
   aspect_ratio = 1;
   fixed_width  = true;
   vertical_margin = none;
   width        = 20;
   height       = 6;
   color        = 0;
}
}

: boxed_column {
           label=" KESİM TİPİ SEÇİMİ ";
  : radio_button {label = "KESİM-1 (T1)"; key   = "Ts1";  }
  : radio_button {label = "KESİM-2 (T2)"; key   = "Ts2"; value="1"; }
  : radio_button {label = "KESİM-3 (T3)"; key   = "Ts3"; }
}
}
  :boxed_row {
           label=" KESİM YÖNÜ ";
           
        : image {
            color = black ;
            fixed_height = true ;
            fixed_width = true ;
            height = 9 ;
            key = "ana" ;
            width = 36 ;
            alignment  = centered ;
        }
  : boxed_column {
  label = "KESİM YÖNÜ SEÇİMİ";
  : radio_button {label = "SOL ÜST KESİM &(A)"; key   = "a_tipi";  }
  : radio_button {label = "SOL ALT KESİM &(B)"; key   = "b_tipi";  }
  : radio_button {label = "SAG ÜST KESİM &(C)"; key   = "c_tipi"; value="1"; }
  : radio_button {label = "SAG ALT KESİM &(D)"; key   = "d_tipi";  }
}
}
: edit_box {
     label = "YANAK GENİŞLİĞİ";
     key   = "LENG";
     edit_width=15;
   }
}
: boxed_row {
ok_cancel;
}
}
}

------------------------------------------------
Kod:

(defun c:fn ( / )

(setq dcl_id (load_dialog "fn.dcl"))
(if (not (new_dialog "member" dcl_id))(exit))   


(start_image "Tss1")
(setq max_x (dimx_tile "Tss1"))
(setq max_y (dimy_tile "Tss1"))
(slide_image 0 0 max_x max_y "Tr1")
(end_image)

(start_image "Tss2")
(setq max_x (dimx_tile "Tss2"))
(setq max_y (dimy_tile "Tss2"))
(slide_image 0 0 max_x max_y "Tr2")
(end_image)

(start_image "Tss3")
(setq max_x (dimx_tile "Tss3"))
(setq max_y (dimy_tile "Tss3"))
(slide_image 0 0 max_x max_y "Tr3")
(end_image)

(start_image "ana")
(setq max_x (dimx_tile "ana"))
(setq max_y (dimy_tile "ana"))
(slide_image 0 0 max_x max_y "ana_ekran")
(end_image)

(set_tile "LENG" "50")

(mode_tile "LENG" 2)
(mode_tile "Ts1" 2)
(mode_tile "c_tipi" 2)

(action_tile "LENG" "(setq LEN $value)")
(action_tile "Ts1" "(setq Tip1 "1")(mode_tile "LENG" 2)")
(action_tile "Ts2" "(setq Tip2 "2")(mode_tile "LENG" 2)")
(action_tile "Ts3" "(setq Tip3 "3")(mode_tile "LENG" 2)")
(action_tile "a_tipi" "(setq Types1 "1")(mode_tile "LENG" 2)")
(action_tile "b_tipi" "(setq Types2 "2")(mode_tile "LENG" 2)")
(action_tile "c_tipi" "(setq Types3 "3")(mode_tile "LENG" 2)")
(action_tile "d_tipi" "(setq Types4 "4")(mode_tile "LENG" 2)")
  (action_tile "cancel" "(done_dialog 1)")
  (action_tile "accept" "(done_dialog 2)(setq LEN (atof (get_tile "LENG")))"
  )

  (setq flag (start_dialog))
 
  (unload_dialog dcl_id)


(if (= flag 2)
(islem)
)
  (princ))
 
(defun islem ( / )


(if (and(= Tip1 1)(= Types1 1))
(progn
....................
....................
)

(if (and(= Tip1 1)(= Types2 1))
(progn
....................
....................
)

(princ)) ;;;;;;;;;;;;;;;;;;;SON

_____________________
M.Ertan KIRTIL
Teknik Ressam
Konstrüktör

15.02.2017 17:07
84676      
Travaci

[70] Editör

Online Durumu

1995 ileti
Teknik Ressam
Konstantinopol

BLack|E


Kendıne gore duzenlersın, aradıgın hersey bu kucuk kodda mevcut.
Eklıyecegın sadece olasılıklara gore ıslemı yaptırmak.
Kendı kodunda gereksız ve hatalı yerlerı tespıt et.
Bu kod uzerınde sormak ıstedıgın bırsey olursa buralardayız.

Kod:

(defun c:Test (/ dg dz)
  (if (not (new_dialog "Test" (setq dg (load_dialog "Test.dcl")))) (exit))
  (if (not ns) (setq ns "1"))
  (if (not ss) (setq ss "A"))
  (if (not cc) (setq cc "50"))
  (setq ons ns oss ss occ cc) 
  (set_tile ns "1")
  (set_tile ss "1") 
  (set_tile "C" cc)
  (action_tile "1" "(setq ns "1")")
  (action_tile "2" "(setq ns "2")") 
  (action_tile "3" "(setq ns "3")") 
  (action_tile "A" "(setq ss "A")")
  (action_tile "B" "(setq ss "B")") 
  (action_tile "cancel" "(setq ns ons ss oss cc occ)") 
  (action_tile "accept" "(setq dz t cc (get_tile "C")) (done_dialog)") 
  (start_dialog)
  (unload_dialog dg)
  (if dz (alert (strcat ns "-" ss "-" cc)))
  (princ) 
)

Kod:

Test : dialog {
  label = "Test";
  spacer;
  : boxed_column {
    : column {
      : radio_button { label = " 1"; key = "1"; }
      : radio_button { label = " 2"; key = "2"; }
      : radio_button { label = " 3"; key = "3"; }
    }
  }
  : boxed_column {
    : column {
      : radio_button { label = " A"; key = "A"; }
      : radio_button { label = " B"; key = "B"; }
    }
  }
  : boxed_column { 
    : edit_box { label = " C"; key = "C";}
  } 
  ok_cancel;
}


Bu mesaj Travaci tarafından düzenlendi (16.02.2017 08:40 GMT, 130 Gün önce)

15.02.2017 20:40
84677      
BLack|E

[8] Kıdemli Uzman

Online Durumu

109 ileti
Teknik Ressam
ANKARA

Tamam hocam, derdime derman oldunuz kaç haftadır uğraşıyordum. Bu kodlar istediğimi verecek. Çok teşekkür ederim. Sağolun.

_____________________
M.Ertan KIRTIL
Teknik Ressam
Konstrüktör

02.06.2017 08:33
85068      
LEYLO

[5] Uzman

Online Durumu

38 ileti

Autocad çiziminde kullanılan nesnelerin (blok, line ...vb) oluşturulma tarihini autolisp ile öğrenebilir miyiz? İlgilenen arkadaşlara şimdiden teşekkürler.

02.06.2017 10:01
85070      
ehya

[90] Yönetici

Online Durumu

3044 ileti
Teknik Ressam
Ankara

LEYLO




Bırak autolisp'i, başka bir yöntemle öğrenme şansı varsa haberim olsun

02.06.2017 11:23
85071      
LEYLO

[5] Uzman

Online Durumu

38 ileti

Anlaşıldı hocam.

07.06.2017 19:42
85086      
muratsemih

[2] Girişimci

Online Durumu

5 ileti
Elektrik Mühendisi
Sakarya

Arkadaşlar Merhaba,
Bir lisp yazıyorum 8 tane farklı yere 8 tanede bir başka yere alt alta yazı yazılacak yazdığım koordinatlara yazılar tam oturmuyor yazıyla gelen şekillere yapışıp o şekilde geliyorlar bunu çözümünü ve neyden kaynaklandığın bilen var mı?

08.06.2017 09:26
85087      
Travaci

[70] Editör

Online Durumu

1995 ileti
Teknik Ressam
Konstantinopol

muratsemih


Yazdırmadan önce Osmode u kapayın.

15.06.2017 12:59
85099      
LEYLO

[5] Uzman

Online Durumu

38 ileti

Merhaba arkadaşlar,

Autocad de ilk açılıştaki standard text yüksekliğini lisp ile değiştirmek istiyorum. Yardımcı olursanız sevinirim.

15.06.2017 13:25
85100      
alumina

[70] Editör

Online Durumu

581 ileti
Insaat Muhendisi
Istanbul

Alıntı
LEYLO :

Kod:

(defun c:th (/)
  (setvar 'textsize h) (princ)
)

15.06.2017 14:36
85101      
LEYLO

[5] Uzman

Online Durumu

38 ileti

teşekkürler..

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] > 44 <
Copyright © 2004-2017 | Tüm Hakları Saklıdır | 1252 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam