Макросы для СС2
Название | Изломаная дорога 1 |
Автор | Morgan Olden |
Команда | roughpath1 |
Описание | Преобразовывает линию или плавную линию в дорогу меняющейся ширины.
|
Инструкции | Этот макрос создает цепь слитых полигонов, отчего и создается эффект "изломаности". Используйте временный слой, для теста макроса, а потом переместите результат в нужный слой.
В макрос включен файл скрипта с кодом. Для работы скрипта просто запустите его из СС2.
|
Код
macro roughpath1
ecoff
rdoff
gv mcoLW 10
gv mcoLW ^DPath width? (10)
gv mcoPR 1
gv mcoPR ^DPath roughness? (.9=smoother, 1.1=rougher) (1)
gv mcoPC 1
gv mcoPC ^DPath complexity (.9=less nodes, 1.1=more nodes) (1)
gv mcoPC 1/mcoPC
ge mcoEntity ^DSelect object to convert:
iferr mcoDONE
gdist mcoDist % 0 mcoEntity % .1 mcoEntity
gv mcoUnit 100/(mcoDist*1000)
gp mcoP1 % 0 mcoEntity
gbrng mcoB12 mcoP1 % .01 mcoEntity
random mcoR1
random mcoR2
gp mcoP1a ref mcoP1 gp mcoP1b ref mcoP1 gv mcoStep mcoLW*mcoPC*mcoUnit
gv mcoStep2 mcoStep
:mcoSEGLOOP
gp mcoP3 % mcoStep mcoEntity
gp mcoP4 % mcoStep2 mcoEntity
ifp mcoStep-100 mcoDONESEGLOOP
ifp mcoStep2-100 mcoDONESEGLOOP
random mcoR1
random mcoR2
gbrng mcoB12 % mcoStep mcoEntity % mcoStep+.01 mcoEntity
gp mcoP3a ref mcoP3 gp mcoP3b ref mcoP4 poly mcoP1a mcoP1b mcoP3b mcoP3a;
gp mcoP1a mcoP3a
gp mcoP1b mcoP3b
random mcoR1
random mcoR2
gv mcoStep2 mcoStep+((mcoLW/2)+(mcoLW/2*mcoR2))*mcoPC*mcoUnit
gv mcoStep mcoStep+((mcoLW/2)+(mcoLW/2*mcoR1))*mcoPC*mcoUnit
go mcoSEGLOOP
:mcoDONESEGLOOP
gbrng mcoB12 % 99.9 mcoEntity % 100 mcoEntity
gp mcoP2 % 100 mcoEntity
poly mcoP1a mcoP1b ref mcoP2 :mcoDONE
rdon
econ
endm
Название | Изломаная дорога 2 |
Автор | Morgan Olden |
Команда | roughpath2 |
Описание | Изображает дорогу меняющейся ширины, как линию.
|
Инструкции | Этот макрос создает цепь слитых полигонов, отчего и создается эффект "изломаности". Используйте временный слой, для теста макроса, а потом переместите результат в нужный слой.
В макрос включен файл скрипта с кодом. Для работы скрипта просто запустите его из СС2.
|
Код
macro roughpath2
ecoff
rdoff
gv mcoLW 10
gv mcoLW ^DPath width? (10)
gv mcoPR 1
gv mcoPR ^DPath roughness? (.9=smoother, 1.1=rougher) (1)
gv mcoPC 1
gv mcoPC ^DPath complexity (.9=less nodes, 1.1=more nodes) (1)
gv mcoPC 1/mcoPC
gp mcoP1 ^DStart path...
iferr mcoDONE
line mcoP1 ^DNext point... (right click ends);
undo
gp mcoP2 @0,0
gdist mcoD12 mcoP1 mcoP2
ifz mcoD12 mcoDONE
lstyle solid;fstyle solid;lwidth 0
gbrng mcoB12 mcoP1 mcoP2
random mcoR1
random mcoR2
gp mcoP1a ref mcoP1 gp mcoP1b ref mcoP1 gv mcoStep mcoLW*mcoPC
gv mcoStep2 mcoStep
go mcoSEGLOOP
:mcoLINELOOP
line mcoP1 ^DNext point... (right click ends);
undo
gp mcoP2 @0,0
gdist mcoD12 mcoP1 mcoP2
ifz mcoD12 mcoCLEANUP
gbrng mcoB12 mcoP1 mcoP2
gv mcoStep mcoLW*mcoPC
gv mcoStep2 mcoStep
:mcoSEGLOOP
gp mcoP3 ref mcoP1 gp mcoP4 ref mcoP1 gdist mcoD13 mcoP1 mcoP3
ifp mcoD13-mcoD12 mcoDONESEGLOOP
gdist mcoD14 mcoP1 mcoP4
ifp mcoD14-mcoD12 mcoDONESEGLOOP
random mcoR1
random mcoR2
gp mcoP3a ref mcoP3 gp mcoP3b ref mcoP4 poly mcoP1a mcoP1b mcoP3b mcoP3a;
gp mcoP1a mcoP3a
gp mcoP1b mcoP3b
random mcoR1
random mcoR2
gv mcoStep2 mcoStep+((mcoLW/2)+(mcoLW/2*mcoR2))*mcoPC
gv mcoStep mcoStep+((mcoLW/2)+(mcoLW/2*mcoR1))*mcoPC
go mcoSEGLOOP
:mcoDONESEGLOOP
gp mcoP1 mcoP2
go mcoLINELOOP
:mcoCLEANUP
poly mcoP1a mcoP1b ref mcoP2 :mcoDONE
rdon
econ
endm
Название | Изломаная дорога 3 |
Автор | Morgan Olden |
Команда | roughpath3 |
Описание | Улучшенная версия, объединившая в себе макросы "Изломаная дорога 1" и "Изломаная дорога 2".
|
Инструкции | Этот макрос заменяет макросы "Изломаная дорога 1" и "Изломаная дорога 2". Он запрашивает объект для преобразования, если объект не выбран, то макрос стартует изображение.
Обновления:
- Все объекты изображенные макросом объединены в один объект.
- Свойства изображения (толщина, цвет линии и т.п.) восстанавливаются.
- Свойства макроса сохраняются.
В макрос включен файл скрипта с кодом. Для работы скрипта просто запустите его из СС2.
|
Код
macro roughpath3
ecoff
rdoff
point 10001,10001;
golayer MacroConstruction
scriptm #roughpath-vars.scr
ifdef mcoVarsOK mcoDoneVarCheck
:mcoDefineVars
gv mcoLW 10
gv mcoLW ^DPath width? (10)
gv mcoPR 1
gv mcoPR ^DPath roughness? (.9=smoother, 1.1=rougher) (1)
gv mcoPC 1
gv mcoPC ^DPath complexity (.9=less nodes, 1.1=more nodes) (1)
gv mcoPC 1/mcoPC
savevars roughpath-vars
gw mcoVarsOK OK
go mcoStart
:mcoDoneVarCheck
gv mcoUseDefault 1
gv mcoUseDefault ^DUse saved settings? (1=yes - default - click) (0=no)
ifz mcoUseDefault mcoDefineVars
:mcoStart
ge mcoEntity ^DSelect object to convert:
iferr mcoDrawPath
gdist mcoDist % 0 mcoEntity % .1 mcoEntity
gv mcoUnit 100/(mcoDist*1000)
gp mcoP1 % 0 mcoEntity
gbrng mcoB12 mcoP1 % .01 mcoEntity
random mcoR1
random mcoR2
gp mcoP1a ref mcoP1 gp mcoP1b ref mcoP1
gv mcoStep mcoLW*mcoPC*mcoUnit
gv mcoStep2 mcoStep
:mcoSEGLOOP
gp mcoP3 % mcoStep mcoEntity
gp mcoP4 % mcoStep2 mcoEntity
ifp mcoStep-100 mcoDONESEGLOOP
ifp mcoStep2-100 mcoDONESEGLOOP
random mcoR1
random mcoR2
gbrng mcoB12 % mcoStep mcoEntity % mcoStep+.01 mcoEntity
gp mcoP3a ref mcoP3 gp mcoP3b ref mcoP4 poly mcoP1a mcoP1b mcoP3b mcoP3a;
gp mcoP1a mcoP3a
gp mcoP1b mcoP3b
random mcoR1
random mcoR2
gv mcoStep2 mcoStep+((mcoLW/2)+(mcoLW/2*mcoR2))*mcoPC*mcoUnit
gv mco
Step mcoStep+((mcoLW/2)+(mcoLW/2*mcoR1))*mcoPC*mcoUnit
go mcoSEGLOOP
:mcoDONESEGLOOP
gbrng mcoB12 % 99.9 mcoEntity % 100 mcoEntity
gp mcoP2 % 100 mcoEntity
poly mcoP1a mcoP1b ref mcoP2 go mcoDone
:mcoDrawPath
gp mcoP1 ^DStart path...
iferr mcoDONE
line mcoP1 ^DNext point... (right click ends);
undo
gp mcoP2 @0,0
gdist mcoD12 mcoP1 mcoP2
ifz mcoD12 mcoDONE
lstyle solid;fstyle solid;lwidth 0
gbrng mcoB12 mcoP1 mcoP2
random mcoR1
random mcoR2
gp mcoP1a ref mcoP1 gp mcoP1b ref mcoP1 gv mcoStep mcoLW*mcoPC
gv mcoStep2 mcoStep
go mcoSEGLOOP2
:mcoLINELOOP
line mcoP1 ^DNext point... (right click ends);
undo
gp mcoP2 @0,0
gdist mcoD12 mcoP1 mcoP2
ifz mcoD12 mcoCLEANUP
gbrng mcoB12 mcoP1 coP2
gv mcoStep mcoLW*mcoPC
gv mcoStep2 mcoStep
:mcoSEGLOOP2
gp mcoP3 ref mcoP1 gp mcoP4 ref mcoP1 gdist mcoD13 mcoP1 mcoP3
ifp mcoD13-mcoD12 mcoDONESEGLOOP2
gdist mcoD14 mcoP1 mcoP4
ifp mcoD14-mcoD12 mcoDONESEGLOOP2
random mcoR1
random mcoR2
gp mcoP3a ref mcoP3 gp mcoP3b ref mcoP4 poly mcoP1a mcoP1b mcoP3b mcoP3a;
gp mcoP1a mcoP3a
gp mcoP1b mcoP3b
random coR1
random mcoR2
gv mcoStep2 mcoStep+((mcoLW/2)+(mcoLW/2*mcoR2))*mcoPC
gv mcoStep mcoStep+((mcoLW/2)+(mcoLW/2*mcoR1))*mcoPC
go mcoSEGLOOP2
:mcoDONESEGLOOP2
gp mcoP1 mcoP2
go mcoLINELOOP
:mcoCLEANUP
poly mcoP1a mcoP1b ref mcoP2 :mcoDone
selbyl
changel MacroConstruction
like
10001,10001
selbyp
group
:mcoabort
selby1
keep 10001,10001
erase 10001,10001
selrest
rdon
econ
endm
Copyright © AD&Den`s Lair Все права защищены.