Вверх ↑
Этот топик читают: Гость
Ответов: 964
Рейтинг: 12
#1: 2007-05-26 18:30:02 ЛС | профиль | цитата
Анонс .
Пришла (а точнее дозрела ) мысль написать достаточно простой векторный редактор с возможностью генерации схем для ХайАсма.
Есть еще идея сделать возможность добавлять инструменты редактирования без
изменения основной программы (через скрипты )
GraffKor как задумывается как часть обширного инструментального пакета HiAsm+

Жду предложений по функциям .


карма: 0

0
Ответов: 5446
Рейтинг: 323
#2: 2007-05-26 20:03:29 ЛС | профиль | цитата
AlexKir, а на основе какого формата планируется делать редактор: swf, svg, vml, ..., ..., ... ?
карма: 1

0
Ответов: 3655
Рейтинг: 69
#3: 2007-05-26 23:08:19 ЛС | профиль | цитата
AlexKir писал(а):
Пришла (а точнее дозрела ) мысль написать достаточно простой векторный редактор с возможностью генерации схем для ХайАсма

Непонятно он что будет делать
карма: 0

0
Ответов: 2059
Рейтинг: 28
#4: 2007-05-26 23:59:20 ЛС | профиль | цитата
Вячеслав писал(а):
Непонятно он что будет делать

Я то же не понял. Для чего он нужен то?
карма: 1

0
Ответов: 964
Рейтинг: 12
#5: 2007-05-27 06:31:13 ЛС | профиль | цитата
iarspider писал(а):
AlexKir, а на основе какого формата планируется делать редактор: swf, svg, vml, ..., ..., ... ?


Основной будет SHA ! A экспортный модуль в другие форматы сделать не трудно .
Ну для начала можно сделать конверт в wmf (Windows meta file ) и DFX (Открытый автокадовский ) редактор планируется сделать сугубо 2D
(3d проект думаю стоит пока отложить тем более что но видится мне как производный от 2D хотя это ИДЕЯ! - генерация схем с OGL наконец сдвинет с мертвой точки 3D подсистему хайасм-а . )
Зы
Вообще неплохо бы подумать о конверсии 3DS2SHA !


[size=-2]------ Добавлено в 04:59
Уточнение скорее всего біуду генрировать даже не прямой sha код а скрипт для SDKBtn или ScriptEvents (При их применеии нет нужды настраивать линки и следить за идентификаторами)

Add(SDKBtn,2691211,126,49)
{
Width=75
Script=#16:function Pause()|14: Beep(0,1000)|15: AppMessages()|3:end|0:|16:function Click()|33: btn = sdk.Add("Button",170,170)|9: Pause()|34: msg = sdk.Add("Message",220,170)|9: Pause()|41: sdk.Link(btn,"onClick",msg,"doMessage")|9: Pause()|45: sdk.SetProp(msg,"Message","Hello world!!!")|36: Message("Теперь запустите проект")|0:|3:end|
Caption="Просмотр"
}

[size=-2]------ Добавлено в 05:35
AlexKir писал(а):
Вячеслав писал(а)Непонятно он что будет делать
Я то же не понял. Для чего он нужен то?


В кратце мысль такая рисуем на экране мышкой как в обычном редакторе на выходе получаем СХЕМУ . (Возможно с анимаций это проще чем 3д сделать )
Я вижу несколько возможных вариантов для решения этой задачи - нужно подумать как лучше
сделать . Кроме того у меня давно есть необходимость в редакторе графики как части своего инструментария для интеграции в разные программы .

[size=-2]------ Добавлено в 06:31
------------------------------------------------------------------------
Есть интересная идея по интерфейсу но что-то не так работает ChildScrollBox
code_1473.txt
карма: 0

