|
Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
Тема
|
Въпрос за Layouts
|
|
Автор | tooth (Нерегистриран) |
Публикувано | 30.11.06 17:15 |
|
Здравейте,
Имам следния проблем и съответно въпрос към него.
Имам чертеж на сграда от няколко етажа. Тези етажи искам да ги направя удобни за разпечатване в Layout. Взсеки етаж съм го сложил в рамка задал съм мащаб, задал съм в какъв формат да се разпечатва (А4).
Проблемът се състои в това, че немога да направя рамката автоматично да се изравни като големина с пунктирната линия , която ограничава лайаута и така да го разпечатам, а се налага да го намествам със zoom и естественно немога да го наглася точно по контура на пунктирната линия.
Възможно ли е това да стане и ако да как ?
Става въпрос за AutoCad 2007.
Предварително благодаря !
| |
Тема
|
Re: Въпрос за Layouts
[re: tooth]
|
|
Автор | reнa (Нерегистриран) |
Публикувано | 30.11.06 20:45 |
|
натисни ctrl+Р
на графата plot area намести window и разгледаи кавко става... обърни внимание на отметката center the plot.
с window избираш рамката, центрираш я и ако вси4ко е наместено правилно птрябва да се полу4и...
| |
Тема
|
Re: Въпрос за Layouts
[re: reнa]
|
|
Автор | tooth (Нерегистриран) |
Публикувано | 30.11.06 22:06 |
|
Здравей,
Да този начин го знам, но ми се струва малко дълъг.
Аз имам предвид нещо от рода на селектирам рамката и всичко в нея задавам командана и рамката се изръвнява с пунктирната лини.
Мерси все пак за отговора.
| |
Тема
|
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
| |
Тема
|
Допълнение
[re: StSt]
|
|
Автор | s (Нерегистриран) |
Публикувано | 01.12.06 08:46 |
|
Трябва да кажа, че тази програма съм я правил за ACAD2002 и не съм я пробвал с по-нови версии.
Освен това трябва да се ползва след определяне на размера на страницата и принтера чрез PAGE SETUP.
| |
Тема
|
Re: Въпрос за Layouts
[re: StSt]
|
|
Автор | tooth (Нерегистриран) |
Публикувано | 01.12.06 15:25 |
|
Мерси за програмката !
Работи и под ACAD 2007.
Обаче има един проблем.
Той е, че аз вече съм начертал рамка, легенда и когато инсертна рамката от прорамата остава проблема с донагласянето на вече начертаната от мен рамка с таблица и тази, която излиза от скрипта.
Би било полезно ако твойта рамка излиза и с таблица и тн. Но товае е вече индивидуално и в зависимост, на кой каво му трябва в дадена ситуация.
Все пак мерси много !
| |
Тема
|
Re: Въпрос за Layouts
[re: tooth]
|
|
Автор |
magesnik (вълшебник) |
Публикувано | 01.12.06 16:04 |
|
Обикновено вюпорта го поставям не в Defpoints, a в слой който се печата.
След това като правя вюпорт му давам Fit
ей така имам рамка която изпълва максимално листа и не рискувам да не ми се изпечата нещо
по този начин съм направил лейаути за всички стандартни рамки от А4 до А0 плюс един 900 на 2600 мм, защото и подобни чаршафи печатам
файла съм го записал като темплейт и въобще не се занимавам с настройка повече - като ми трябва лейаут - import from template ...
това е...
Магьосниците не закъсняват, нито идват по-рано. Те пристигат точно когато им е угодно
| |
Тема
|
Re: Въпрос за Layouts
[re: tooth]
|
|
Автор | Mинaвaщ (Нерегистриран) |
Публикувано | 01.12.06 16:09 |
|
На практика аз използвам един "дървен трик" , като правя Viewport му давам размер Fit , после или го ползвам като рамка или към него чертая рамката и после го трия . Тези неща са също и около команди MVIEW , VPORTS , -VPORTS и пр.
Лиспа на StSt е много стилен .
Ако може да помоля StSt да направи втори вариант , като го опрости само до изчертаване на една затворена полилиния по размера на областта за разпечатване (пунктира) ? (гледах лиспа , но не съм наясно как да го опростя)
| |
Тема
|
странично въпросче
[re: Mинaвaщ]
|
|
Автор | gena (Нерегистриран) |
Публикувано | 01.12.06 19:14 |
|
до сега винаги съм изполвал един layout но новите неща научини от форума ме потикват да използвам пове4е... въпроса ми е ако имате повечко неща за разпечатване във файла всяко на отделен layout ли го правите? това ли е правилния начин?
| |
Тема
|
Само рамка
[re: Mинaвaщ]
|
|
Автор | StSt (Нерегистриран) |
Публикувано | 01.12.06 20:22 |
|
Тази програма е част от програма, която прави Viewports in Layouts като мащабира чертежа, завърта вюпортовете на указан ъгъл, прави вюпортове с дупки! и други екстри. Освен това GET-LAYOUT прави рамка с "опашка" и поставя маркери за сгъване, което за мен е много удобно.
Това с fit на вюпортовете го правех отдавна, но така е по удобно. Освен това тази програмка хваща и нестандартни листове, завъртането на листа (тя чете настройките на листа) така, че работи с всякакви листове. На tooth ще предложа да премести таблицата и рамката в лейаута и там да го нагласи - по принцип правилния подход е да се изчертават елементите (детайли, възли, схеми и т.н.) в моделното пространство, а оформянето на чертежа да се прави в листа (layout). Там се правят рамки надписни таблици, фирмени знаци и др. Аз поне така работя. Затова и преди доста време (проверих междувременно - 1994г, но съм я доработвал) направих споменатата по-горе програма и я ползвам непрекъснато.
Темата за оформяне на чертежите е доста по-обширна, и изключително важна и трябва да се обсъжда по-нашироко. В края на краищата може да направиш нещо гениално, но като не можеш да го представиш адекватно остава неразбрано и непонятно.
А на Mинaвaщ давам и вариант само с рамка по края на листа.
;ВАДИ ДАННИТЕ НА 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 ))
);PROGN
(ALERT "НЯМА ИЗБРАН ПЛОТЕР
\nОТ \"PAGE SETUP\" ИЗБЕРЕТЕ ПЛОТЕР, РАЗМЕР И ОРИЕНТАЦИЯ НА СТРАНИЦАТА\n
И ОТНОВО СТАРТИРАЙТЕ '(GET-LAYOUT)'")
);if not None plotter
(SETVAR "OSMODE" OLSOMODE)
);GET-LAYOUT
| |
|
Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
|
|
|