Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:31 22.05.24 
Клубове/ Компютри и Интернет / CAD/CAM Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Въпрос за Layouts [re: tooth]
АвторStSt (Нерегистриран) 
Публикувано01.12.06 08:42  



Пращам ти програма за направа рамка на чертежа в Layouts.
Предполагам, че това ти трябва.
Запиши я като GET-LAYOUT.LSP. Сложи я в Support. Зареди я с LoadApplication.
Стартирай я с
(GET-LAYOUT)

;ВАДИ ДАННИТЕ НА LAYOUT ОТ PGESETUP И ЧЕРТАЕ ПОЛИЛИНИЯ ПО ГРАНИЦИТЕ
(DEFUN GET-LAYOUT (/ OLSOMODE LAY PT1 PT2 PTI ROT INCH LW LH DL DR DB DT ENTLAY br br1 dob ptend )
(VL-LOAD-COM)
(SETQ OLSOMODE (GETVAR "OSMODE"))
(SETVAR "OSMODE" 16845)
(setq LAY(HANDENT(vla-get-Handle(vla-get-layout(vla-get-PaperSpace (vla-get-ActiveDocument (vlax-get-acad-object))))))
ENTLAY (ENTGET LAY)
);setq
(if(not(VL-STRING-SEARCH "NONE" (STRCASE(cdr(ASSOC 2 ENTLAY)))))
(PROGN
(setq
PT1 (CDR(ASSOC 10 ENTLAY))
PTI (LIST (CDR(ASSOC 46 ENTLAY))(CDR(ASSOC 47 ENTLAY)))
ROT (CDR(ASSOC 73 ENTLAY))
INCH(CDR(ASSOC 72 ENTLAY))
LW(CDR(ASSOC 44 ENTLAY))
LH(CDR(ASSOC 45 ENTLAY))
DL(CDR(ASSOC 40 ENTLAY))
DB(CDR(ASSOC 41 ENTLAY))
DR(CDR(ASSOC 42 ENTLAY))
DT(CDR(ASSOC 43 ENTLAY))
)
(IF (= INCH 0)(SETQ INCH 2.54))
(COND
((= ROT 1)
(SETQ PT2 (MAPCAR '+ PTI (LIST (- LH DT DB)(- LW DR DL))))
);=1
((= ROT 0)
(SETQ PT2 (MAPCAR '+ PTI (LIST (- LW DR DL) (- LH DT DB))))
);=0
((= ROT 3)
(SETQ PT2 (MAPCAR '+ PTI (LIST (* -1(- LH DT DB))(* -1(- LW DR DL)))))
);=3
);COND
(if (and
(setq nab (ssget"c" PTI (MAPCAR '+ PTI '(0.1 0.1) )))
);and
(COMMAND "erase" nab (COMMAND))
);if
(COMMAND "RECTANGLE" (MAPCAR '+ PTI '(25 10)) (MAPCAR '+ PTI PT2 '(-10 -10)))
;(COMMAND "RECTANGLE" PTI (MAPCAR '+ PTI PT2 ))
;чертае рамка на чертежа
; (COMMAND "RECTANGLE" (MAPCAR '+ PTI '(20 10)) (MAPCAR '+ PTI PT2 '(-10 -10)))
(if (> (cadr pt2) 297.0)
(PROGN
(COMMAND "pline" pti
(MAPCAR '+ pti '(0 295.0))
(MAPCAR '+ pti '(20.0 295.0))
(MAPCAR '+ pti (list 20 (cadr pt2)))
(MAPCAR '+ PTI PT2 )
(MAPCAR '+ pti (list (car pt2) 0))
pti
"")

);PROGN
(COMMAND "RECTANGLE" PTI (MAPCAR '+ PTI PT2 ))
);if
(COMMAND "line" (mapcar '+ pti (list 0 (/ 295.0 2)))
(mapcar '+ pti (list 0 (/ 295.0 2))'(25 0))"")
(COMMAND "solid" '(-2 0) '(0 5) '(2 0) "" "")
(setq solid (entlast)dll 190)
(cond
((> (car pt2)(+ 210 dll))
(setq br (fix(* 2(/(fix(/ (-(car pt2) 210)dll))2.0)))
dop (-(car pt2)(* br dll)210)
i 1
ptend (list(+ (car pti)(car pt2)) (cadr pti))
br1 -2.0
)
(if (< dop 100)(setq br (1- br) dop (-(car pt2)(* br dll)210) ) )
(setq br1 (- br1 (rem br 2))nab (ssadd))
(if (> br 0)
(PROGN
(REPEAT br
(COMMAND "copy" solid "" '(0 0) (MAPCAR '- ptend (list (* i dll) 0)))
(setq i (1+ i)
nab (ssadd (entlast)nab))
);REPEAT
(COMMAND "copy" (entlast) "" '(0 0) (list (/ dop br1) 0))
(setq nab (ssadd (entlast)nab))
(COMMAND "copy" (entlast) "" '(0 0) (list (/ dop br1) 0))
(setq nab (ssadd (entlast)nab))
(if (= br1 -3.0)(COMMAND "copy" (entlast) "" '(0 0) (list (/ dop br1) 0)))
(setq nab (ssadd (entlast)nab))
(COMMAND "mirror" nab "" (mapcar '+ pti (mapcar '/ pt2 '(2 2)))
(mapcar '+ pti (mapcar '/ pt2 '(2 2))'(2 0))
"N")
));if br>0
); L> 395
);cond
(entdel solid)
(if (> (cadr pt2)297)
(PROGN
(COMMAND "solid" (MAPCAR '+ ptend '(0 -2))
(MAPCAR '+ ptend '(-5 0))
(MAPCAR '+ ptend '(0 2)) "" "")
(setq solid (entlast))
(COMMAND "array" solid "" "R"
(1+(fix (/ (cadr pt2)295.0)))
1
295.0
)
(entdel solid)
);PROGN
);if H>295
);PROGN
(ALERT "НЯМА ИЗБРАН ПЛОТЕР
\nОТ \"PAGE SETUP\" ИЗБЕРЕТЕ ПЛОТЕР, РАЗМЕР И ОРИЕНТАЦИЯ НА СТРАНИЦАТА\n
И ОТНОВО СТАРТИРАЙТЕ '(GET-LAYOUT)'")
);if not None plotter
(SETVAR "OSMODE" OLSOMODE)
);GET-LAYOUT





Цялата тема
ТемаАвторПубликувано
* Въпрос за Layouts tooth   30.11.06 17:15
. * Re: Въпрос за Layouts reнa   30.11.06 20:45
. * Re: Въпрос за Layouts tooth   30.11.06 22:06
. * Re: Въпрос за Layouts StSt   01.12.06 08:42
. * Допълнение s   01.12.06 08:46
. * Re: Въпрос за Layouts tooth   01.12.06 15:25
. * Re: Въпрос за Layouts Mинaвaщ   01.12.06 16:09
. * странично въпросче gena   01.12.06 19:14
. * Само рамка StSt   01.12.06 20:22
. * Re: Само рамка Пoдoбъp   02.12.06 02:12
. * Re: Само рамка Mинaвaщ   02.12.06 13:54
. * Re: пак въпрос4е gena   02.12.06 21:57
. * Re: пак въпрос4е StSt   04.12.06 17:32
. * Re: пак въпрос4е gena   04.12.06 17:58
. * Re: ако е интересно ... Mинaвaщ   04.12.06 19:46
. * Re: пак въпрос4е StSt   05.12.06 17:45
. * Re: Само рамка magesnik   04.12.06 10:09
. * Re: Само рамка StSt   04.12.06 17:10
. * Re: Само рамка magesnik   05.12.06 10:27
. * Re: Въпрос за Layouts magesnik   01.12.06 16:04
. * Re: Въпрос за Layouts Toни   03.12.06 00:40
. * Re: Въпрос за Layouts tooth   03.12.06 01:37
. * Re: Въпрос за Layouts gena   03.12.06 01:52
. * Re: Въпрос за Layouts Toни   04.12.06 00:58
. * Re: Въпрос за Layouts StSt   04.12.06 09:17
. * Re: Въпрос за Layouts Toни   05.12.06 04:08
. * Re: Въпрос за Layouts StSt   05.12.06 18:44
. * Re: Въпрос за Layouts Пoдoбъp   06.12.06 01:24
. * Re: Въпрос за Layouts tooth   05.12.06 18:26
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.