0
файлы: 1code_1473.txt [1.5KB] [223]
Ответов: 56
Рейтинг: 1
#6: 2007-05-27 06:53:09 ЛС | профиль | цитата
Add(ChildScrollBox,10474439,245,182)
{
}
BEGIN_SDK
Add(EditMulti,10736212,3,3)
{
WorkCount=1
link(doWork1,11889888:Add,[(57,9)(57,69)])
}
Add(ScrollBox,13089319,35,105)
{
Width=78
Height=474
Align=1
Point(doVisible)
}
Add(ChildPanelEx,11889888,112,63)
{
}
BEGIN_SDK
Add(EditMultiEx,13708327,3,3)
{
WorkCount=#3:Add|
link(Add,9705101:doEvent1,[(29,9)(29,55)])
}
Add(Panel,6214187,273,91)
{
Width=55
Height=25
ModeSp=1
ColorSp=8421376
Point(doColor)
Point(doHeight)
}
Add(ChildPanelEx,3383473,119,7)
{
}
BEGIN_SDK
Add(EditMultiEx,10791289,3,3)
{
}
Add(Panel,9403190,35,105)
{
Left=2
Top=2
Width=51
Height=23
Align=2
Color=8421504
Font=[MS Sans Serif,12,1,16777215,1]
Caption="Tools"
Alignment=2
Point(doColor)
}
END_SDK
Add(ChildPanelEx,5920392,126,49)
{
Mode=1
}
BEGIN_SDK
Add(EditMultiEx,13748618,3,3)
{
WorkCount=#5:##add|
Width=307
Point(##add)
link(##add,6227834:doCaption,[(19,9)(19,111)])
}
Add(Panel,6227834,35,105)
{
Left=2
Top=2
Width=51
Height=35
Align=2
Point(doColor)
}
END_SDK
Add(Hub,9705101,56,49)
{
link(onEvent1,5920392:##add,[])
link(onEvent2,7485893:doOperation,[(107,62)(107,111)])
}
Add(Math,7485893,126,105)
{
Op2=1
link(onResult,14562932:doOperation,[])
link(Op1,7485893:Result,[(132,95)(116,95)(116,147)(132,147)])
}
Add(Math,14562932,168,105)
{
OpType=2
Op2=37
link(onResult,8451265:doOperation,[])
}
Add(Math,8451265,217,105)
{
Op2=29
link(onResult,6214187:doHeight,[])
}
END_SDK
END_SDK
Add(Button,3842272,119,168)
{
Left=100
Top=30
Caption="Test"
link(onClick,16269056:doNext,[])
}
Add(Counter,16269056,168,168)
{
link(onNext,10474439:doWork1,[(222,174)(222,188)])
}
карма: 1

0
Ответов: 964
Рейтинг: 12
#7: 2007-05-27 11:21:16 ЛС | профиль | цитата
Спасибо !
Буду разбираться .
Зы
Странно, а почему же так работает ?.
(Это обрезанный кусок моего старого проекта )

А уж что творится на счете 2 вообще бред - тихие нечисла однако !



Add(MainForm,7780708,140,147)
{
Left=20
Top=105
Width=647
Height=535
}
Add(ChildScrollBox,16558849,369,278)
{
}
BEGIN_SDK
Add(EditMulti,3741646,3,3)
{
WorkCount=1
DataCount=3
Width=593
Height=409
link(doWork1,5104866:##add,[(94,9)(94,126)])
}
Add(ScrollBox,13257667,41,235)
{
Left=111
Width=528
Height=508
Align=3
Point(doVisible)
}
Add(ChildPanelEx,5104866,186,120)
{
Mode=1
link(Count,5104866:##count,[(192,97)(253,97)(253,179)(192,179)])
link(Stream,3741646:Data1,[(199,62)(9,62)])
link(FSize,3741646:Data2,[(206,62)(16,62)])
link(FPos,3741646:Data3,[(213,62)(23,62)])
}
BEGIN_SDK
Add(EditMultiEx,12679345,22,24)
{
WorkCount=#5:##add|8:##select|7:##clear|9:##hselect|5:Index|
EventCount=#10:toGetIndex|7:AddNext|
VarCount=#7:##count|8:##index |9:##handle |
DataCount=#5:Count|6:Stream|5:FSize|4:FPos|
Width=963
Height=671
Point(##add)
Point(##select)
Point(##clear)
Point(##hselect)
Point(##count)
link(##add,6885667:doText,[(84,30)(84,43)])
}
Add(Panel,921337,88,131)
{
Width=538
Height=249
Align=2
Font=[Times New Roman,10,1,0,204]
Point(doColor)
}
Add(Label,6885667,146,37)
{
Left=12
Top=10
Width=11
Height=19
Caption="0"
}
END_SDK
END_SDK
Add(Button,4848962,217,252)
{
Left=25
Top=45
link(onClick,3975454:doNext,[(261,258)(261,279)])
}
Add(Counter,3975454,287,273)
{
link(onNext,16558849:doWork1,[(344,279)(344,284)])
}



карма: 0

0
Ответов: 56
Рейтинг: 1
#8: 2007-05-27 13:06:17 ЛС | профиль | цитата
Схема большая но глюков не должнобыть.
Add(ChildPanel,14256223,252,168)
{
}
BEGIN_SDK
Add(EditMulti,8626797,3,3)
{
WorkCount=1
DataCount=3
Width=536
Height=347
link(doWork1,5451095:doWork2,[(370,9)(370,218)])
}
Add(ChildPanel,5451095,397,205)
{
link(onEvent1,5615827:doWork1,[(439,211)(439,195)(278,195)(278,211)])
link(Data1,1768006:Handle,[])
link(Data2,8626797:Data1,[(410,180)(9,180)])
link(Data3,8626797:Data2,[(417,177)(16,177)])
link(Data4,8626797:Data3,[(424,174)(23,174)])
}
BEGIN_SDK
Add(EditMulti,12366910,3,3)
{
EventCount=1
WorkCount=2
DataCount=4
Width=584
Height=776
link(doWork1,10367871:doTop,[(43,9)(43,118)])
link(doWork2,4521081:doEvent1,[(19,16)(19,258)])
}
Add(Math,14516326,84,252)
{
Op2=1
link(onResult,9344171:doOperation,[])
link(Op1,14516326:Result,[(90,242)(74,242)(74,294)(90,294)])
}
Add(Panel,10367871,203,98)
{
Width=439
Height=362
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
Point(doTop)
Point(doHeight)
}
Add(ChildPanelEx,8690098,287,259)
{
Mode=1
link(Count,8690098:##count,[(293,250)(281,250)(281,308)(293,308)])
link(Stream,12366910:Data2,[(300,235)(16,235)])
link(FSize,12366910:Data3,[(307,232)(23,232)])
link(FPos,12366910:Data4,[(314,227)(30,227)])
}
BEGIN_SDK
Add(EditMultiEx,12679345,22,24)
{
WorkCount=#5:##add|8:##select|7:##clear|9:##hselect|5:Index|
EventCount=#10:toGetIndex|7:AddNext|
VarCount=#7:##count|8:##index |9:##handle |
DataCount=#5:Count|6:Stream|5:FSize|4:FPos|
Width=963
Height=671
Point(##add)
Point(##select)
Point(##clear)
Point(##hselect)
Point(##count)
link(##add,6885667:doText,[(84,30)(84,43)])
}
Add(Panel,921337,88,131)
{
Width=538
Height=249
Align=2
Font=[Times New Roman,10,1,0,204]
Point(doColor)
}
Add(Label,6885667,146,37)
{
Left=12
Top=10
Width=11
Height=19
Caption="0"
}
END_SDK
Add(Math,9344171,126,252)
{
OpType=2
Op2=249
link(onResult,10367871:doHeight,[(180,258)(180,125)])
}
Add(Hub,4521081,35,252)
{
OutCount=3
link(onEvent1,14516326:doOperation,[])
link(onEvent2,8690098:##add,[(179,265)(179,265)])
}
Add(MultiElement,8169126,196,189)
{
link(onEvent1,10437628:doWork2,[(399,195)])
link(Data1,12366910:Data1,[(202,160)(9,160)])
link(Data2,10367871:Handle,[])
}
BEGIN_SDK
Add(EditMulti,12610009,3,3)
{
EventCount=1
DataCount=2
Width=430
Height=211
}
Add(Timer,5664798,35,140)
{
Interval=25
link(onTimer,593209:doData,[])
}
Add(DoData,593209,77,140)
{
link(onEventData,16578937:doOperation,[])
link(Data,5951328:CurrentHeight,[])
}
Add(SizeWindow,5951328,70,63)
{
link(Handle,12610009:Data1,[(76,41)(9,41)])
}
Add(Math,16578937,119,140)
{
OpType=1
link(onResult,4724182:doCompare,[])
link(Op2,1433084:CurrentHeight,[])
}
Add(SizeWindow,1433084,119,63)
{
link(Handle,12610009:Data2,[(125,37)(16,37)])
}
Add(If_else,4724182,189,140)
{
Type=4
Op2=String(0)
link(onTrue,2701143:doStrCat,[])
link(onFalse,2539521:doDelete,[(250,153)(250,104)])
}
Add(StrCat,2701143,273,140)
{
Str1="-"
link(onStrCat,4743430:doWork3,[(375,146)])
}
Add(Delete,2539521,273,98)
{
Count=1
link(onDelete,4743430:doWork2,[])
}
Add(HubEx,4743430,371,91)
{
link(onEvent,12610009:onEvent1,[(406,104)(406,9)])
}
END_SDK
Add(HubEx,10437628,399,182)
{
link(onEvent,12366910:onEvent1,[(497,195)(497,9)])
}
END_SDK
Add(ChildPanel,5615827,288,205)
{
link(onEvent1,5451095:doWork1,[(358,211)(358,211)])
}
BEGIN_SDK
Add(EditMulti,10812156,35,34)
{
EventCount=1
WorkCount=1
Width=440
link(doWork1,2564771:doEvent1,[(51,40)(51,48)])
}
Add(Panel,9151922,270,140)
{
Left=440
Width=16
Height=380
Align=3
Visible=1
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
Point(doVisible)
}
Add(MultiElement,14056287,109,56)
{
link(onEvent1,12529965:doWork1,[])
link(onEvent2,12529965:doWork2,[])
}
BEGIN_SDK
Add(EditMulti,6707845,3,3)
{
EventCount=2
WorkCount=1
Width=304
link(doWork1,9036052:doValue,[(33,9)(33,62)])
}
Add(Memory,9036052,63,56)
{
link(onData,2181127:doCopy,[])
}
Add(Copy,2181127,102,56)
{
Position=1
Count=1
link(onCopy,13135304:doCase,[])
}
Add(Case,13135304,141,56)
{
Value=String(-)
link(onNextCase,12935238:doCompare,[])
link(onTrue,11856290:doWork2,[(234,69)])
}
Add(HubEx,11856290,234,-4)
{
link(onEvent,6707845:onEvent1,[])
}
Add(If_else,12935238,239,56)
{
Op2=String(0)
link(onTrue,11856290:doWork3,[(277,62)(277,35)(238,35)])
link(onFalse,6707845:onEvent2,[(275,69)(275,16)])
link(Op1,9036052:Value,[(245,51)(218,51)(218,92)(69,92)])
}
END_SDK
Add(Hub,2564771,67,42)
{
OutCount=3
link(onEvent1,6687048:doWork1,[(267,48)])
link(onEvent2,1249074:doMax,[(203,55)(203,62)])
link(onEvent3,14056287:doWork1,[])
}
Add(StrCat,3190454,326,49)
{
Str1="-"
link(onStrCat,10586873:doEvent1,[])
link(Str2,14244416:Var2,[(339,44)(321,44)(321,97)])
}
Add(If_else,7209512,284,49)
{
Type=4
Op2=Integer(0)
link(onTrue,3190454:doStrCat,[])
link(Op1,14244416:Var3,[(291,44)(269,44)(269,93)])
}
Add(ScrollBar,1249074,228,49)
{
Width=60
Height=16
Align=5
Color=16777215
Kind=1
Point(doMax)
link(onPosition,6687048:doWork2,[])
}
Add(HubEx,6687048,263,42)
{
link(onEvent,7209512:doCompare,[])
}
Add(ChanelToIndex,12529965,151,56)
{
link(onIndex,9151922:doVisible,[(197,62)(197,160)])
}
Add(GetDataEx,14244416,221,84)
{
link(Data,1249074:Position,[])
}
Add(Hub,10586873,368,49)
{
link(onEvent1,10812156:onEvent1,[(437,55)(437,40)])
link(onEvent2,12140652:doData,[])
}
Add(DoData,12140652,413,56)
{
link(onEventData,1249074:doPosition,[(452,62)(452,90)(218,90)(218,55)])
link(Data,14244416:Var1,[(419,46)(466,46)(466,123)(219,123)(219,93)])
}
END_SDK
Add(Panel,1768006,397,61)
{
Left=159
Width=456
Height=380
Align=3
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(doColor)
Point(doVisible)
}
END_SDK
Add(Counter,3975454,182,168)
{
link(onNext,14256223:doWork1,[])
}
Add(Button,4848962,112,147)
{
Left=25
Top=45
link(onClick,3975454:doNext,[(156,153)(156,174)])
}
карма: 1

0
Ответов: 3655
Рейтинг: 69
#9: 2007-05-27 14:08:08 ЛС | профиль | цитата
AlexKir писал(а):
В кратце мысль такая рисуем на экране мышкой как в обычном редакторе на выходе получаем СХЕМУ . (Возможно с анимаций это проще чем 3д сделать )

С Анимацией понятно
А вот что можно ещё рисовать кроме линков
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#10: 2007-05-27 17:07:28 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-04 03:08:17
карма: 0

0
Ответов: 964
Рейтинг: 12
#11: 2007-05-31 11:38:40 ЛС | профиль | цитата
Проект ГрафКор

Предворительный план- спецификация разработки.

1) Редактор функций (Инструменты, кисти, экспорт импорт форматов, редактор палитры, ...)
1.1 Библиотека доступа к полотну из скрипта .
1.2 Микро редактор иконок
1.3 Механизм расширения через отдельные модули
1.4 Загрузка интерфейса .
1.5 Редактор отладчик скриптов .

2) Полотно
2.1 реальный уровень экрана
2.2 Виртуальный уровень ( не целочисленный )
2.2 Слои
2.1 Объекты
2.2 Доступ к объектам.
2.3 Гирд уровень
2.4 Линейки
2.5 Коллекция или стек объектов .

3) Блок анимации .
3.1 Перемещение объектов
3.2 Морфиннг
3.2 Редактор раскадровки

4. Блок генерации SHA-схем.
4.1 Сборщик просмотрщик макросов.
4.2 Генерация SHA / Несколько вариантов .

карма: 0

0
Ответов: 964
Рейтинг: 12
#12: 2007-05-31 17:18:16 ЛС | профиль | цитата
В процессе работы над проектом сделал простую тестовую программу для работы с паскаль- скриптом (Innerfuse Pascal Script ) может кому-то пригодится ...

http://alexkir.narod.ru/Soft/SkriptTest.rar
карма: 0

0
Ответов: 3655
Рейтинг: 69
#13: 2007-06-01 19:17:21 ЛС | профиль | цитата
AlexKir писал(а):
простую тестовую программу для работы с паскаль- скриптом

Не понял что она делает.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#14: 2007-06-02 21:24:36 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-04 03:08:16
карма: 0

0
Ответов: 3514
Рейтинг: 184
#15: 2007-06-02 21:42:29 ЛС | профиль | цитата
И всё равно
не понял что она делает
.
Точней зачем оно надо?
карма: 0
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)