Copyright © 2004-2022 SQL: 0.882 saniye - Sorgu: 60 - Ortalama: 0.01471 saniye
10.07.2008 12:33
meteyus |
arkadaslar priz blogu ile hattımızı lisp ile baglanmasını istiyorum. blok un secme noktası ile hatta 90 derece cizgi cekmesini istiyorum. nasıl olur
|
10.07.2008 16:41
Harbi65 |
İstediğin sanırım bu...
Kod: (defun c:bcz (/)
(setvar "modemacro" "< Harbi65 Design 2008 © by >") (setq bcz_cmd (getvar "CMDECHO") bcz_osm (getvar "OSMODE") ) (setvar "CMDECHO" 0) (setvar "OSMODE" 0) (if (setq blksec (entsel "\n Bloğu gösterin:")) (progn (redraw (car blksec) 3) (setq blk0 (cdr (assoc 0 (entget (car blksec))))) (if (/= blk0 "INSERT") (progn (print "*** Seçilen nesne BLOK değil ***") ) (progn (if (setq czgsec (entsel "\n Dik çizilecek çizgiyi seç:")) (progn (setq blk10 (cdr (assoc 10 (entget (car blksec))))) (setq czg10 (cdr (assoc 10 (entget (car czgsec)))) czg11 (cdr (assoc 11 (entget (car czgsec)))) czg0 (cdr (assoc 0 (entget (car czgsec)))) ) (if (/= czg0 "LINE") (progn (print "*** Seçilen nesne LINE değil ***") ) (progn (setq czgang (angle czg10 czg11)) (setq Bmes (distance czg10 blk10) Bang (angle czg10 blk10) ) (setq Cang (- Bang czgang)) (if (< cgz_ang Bang) (setq Cang (- czgang Bang)) ) (setq Daci (+ Cang (/ pi 2.0))) (setq Dmes (* Bmes (sin Daci))) (setq czg_P1 (polar czg10 czgang Dmes)) (command "_line" blk10 czg_P1 "") ) ) ) (progn (print " * Çizgi Seçilmedi * ") ) ) ) ) (redraw (car blksec) 4) ) (progn (print " * Blok Seçilmedi * ") ) ) (setvar "OSMODE" bcz_osm) (setvar "CMDECHO" bcz_cmd) (princ) ) (princ "\n Seçilen Bloktan gösterilen çizgiye dik çizgi çizer [ BCZ ]")
|
10.07.2008 18:16
meteyus |
evet aynen bu patron bunun yanında sunu yapabılırmıyız. bloktan ızılen cızgı bır polylıne ıse o polylıne ile butun olsun yanı polylıne devamı olsun olurmu. bırde cızgı baglandıgı zaman fıllet radyus degerıne gore fıllet yapabılırmı
|
10.07.2008 18:43
Harbi65 |
dik çizilen seçtiğimiz çizgiye mi pline olarak birleşecek...?
yani seçtiğimiz çizgi ile yeni çizileni pedit mi yapacak?
|
10.07.2008 19:08
meteyus |
evet sayılır burada blok u bagladıgın cızgı polylıne olacak (lsp te lıne olarak vermısın) bloktan cızılende cıgıde bu polylıne a bırleserek pedıt olacak ve fıllet olursa dıye dusunuyorum.
|
10.07.2008 19:21
Harbi65 |
Yeniden düzenledim...
Dik çizlen çizgi çift olursa istediğini yapıyor ama .... çift olmasının masuru var mı bilmiyorum... Çalıştıran kod: BPL Kod: (defun bpl_hata (s)
(if (/= s "Function cancelled") (princ (strcat "\nError: " s)) ) (setvar "CMDECHO" bpl_cmd) (setvar "OSMODE" bpl_osm) (redraw (car blksec) 4) (setq *error* olderr) (princ) ) ;;;-----------------------------------------------;;; (defun c:BPL (/) (setq olderr *error* *error* bpl_hata ) (setvar "modemacro" "< Harbi65 Design 2008 © by >") (setq bpl_cmd (getvar "CMDECHO") bpl_osm (getvar "OSMODE") ) (setvar "CMDECHO" 0) (setvar "OSMODE" 0) (setq sss nil) (while (= sss nil) (setq blksec (entsel "\n Bloğu gösterin:")) (if (= blksec nil) (progn (if (= (getvar "errno") 7) (progn (setq sss nil) (setvar "errno" 0) (print " * Blok Seçilmedi * ") ) ) (if (= (getvar "errno") 52) (progn (setq sss t) (setvar "errno" 0) ) ) (if (= (getvar "errno") 87) (progn (setq sss t) (setvar "errno" 0) ) ) ) (progn (redraw (car blksec) 3) (setq blk0 (cdr (assoc 0 (entget (car blksec))))) (if (/= blk0 "INSERT") (progn (print "*** Seçilen nesne BLOK değil ***") ) (progn (if (setq czgsec (entsel "\n Dik çizilecek çizgiyi seç:")) (progn (setq blk10 (cdr (assoc 10 (entget (car blksec))))) (setq czg0 (cdr (assoc 0 (entget (car czgsec))))) (if (or (= czg0 "LINE") (= czg0 "LWPOLYLINE") (= czg0 "POLYLINE") ) (progn (setq mpt1 (osnap (cadr czgsec) "midp")) (setq ept1 (osnap (cadr czgsec) "endp")) (setq czgang (angle ept1 mpt1)) (setq Bmes (distance ept1 blk10) Bang (angle ept1 blk10) ) (setq Cang (- Bang czgang)) (if (< cgz_ang Bang) (setq Cang (- czgang Bang)) ) (setq Daci (+ Cang (/ pi 2.0))) (setq Dmes (* Bmes (sin Daci))) (setq czg_P1 (polar ept1 czgang Dmes)) (command "_pline" blk10 czg_P1 "") (setq cz1 (entlast)) (command "_break" czgsec "_f" czg_P1 czg_P1) (setq cz2 (entlast)) (command "_pline" blk10 czg_P1 "") (setq cz3 (entlast)) (if (= czg0 "LINE") (progn (command "_pedit" czgsec "_y" "j" cz3 cz2 cz1 "" "") ) (progn (command "_pedit" czgsec "j" cz3 cz2 cz1 "" "") ) ) ) (progn "*** Dik çizilecek nesne uygun değil..!!! ***" ) "*** LINE / POLYLINE / LWPOLYLINE olmalı..! ***" ) ) ) ) (progn (print " * Çizgi Seçilmedi * ") ) ) ) ) (redraw (car blksec) 4) ) ) ) (setvar "CMDECHO" bpl_cmd) (setvar "OSMODE" bpl_osm) (princ) ) (princ "\n Seçilen Bloktan gösterilen çizgiye dik çizgi çizer [ BPL ]" ) Harbi65 (11.07.2008 07:21 GMT) |
meteyus |
patron cok guzel oldu tabı bunda fıllet yapamıyoruz degılmı baglantı noktasını
|