Denw Minecraft |
|
|
Feokl Private Server |
|
|
Feokl Panda Server |
|
|
denw IL-2 Training |
|
|
|
|
Стены города Макросы для СС2
Название | Стена Города 1 |
Автор | Morgan Olden |
Команда | citywall1 |
Описание | Этот макрос преобразовывает имеющуюся линию в изображение стены города |
Инструкции | Этот макрос облегчает и автоматизирует процедуру когда-то описанную Линдой Кекуму на Странице ПроФэнтези
Макрос просит пользователя выбрать отдельный объект (линию) для преобразования, и запрашивает толщину парапета и стены. |
Код
MACRO citywall1
GE WallSource ^DSelect entity to convert to City Wall:
IFERR gotoend
GV WallWidth 10
GV ParapetWidth 2
GV WallWidth ^DWall width (10):
IFZ WallWidth gotoend
GV ParapetWidth ^DParapet width (2):
IFZ ParapetWidth gotoend
SELBY1
CHANGEC WallSource 18
SELBYP
CHANGELW WallWidth
CHANGEFS SOLID
COPY 0,0 0,0;
CHANGEC 0
CHANGEFS HOLLOW
COPY 0,0 0,0;
CHANGEC 16
CHANGELW WallWidth-(ParapetWidth*2)
CHANGEFS SOLID
COPY 0,0 0,0;
CHANGEC 0
CHANGEFS HOLLOW
SELBYD
REDRAW
:gotoend
ENDM
Название | Стена Города 2 |
Автор | Morgan Olden |
Команда | CITYWALL2 |
Описание | Рисование городской стены с башнями.
|
Инструкции | Этот макрос запрашивает пять пунктов информации, затем позволяет пользователю выбирать ряд точек. Макрос рисует городскую стену между каждой точкой, и вставляет башни на каждой точке. Вид стены и башен зависит от обеспеченной информации (значения по умолчанию в скобках):
1. Wall width. (10) - Толщина стены
2. Parapet width. (2) - Ширина парапета
3. Tower width. (20) - Размер башни
4. Tower style (square or circle) (circle) - Стиль башни (квадратный или круглый)
5. Roof style (flat or peaked) (peaked) - Стиль верха башни (плоская или островерхняя)
Для работы необходимы все три макроса, но два из них работают по вызову от основного.
Примечания:
1. Левый клик рисует сегмент стены, правый ее завершает, и подставляет башню.
2. Квадратные башни автоматически выравнивают себя под углом средним между двумя смежными стенами.
3. Вход и выход стены в квадратную башню находятся на противоположных сторонах башни, если различие в угле между этими двумя стенами меньше чем 55 градусов. Углы больше делают вход и выход стены в башню на двух смежных сторонах.
4. Размеры парапета добавляются и к стене, и к башне. Башни с установленными на максимуме крышами все равно будут иметь парапет.
5. Минимальный размер башни равен ширине стены, но для лучших результатов рекомендуется выбирать ширину башни по крайней мере вдвое больше ширины стены.
|
Код
macro CITYWALL2
ecoff
rdoff
gv WW 10
gv PW 2
gv TW 20
gv TS 1
gv RS 0
gv WW ^DEnter wall width:
gv PW ^DEnter parapet width:
gv TW ^DEnter tower width:
gv TS ^DChose tower style (square=0, circle=1):
gv RS ^DChose tower roof style (peaked=0, flat=1):
ifn TW-WW control1
go control2
:control1
gv TW WW
:control2
gp P1 ^DFirst point:
line P1 ^DNext point:;
gp P2 @0,0
selbyp;erase;
gp wallpoint1 P1;gp wallpoint2 P2
drawwall
gbrng towerbrng P1 P2
gp towercenter P1
drawtower
:loop
line P2 ^DNext point:;
gp P3 @0,0
gdist testdist P2 P3
ifz testdist laststep
selbyp;erase;
gp wallpoint1 P2;gp wallpoint2 P3
drawwall
gbrng B12 P1 P2
gbrng B23 P2 P3
gv towerbrng (B12+B23)/2
gsin offset (B12-B23)
ifp offset control5
gv offset 0-offset
:control5
ifn offset-.8 control6
gv towerbrng towerbrng+45
:control6
gp towercenter P2
drawtower
gp P1 P2;gp P2 P3
go loop
:laststep
|gp towercenter P2
gbrng towerbrng P1 P2
drawtower
selbyd
econ
rdon
endm
macro DRAWTOWER
ifz TS drawsquaretower
:drawcircletower
ifz RS circlepeakroof
:circleflatroof
lwidth 0;color 18;fstyle solid;cird TW towercenter;
color 0;fstyle hollow;cird TW towercenter;
color 16;fstyle solid;cird TW-(PW*2) towercenter;
color 0;fstyle hollow;cird TW-(PW*2) towercenter;
go done
:circlepeakroof
lwidth 0;color 18;fstyle solid;cird TW towercenter;
color 10;cird TW-(PW*2) towercenter;
color 11
arcw towercenter (TW-(PW*2))/2 200 350
|color 0;fstyle hollow;cird TW towercenter;
cird TW-(PW*2) towercenter;
go done
:drawsquaretower
ifz RS squarepeakroof
:squareflatroof
gp TP1 ref towercenter
gp TP2 ref towercenter
gp TP3 ref towercenter
gp TP4 ref towercenter
lwidth 0;color 18;fstyle solid;poly TP1 TP2 TP3 TP4;
color 0;fstyle hollow;poly TP1 TP2 TP3 TP4;
gp TP1 ref towercenter
gp TP2 ref towercenter
gp TP3 ref towercenter
gp TP4 ref towercenter
color 16;fstyle solid;poly TP1 TP2 TP3 TP4;
color 0;fstyle hollow;poly TP1 TP2 TP3 TP4;
go done
:squarepeakroof
gp TP1 ref towercenter
gp TP2 ref towercenter
gp TP3 ref towercenter
gp TP4 ref towercenter
lwidth 0;color 18;fstyle solid;poly TP1 TP2 TP3 TP4;
color 0;fstyle hollow;poly TP1 TP2 TP3 TP4;
gp TP1 ref towercenter
gp TP2 ref towercenter
gp TP3 ref towercenter
gp TP4 ref towercenter
lwidth 0;color 10;fstyle solid;poly TP1 TP2 TP3;
color 11;poly TP3 TP4 TP1;
color 0;fstyle hollow;poly TP1 TP2 TP3 TP4;
line TP1 TP3;
line TP2 TP4;
go done
:done
endm
macro DRAWWALL
lwidth WW;color 18;lstyle solid;fstyle solid;line wallpoint1 wallpoint2;
color 0;fstyle hollow;line wallpoint1 wallpoint2;
color 16;fstyle solid;lwidth WW-(PW*2);line wallpoint1 wallpoint2;
color 0;fstyle hollow;line wallpoint1 wallpoint2;
endm
Название | Стена Города 3 |
Автор | Morgan Olden |
Команда | CITYWALL3 |
Описание | Изображение городской стены с башнями. (высоко детализованное, с зубцами)
|
Инструкции |
CITYWALL3
Этот макрос запрашивает несколько пунктов информации, затем позволяет пользователю выбрать ряд точек. Макрос рисует городскую стену между каждой точкой и вставляет башню на каждой точке. Вид стены и башен зависит от обеспеченной информации (значения по умолчан
ию в скобках):
1. Wall width. (10) - Толщина стены
2. Parapet both sides? (Both) - Парапет на обоих сторонах? (на обоих)
3. Parapet width. (2) - Ширина парапета
4. Tower width. (Wall width x 2) - Размер башни (вдвое больше толщины стены)
5. Tower style. (square or circle) (circle) - Стиль башни (квадратный или круглый)
6. Roof style. (flat or peaked) (peaked) - Стиль верха башни (плоская или покатая)
7. Roof walkway width. (5) (Optional: if "peaked roof" is selected) - Ширина прохода башни (если выбрана покатая крыша)
Все макросы, найденные в секции "Код" необходимы для корректной работы, но только макросы "CITYWALL3" и "CITYWALL3TOWER" могут запускаться из командной строки. Для лучших результатов, создайте отдельный макро-файл для этого макроса, и загружайте этот файл когда собираетесь рисовать городские стены.
Примечания:
1. Левый клик рисует сегмент стены, правый ее завершает, и подставляет башню.
2. Квадратные башни автоматически выравнивают себя под углом средним между двумя смежными стенами.
3. Вход и выход стены в квадратную башню находятся на противоположных сторонах башни, если различие в угле между этими двумя стенами меньше чем 55 градусов. Углы больше делают вход и выход стены в башню на двух смежных сторонах.
4. Размеры парапета добавляются и к стене, и к башне. Башни с установленными на максимуме крышами все равно будут иметь парапет.
5. Минимальный размер башни равен ширине стены, но для лучших результатов рекомендуется выбирать ширину башни по крайней мере вдвое больше ширины стены.
CITYWALL3TOWER
Этот макрос рисует только башню, расположенную в указанной точке. После введения пользователем нескольких пунктов информации, макрос запрашивает точку для расположения башни. Если был выбран квадратный стиль башни, макрос также запрашивает ориентацию башни. Вид башни зависит от обеспеченной информации (значения по умолчанию в скобках):
1. Tower width. (20) - Размер башни
2. Tower style. (square or circle) (circle) - Стиль башни (квадратный или круглый)
3. Roof style. (flat or peaked) (peaked) - Стиль верха башни (плоская или островерхняя)
4. Roof walkway width. (5) (Optional: if "peaked roof" is selected) - Ширина прохода башни (если выбрана островерхняя крыша)
|
Код
macro CITYWALL3
ecoff
rdoff
gv ColDS 18
gv ColLS 16
gv ColDR 11
gv ColLR 10
gv WW 10
gv sides 1
gv TWW 5
gv TS 1
gv RS 0
gv WW ^DEnter wall width:
gv sides ^DParapet on both sides? (one side=0, both=1)
gv TW WW*2
gv TW ^DEnter tower width:
ifn TW-20 control1
go control2
:control1
gv TW 20
:control2
gv TS ^DChose tower style (square=0, circle=1):
gv RS ^DChose tower roof style (peaked=0, flat=1):
ifz RS askwalkwaywidth
go skipwalkwaywidth
:askwalkwaywidth
gv TWW ^DTower walkway width (defalt=5, none=0):
:skipwalkwaywidth
gp P1 ^DFirst point:
line P1 ^DNext point:;
gp P2 @0,0
selbyp;erase;
gp wallpoint1 P1;gp wallpoint2 P2
drawwall3
gbrng towerbrng P1 P2
gp towercenter P1
drawtower3
:loop
line P2 ^DNext point:;
gp P3 @0,0
gdist testdist P2 P3
ifz testdist laststep
selbyp;erase;
gp wallpoint1 P2;gp wallpoint2 P3
drawwall3
gbrng B12 P1 P2
gbrng B23 P2 P3
gv towerbrng (B12+B23)/2
gsin offset (B12-B23)
ifp offset control5
gv offset 0-offset
:control5
ifn offset-.8 control6
gv towerbrng towerbrng+45
:control6
gp towercenter P2
drawtower3
gp P1 P2;gp P2 P3
go loop
:laststep
|gp towercenter P2
gbrng towerbrng P1 P2
drawtower3
selbyd
econ
rdon
endm
macro DRAWTOWER3
ifz TS drawsquaretower
:drawcircletower
lwidth 0;color ColLS;fstyle solid;cird TW towercenter;
lwidth 1.5;color ColDS;cird TW towercenter;
color 0;fstyle hollow;cird TW towercenter;
gv OutsideTW TW+.75
gv OutsideCirc OutsideTW*3.1416
gv counter 0
:circcounterloop
gv counter counter+1
gv OutsideCirc OutsideCirc-7.5
ifz OutsideCirc donecirccounterloop
ifn OutsideCirc-7.5 donecirccounterloop
go circcounterloop
:donecirccounterloop
gv OneArcUnit 360/counter/7.5
gv currentangle 0
:circcrenloop
lwidth 2.5;color ColDS;fstyle solid
arcr towercenter OutsideTW/2 currentangle (currentangle+(OneArcUnit*5))
|color 0;fstyle hollow
arcr towercenter OutsideTW/2 currentangle (currentangle+(OneArcUnit*5))
|gv currentangle (currentangle+(OneArcUnit*7.5))
ifp currentangle-360 donecirccrenloop
go circcrenloop
:donecirccrenloop
ifz RS circlepeakroof
:circleflatroof
go done
:circlepeakroof
lwidth 0;fstyle solid
color ColLR;cird TW-(TWW*2) towercenter;
color ColDR
arcw towercenter (TW-(TWW*2))/2 200 350
|color 0;fstyle hollow;cird TW-(TWW*2) towercenter;
go done
:drawsquaretower
gp TP1 ref towercenter
gp TP2 ref towercenter
gp TP3 ref towercenter
gp TP4 ref towercenter
lwidth 0;color ColLS;fstyle solid;poly TP1 TP2 TP3 TP4;
lwidth 1.5;color ColDS;poly TP1 TP2 TP3 TP4;
color 0;fstyle hollow;poly TP1 TP2 TP3 TP4;
gp TP1 ref TP1
gp TP2 ref TP2
gp TP3 ref TP3
gp TP4 ref TP4
gdist DTS TP1 TP2
gv DTS DTS-12.5
gv remainder DTS
:remainderloop
ifz remainder doneremainderloop
ifn remainder-7.5 doneremainderloop
gv remainder remainder-7.5
go remainderloop
:doneremainderloop
gv CrenBrng towerbrng-90
gp Cren1 ref TP1
gv CrenTDist DTS-remainder
lwidth 2.5;color ColDS;fstyle solid
path ref TP1
color 0;fstyle hollow
path ref TP1
DRAWCRELLELATION
gv CrenBrng towerbrng
gp Cren1 ref TP2
lwidth 2.5;color ColDS;fstyle solid
path ref TP2
color 0;fstyle hollow
path ref TP2
DRAWCRELLELATION
gv CrenBrng towerbrng+90
gp Cren1 ref TP3
lwidth 2.5;color ColDS;fstyle solid
path ref TP3
color 0;fstyle hollow
path ref TP3
DRAWCRELLELATION
gv CrenBrng towerbrng+180
gp Cren1 ref TP4
lwidth 2.5;color ColDS;fstyle solid
path ref TP4
color 0;fstyle hollow
path ref TP4
DRAWCRELLELATION
ifz RS squarepeakroof
:squareflatroof
go done
:squarepeakroof
gp TP1 ref towercenter
gp TP2 ref towercenter
gp TP3 ref towercenter
gp TP4 ref towercenter
lwidth 0;color ColLR;fstyle solid;poly TP1 TP2 TP3;
color ColDR
;poly TP3 TP4 TP1;
color 0;fstyle hollow;poly TP1 TP2 TP3 TP4;
line TP1 TP3;
line TP2 TP4;
color ColDR;fstyle solid;lwidth 1;line towercenter TP4;
color 0;fstyle hollow;lwidth 1;line towercenter TP4;
color ColLR;fstyle solid;lwidth 1;line towercenter TP2;
color 0;fstyle hollow;lwidth 1;line towercenter TP2;
color ColLR;fstyle solid;lwidth 1;line TP1 TP3;
color 0;fstyle hollow;lwidth 1;line TP1 TP3;
go done
:done
endm
macro DRAWWALL3
color 0;lwidth 0;fstyle solid
gbrng B12 wallpoint1 wallpoint2
gdist Dist12 wallpoint1 wallpoint2
gp L1 ref wallpoint1
gp R1 ref wallpoint1
color ColLS;lstyle solid;fstyle solid;lwidth WW;line wallpoint1 wallpoint2;
color ColDS;lwidth 1.5;line L1 ref L1
line R1 ref R1
color 0;fstyle hollow;line L1 ref L1
line R1 ref R1
gp Cren1 ref L1
gv CrenBrng B12
gv CrenTDist Dist12
DRAWCRELLELATION
ifz sides done
gp Cren1 ref R1
gv CrenBrng B12
gv CrenTDist Dist12
DRAWCRELLELATION
:done
endm
macro DRAWCRELLELATION
gp CrenS Cren1
:loop
gp Cren2 ref Cren1
lstyle solid;color ColDS;lwidth 2.5;fstyle solid;line Cren1 Cren2;
color 0;fstyle hollow;line Cren1 Cren2;
gdist CrenDist CrenS Cren2
ifn CrenTDist-CrenDist-7.5 control1
gp Cren1 ref Cren1
go loop
:control1
endm
macro CITYWALL3TOWER
ecoff
rdoff
gv ColDS 18
gv ColLS 16
gv ColDR 11
gv ColLR 10
gv TWW 5
gv TW 20
gv TS 1
gv RS 0
gv TW ^DEnter tower width:
ifn TW-20 control1
go control2
:control1
gv TW 20
:control2
gv TS ^DChose tower style (square=0, circle=1):
gv RS ^DChose tower roof style (peaked=0, flat=1):
ifz RS askwalkwaywidth
go loop
:askwalkwaywidth
gv TWW ^DTower walkway width (defalt=5, none=0):
:loop
gp towercenter ^DPick tower center:
iferr done
ifz TS-1 control3
line towercenter ^DTower angle:;
gp anglereference @0,0
selbyp;erase;
gbrng towerbrng towercenter anglereference
:control3
drawtower3
go loop
:done
selbyd
econ
endm
Название | Стена Города 4 |
Автор | Morgan Olden |
Команда | CITYWALL4 |
Описание | Как и CITYWALL1, этот макрос преобразовывает имеющуюся плавную линию в изображение стены города, эта стена выглядит как в CITYWALL3, то есть с зубцами и т.п. |
Инструкции | Перед указанием плавной линии, которую вы хотите преобразовать в городсую стену, надо указать ширину стены. Используйте макрос CITYWALLTOWER3, чтобы установить башни на стену.
Этот макрос может иногда работать со сбоями, если имеются другие объекты, поверх которых будет рисоваться стена. Если дело обстоит так, лучше рисовать стену на временном слое (layer Temporary), при замораживании (freeze) всех других слоев.
Другая возможная причина сбоев - слишком большое отдаление от стены в процессе преобразования. Если макрос сбоит, попытайтесь снова после изменения масштаба изображения ближе к объекту преобразования. |
Код
macro CITYWALL4
ecoff
gv mcoColDS 18
gv mcoColLS 16
gv mcogap 2.5
gv mcoWW 10
gv mcoWW ^DWall width (10):
ge mcoentity ^DSelect line to convert:
iferr mcodone
gp mcooriginal % 0 mcoentity
selby1
gbrng mcoB1 % 0 mcoentity % .001 mcoentity
lstyle solid;color 0;lwidth 2.5;fstyle solid
offset ((mcoWW/2)+.5) % 0 mcoentity ref % 0 mcoentity
selbyp
changec2 mcoColDS
ge mcoentity ref % 0 mcoentity
selby1
STC mcoentity
front mcoentity
gdist mcoremainder % 0 mcoentity % 1 mcoentity
gv mcoremainder (mcoremainder*100)-5
gv mcosegments 0
:mcoremainderloop
ifn mcoremainder-7.5 mcodoneremainderloop
gv mcosegments mcosegments+1
gv mcoremainder mcoremainder-7.5
go mcoremainderloop
:mcodoneremainderloop
Citywall4a
ge mcoentity mcooriginal
offset ((mcoWW/2)+.5) % 0 mcoentity ref % 0 mcoentity
selbyp
changec2 mcoColDS
ge mcoentity ref % 0 mcoentity
selby1
STC mcoentity
front mcoentity
gdist mcoremainder % 0 mcoentity % 1 mcoentity
gv mcoremainder (mcoremainder*100)-5
gv mcosegments 0
:mcoremainderloop2
ifn mcoremainder-7.5 mcodoneremainderloop2
gv mcosegments mcosegments+1
gv mcoremainder mcoremainder-7.5
go mcoremainderloop2
:mcodoneremainderloop2
Citywall4a
selby1
ge mcoentity mcooriginal
CHANGEC mcoentity 0
CHANGEC2 mcoentity mcoColDS
CHANGELW mcoentity (mcoWW+1.5)
CHANGEFS mcoentity SOLID
selbyp
copy 0,0 0,0;
CHANGEC2 mcoColLS
CHANGELW (mcoWW-1.5)
:mcodone
selbyd
econ
endm
macro CITYWALL4A
gdist mcolen % 0 mcoentity % 1 mcoentity
gv mcopartlen ((mcolen*100)-((mcosegments-1)*mcogap))/mcosegments
gp mcoP1 % 0 mcoentity
:mcoloop
ge mcoentity mcoP1
gdist mcolen % 0 mcoentity % 1 mcoentity
gv mcounit 1/mcolen
gp mcoP2 % (mcopartlen*mcounit) mcoentity
gp mcoP3 % ((mcopartlen+mcogap)*mcounit) mcoentity
break mcoentity mcoP2 mcoP3
gv mcosegments mcosegments-1
ifz mcosegments-1 mcodoneloop
gp mcoP1 mcoP3
go mcoloop
:mcodoneloop
endm
Название | Стена Города 5 |
Автор | Morgan Olden |
Команда | citywall5 |
Описание | Изображение городской стены с башнями (высоко детализованное, с зубцами), но не ставит башни в углах.
|
Инструкции | Этот макрос работает как и Городская Стена 3, но есть и некоторые отличия:
1. Нет башен - в углах ставит зубец парапета.
2. Сохранение настроек - макрос запоминает последние использованные настройки.
3. Выбор цветов - вы можете сами указать желаемые цвета.
4. Группировка - после завершения работы макроса созданные объекты сгруппированы, что облегчает их редактирование.
5. Восстановление всех значений (заливка, толщина, стиль линии и т.п.) к исходным на момент запуска макроса.
В макрос включен файл скрипта с кодом (смотри вложение). Для работы скрипта просто запустите его из СС2.
|
Вложение | Файл скрипта (citywall5.scr) содержит макрос. |
Код
macro CityWall5 ecoff rdoff point 10001,10001; golayer
MacroConstruction scriptm #citywall5-vars.scr ifdef mcoCityWall5VarsOK
mcoDoneVarCheck :mcoDefineVars gv mcoWW 10 gv mcoRCren 1 gv mcoLCren
1 gv mcoColDS 14 gv mcoColLS 251 gcol mcoColDS ^DDark stone colour?
(14) gcol mcoColLS ^DLight stone colour? (251) gv mcoWW ^DWall width
(10) gv mcoRCren ^DRight side crenelation? (1=yes, 0=no) gv mcoLCren
^DLeft side crenelation? (1=yes, 0=no) gw mcoCityWall5VarsOK OK savevars
citywall5-vars go mcoStart :mcoDoneVarCheck gv mcoUseDefault 1 gv
mcoUseDefault ^DUse saved settings? (1=yes - default - click) (0=no) ifz
mcoUseDefault mcoDefineVars :mcoStart gv mcoBLeg 0 gv mcoFirstTime
0 color 0 lwidth 0 lstyle solid fstyle solid selbyp gp mcoP1
^DPoint 1: iferr mcoabort gp mcoP2 ^DPoint 2: line mcoP1
mcoP2; gdist mcoD12 mcoP1 mcoP2 ifz mcoD12 mcoabort GBRNG mcoB12 mcoP1
mcoP2 gp mcoP1R ref mcoP1 gp mcoP1L ref mcoP1
gp mcoP1Rint ref mcoP1
gp mcoP1Lint ref mcoP1
gp mcoP1RC ref mcoP1
gp mcoP1LC ref mcoP1
gp mcoP3 mcoP2 gp mcoP3 ^DNext Point: line
mcoP2 mcoP3; gdist mcoD23 mcoP2 mcoP3 ifz mcoD23 mcoControl1 gp mcoPsl
mcoP1L gp mcoPsr mcoP1R :mcoloop GBRNG mcoB12 mcoP1 mcoP2 GBRNG
mcoB23 mcoP2 mcoP3 gcos mcowcs 90-((mcoB12-mcoB23-180)/2) gv mcoaw
1/mcowcs*(mcoWW/2) gv mcoawint 1/mcowcs*((mcoWW/2)-1.5) gv mcoawCren
1/mcowcs*((mcoWW/2)-.25) gp mcoP2R ref mcoP2
<(mcoB12+mcoB23)/2+90,mcoaw gp mcoP2L ref mcoP2
<(mcoB12+mcoB23)/2-90,mcoaw gp mcoP2Rint ref mcoP2
<(mcoB12+mcoB23)/2+90,mcoawint gp mcoP2Lint ref mcoP2
<(mcoB12+mcoB23)/2-90,mcoawint gp mcoP2RC ref mcoP2
<(mcoB12+mcoB23)/2+90,mcoawCren gp mcoP2LC ref mcoP2
<(mcoB12+mcoB23)/2-90,mcoawCren poly mcoP1L mcoP2L mcoP2R
mcoP1R; changec mcoColLS line mcoP1L mcoP2L; line mcoP1R mcoP2R; ifz
mcoRCren mcoDoneCrenLoop1 poly mcoP1R mcoP2R mcoP2Rint mcoP1Rint; changec2
mcoColDS lwidth 2.5 gdist mcoD12RC mcoP1RC mcoP2RC ifz mcoD12RC-7.5
mcoDoneCrenLoop1 gn mcoLoopCount (mcoD12RC-12.5)/7.5 path ref mcoP1RC
changec2
mcoColDS ifz mcoLoopCount mcoDoneCrenLoop1 ifn mcoLoopCount
mcoDoneCrenLoop1 gv mcoCrenDist (mcoD12RC-12.5)/mcoLoopCount gv mcoCurLen
7.5 :mcoCrenLoop1 line ref mcoP1RC changec2 mcoColDS gv mcoCurLen
mcoCurLen+mcoCrenDist gv mcoLoopCount mcoLoopCount-1 ifp mcoLoopCount
mcoCrenLoop1 :mcoDoneCrenLoop1 ifz mcoLCren mcoDoneCrenLoop2 lwidth
0 poly mcoP1L mcoP2L mcoP2Lint mcoP1Lint; changec2 mcoColDS lwidth
2.5 gdist mcoD12LC mcoP1LC mcoP2LC ifz mcoD12LC-7.5 mcoDoneCrenLoop2 gn
mcoLoopCount (mcoD12LC-12.5)/7.5 path ref mcoP1LC
changec2
mcoColDS ifz mcoLoopCount mcoDoneCrenLoop2 ifn mcoLoopCount
mcoDoneCrenLoop2 gv mcoCrenDist (mcoD12LC-12.5)/mcoLoopCount gv mcoCurLen
7.5 :mcoCrenLoop2 line ref mcoP1LC changec2 mcoColDS gv mcoCurLen
mcoCurLen+mcoCrenDist gv mcoLoopCount mcoLoopCount-1 ifp mcoLoopCount
mcoCrenLoop2 :mcoDoneCrenLoop2 lwidth 0 gp mcoP4 mcoP3 gp mcoP4
^DNext Point line mcoP3 mcoP4; gdist mcoD34 mcoP3 mcoP4 ifz mcoD34
mcodone gp mcoP1 mcoP2 gp mcoP2 mcoP3 gp mcoP3 mcoP4 gp mcoP1L
mcoP2L gp mcoP1R mcoP2R gp mcoP1Lint mcoP2Lint gp mcoP1Rint
mcoP2Rint gp mcoP1RC mcoP2RC gp mcoP1LC mcoP2LC gv mcoBLeg mcoB12 gv
mcoFirstTime 1 goto mcoloop :mcoDone gv mcoFT1 1 go
mcoControl2 :mcoControl1 gp mcoP2 mcoP1 gp mcoP2L mcoP1L gp mcoP2R
mcoP1R gp mcoP2RC mcoP1RC gp mcoP2LC mcoP1LC gp mcoP2Lint
mcoP1Lint gp mcoP2Rint mcoP1Rint gbrng mcoB23 mcoP2 mcoP3 gv mcoFT1
0 :mcoControl2 gp mcoP3R ref mcoP3 gp mcoP3L ref
mcoP3 gp mcoP3Rint ref mcoP3
gp mcoP3Lint ref mcoP3
gp mcoP3RC ref mcoP3
gp mcoP3LC ref mcoP3
poly mcoP2L mcoP3L mcoP3R mcoP2R; changec
mcoColLS line mcoP2L mcoP3L; line mcoP2R mcoP3R; ifz mcoRCren
mcoDoneCrenLoop3 poly mcoP2R mcoP3R mcoP3Rint mcoP2Rint; changec2
mcoColDS lwidth 2.5 gdist mcoD23RC mcoP2RC mcoP3RC ifz mcoD23RC-7.5
mcoDoneCrenLoop3 gn mcoLoopCount (mcoD23RC-12.5)/7.5 path ref mcoP2RC
changec2
mcoColDS ifz mcoLoopCount mcoCrenEndcap1 ifn mcoLoopCount
mcoCrenEndcap1 gv mcoCrenDist (mcoD23RC-12.5)/mcoLoopCount gv mcoCurLen
7.5 :mcoCrenLoop3 line ref mcoP2RC changec2 mcoColDS gv mcoCurLen
mcoCurLen+mcoCrenDist gv mcoLoopCount mcoLoopCount-1 ifp mcoLoopCount
mcoCrenLoop3 :mcoCrenEndcap1 line mcoP3RC ref mcoP3RC
changec2 mcoColDS :mcoDoneCrenLoop3 ifz mcoLCren
mcoDoneCrenLoop4 lwidth 0 poly mcoP2L mcoP3L mcoP3Lint
mcoP2Lint; changec2 mcoColDS lwidth 2.5 gdist mcoD23LC mcoP2LC
mcoP3LC ifz mcoD23LC-7.5 mcoDoneCrenLoop4 gn mcoLoopCount
(mcoD23LC-12.5)/7.5 path ref mcoP2LC changec2 mcoColDS ifz mcoLoopCount
mcoCrenEndcap2 ifn mcoLoopCount mcoCrenEndcap2 gv mcoCrenDist
(mcoD23LC-12.5)/mcoLoopCount gv mcoCurLen 7.5 :mcoCrenLoop4 line ref
mcoP2LC changec2 mcoColDS gv mcoCurLen
mcoCurLen+mcoCrenDist gv mcoLoopCount mcoLoopCount-1 ifp mcoLoopCount
mcoCrenLoop4 :mcoCrenEndcap2 line mcoP3LC ref mcoP3LC
changec2 mcoColDS :mcoDoneCrenLoop4 lwidth
0 selbyl changel
MacroConstruction like 10001,10001 selbyp group :mcoabort selby1 keep
10001,10001 erase
10001,10001 selrest rdon econ endm
Morgan Olden Copyright © AD&Den`s Lair Все права защищены. Опубликовано на: 2005-03-29 (2758 Прочтено) [ Вернуться назад ]
|
|
|
|
|