gifts2017

"Склад3D" - ActiveX-компонента для 1С [DEMO]

Опубликовал Василий Демидов (Душелов) в раздел Программирование - Работа с интерфейсом

Демонстрация возможности создания визуального отображения размещения
товара на складе.
Так же использование 3Д объектов в 1С, на примере Кинозала 3D (http://infostart.ru/projects/4030/ ), спасибо biv75

*** Для работы компоненты потребуется установленный Microsoft .NET Framework 3.5, который можно скачать отсюда.
http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319-81da479ab0d7&displaylang=en

и зарегистрировать компоненту в Windows - запустить reg.bat
(для удаления информации о компоненте в Windows - запустить unreg.bat)
или использовать совместно с хранилищем внешних компонент: http://infostart.ru/projects/2863/

Использование мышки: зажать левую кнопку мышки для вращения,
использовать колесо прокрутки для зума,
правая кнопка мыши на объекте - его информация.

*** Добавление на форму 1С:

v7: Использовать 1С++:

Перем Склад3Д;
Процедура ПослеОткрытия() Склад3Д = СоздатьОбъект("АктивИкс"); 
  Склад3Д.УстановитьАтрибут(Форма, "АктХ"); 
//"АктХ" - идентификатор элемента диалога, на месте которого будет создан элемент ActiveX. //только для реквизитов диалога типа "Текст". Склад3Д.СоздатьЭУ("Душелов.Склад3D"); 
  Склад3Д.УстановитьФокус();
КонецПроцедуры //Событие ПриИзмененииПозицииКамеры Процедура АктХ_ПриИзмененииПозицииКамеры(x, y, z, Дистанция) КонецПроцедуры 


//****

v8: Меню "Форма" - "Вставить ActiveX..." - Выбрать элемент "Душелов.Склад3D"

*** События:

- ПриИзмененииПозицииКамеры(x, y, z, Дистанция)

*** Методы:

ОБЪЕКТЫ:

   ДобавитьКонтейнер(x, y, z, Высота, Ширина, Глубина, a, r, g, b, Прозрачность); //a,r,g,b - цвет ДобавитьСтеллаж(x, y, z, ВысотаЯчейки, ШиринаЯчейки, ГлубинаЯчейки, КоличествоЯчеекВРяде, КоличествоРядов); //a,r,g,b - цвет ДобавитьЯчейкуСтеллажа(x, y, z, Высота, Ширина, Глубина, a, r, g, b, Прозрачность);
   ДобавитьГоризонтальнуюПанель(Имя, x, y, z, Ширина, Глубина, a, r, g, b, Прозрачность);


КАМЕРА:

   УстановитьПозициюКамеры(x, y, z);
   УстановитьZoom(Дистанция);



*** ИСТОРИЯ:

17.09.2008:

- Добавил ряд новых методов и событие (треуется перерегистрация компоненты reg.bat)

16.09.2008:

- ДЕМО-версия

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Демо
.1234947606 27,58Kb
26.02.13
325
.1234947606 27,58Kb 325 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Василий Демидов (Душелов) 17.11.08 01:04
Разработка была не время остановлена, теперь выложил снова.
2. Василий Демидов (Душелов) 17.11.08 01:04
В комплекте идут демо для 7.7 и 8.1
3. kitt al;dskjf;ldasjkf (kitt) 17.11.08 08:04
можно глупый вопрос))?
a, r, g, b, Прозрачность - в чем разница между а и Прозрачность?
я думал, что в модели argb альфа-канал - это и есть прозрачность..
4. Василий Демидов (Душелов) 17.11.08 11:13
(3) Это так работает фреймворк 3.5 ;) Там есть такой параметр.
5. Василий Демидов (Душелов) 17.11.08 17:19
(3) Видимо это свойство используется, когда на объект текстура накладывается, у которой нет альфа-канала.
6. Duke (SvSoft) 28.11.08 08:06
(1) А расширение функционала какое-нить планируется в перспективе?
7. Василий Демидов (Душелов) 28.11.08 09:05
(6) В перспективе - да. Есть ряд задумок, которые будут добавлены.
Одна из них - визуальная дефрагментация ;)
8. Duke (SvSoft) 28.11.08 10:47
(7) А насколько близка сия перспектива?
визуальная дефрагментация - what is it?
9. Василий Демидов (Душелов) 28.11.08 10:49
(8) Складская логистика.
Близка? Как начнется практическое внедрение, тогда... Думаю, что не в этом году, хотя кто знает...
10. Duke (SvSoft) 02.12.08 09:17
А текстуры прикрутить не думал? и на сколько это сложно?
11. Василий Демидов (Душелов) 02.12.08 09:21
(10) Текстуры можно, и, в принципе, не сложно.
12. Duke (SvSoft) 03.12.08 13:26
13. Василий Демидов (Душелов) 03.12.08 13:28
(12) Вопрос в производительности... Я сознательно упростил формирование стеллажей, т.к. собирать из коробок - и несколько тысяч ячеек - тормозило довольно прилично. А если еще и текстуры коробок налепить... ;)

Конечно, можно оптимизировать, но для этого придется уйти в эту технологию с головой, а времени у меня столько нет.
14. Илья Шилов (iliasay) 03.12.08 15:32
Коллега. А ваше решение можно прикрутить не к 1С. А к WMS. Что бы по адресному пространству описанному в БД системы. можно было загрузить модель. На модели используя поисковик по критериям находить объекты сподсвечиванием нахождения товара или группы товаров
15. Василий Демидов (Душелов) 03.12.08 15:43
(14) Прикрутить можно к тем программам, которые используют ActivX технологию.
16. Илья Шилов (iliasay) 05.12.08 15:54
Коллега, а можете мне написать на iliasay@list.ru о возможности сотрудничества. Хотелось бы с Вами пообщаться вне рамок форума.
17. Илья Шилов (iliasay) 13.12.08 14:12
Коллега приветствую. Я вам на ваш мейл письмо переслал. Посмотрите плиз
18. Слепых Слепых (inkko) 25.01.09 19:22
Очень интересно, но нужно добавить функциональности, иначе малоприменимо.
Расположение, количество стеллажей;
Свойства стеллажа, ячейки - (МОЛ, дата последнего обновления, тип продукции);
поиск товара по подсвеченной ячейке

19. Василий Демидов (Душелов) 26.01.09 12:05
(18) Это не для бесплатной разработки :)
20. Слепых Слепых (inkko) 27.01.09 23:36
21. Allexey (alex_4x) 03.02.09 21:06
Супер реализация!
мне склад не нужен, но вот посмотреть заголовочные файлы и оснастку для c# было бы очень интересно. Можно исходник вызова просто графического окна с желательно d3d в виде active-X компонента ?

графики можно как красиво делать, всякие объемные опять же....
22. Василий Демидов (Душелов) 13.02.09 19:34
Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.
23. vovchai ivanteev (vovchai) 06.03.09 09:51
24. Владимир Орлов (orvv) 22.04.09 14:37
25. Дмитрий Бойко (boich) 25.04.09 13:03
и сколько же стоит? Где ответ?
26. Василий Демидов (Душелов) 25.04.09 17:19
(25) Ни сколько. Это - демонстрация возможности создания 3д-склада.
27. Василий Демидов (Душелов) 06.05.09 10:45
Кинозал 3D, сделанный biv75 на этой компоненте http://infostart.ru/projects/4030/

Понравилось! :)
28. Drock (d.snissarenko) 06.05.09 11:12
{Форма.Форма(80)}: Ошибка при вызове метода контекста (УстановитьПозициюКамеры): Произошла исключительная ситуация (mscorlib): Попытка деления на нуль.
ЭлементыФормы.ЭлементУправления1.УстановитьПозициюКамеры(КамераX, КамераY, КамераZ);
по причине:
Произошла исключительная ситуация (mscorlib): Попытка деления на нуль.
29. Drock (d.snissarenko) 06.05.09 11:14
System.OverflowException не обработано
Message="Переполнение в результате выполнения арифметической операции."
Source="mscorlib"
StackTrace:
в System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
в Душелов.Склад3D.Sklad3DEvents.ПриИзмененииПозицииКамеры(Double X, Double Y, Double Z, Double Дистанция)
в Душелов.Склад3D.Sklad3D_ПриИзмененииПозицииКамеры(Double x, Double y, Double z, Double dist)
в Душелов.Sklad3D.OnRender(DrawingContext drawingContext)
в Душелов.Sklad3D.OnMouseMove(Object sender, MouseEventArgs me)
в System.Windows.Input.MouseEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
в System.Windows.Input.InputManager.ProcessStagingArea()
в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
в System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
InnerException:

30. Василий Демидов (Душелов) 06.05.09 11:36
(28) Это при каких действиях?
И всю трассировку мне не надо ;) Достаточно описания ошибки.
31. Drock (d.snissarenko) 06.05.09 13:32
Это открываю демку, долго долго открывает и сразу как открыл бегунок с прозрачностью решил подвинуть
32. Drock (d.snissarenko) 06.05.09 13:32
33. Drock (d.snissarenko) 06.05.09 13:33
Прозрачность на середину и бегунком оси икс влевоправо и вылетает
34. Игорь Белышев (biv75) 06.05.09 13:34
(32) Может видюха не тянет, у меня из-за видюхи вылетало
35. Drock (d.snissarenko) 06.05.09 13:35
по поводу трассировки у меня это привело к зависанию 1ски в результате jit стартовал зачем-то :)
36. Drock (d.snissarenko) 06.05.09 13:35
ага в Hl2 играть тянет а 3 коробки показать нет :)
37. Пятница Пятница (Пятница) 22.05.11 19:52
Доброго времени суток!
Хочу прикрепить к своей базе внешнюю обработку, но никак не получается. Обработка написана для 7.7 и 8.1. Я пытаюсь на 8.1 (Ошибка: Внешняя обработка не может быть прочитана данной версией программы. У меня 8.1.15.14) и 8.2 (Ошибка: отсутствуют модули некоторых процедур).

Обработку добавляю:
Конфигурация->Обработки->Вставить внешнюю обработку отчет.. ->Склад3D

Подскажите как решить проблему эту? (Желательно с указанием четких инструкций).
38. Alexander Budnik (bigalexis) 10.10.11 11:37
Очень интересно, честно не ожидал что можно делать такое в 1С
40. Николай Черняев (cnn_diablo) 20.07.12 10:37
Аналогичная ошибка:
{Форма.Форма(80)}: Ошибка при вызове метода контекста (УстановитьПозициюКамеры): Произошла исключительная ситуация (mscorlib): Попытка деления на нуль.
ЭлементыФормы.ЭлементУправления1.УстановитьПозициюКамеры(КамераX, КамераY, КамераZ);
по причине:
Произошла исключительная ситуация (mscorlib): Попытка деления на нуль.
41. Епрст (Ёпрст) 20.07.12 10:40
(40) Васи больше нет, так что уже никто не исправит ...
42. Николай Черняев (cnn_diablo) 20.07.12 12:23
В каком смысле нет? Больше никто этой темой (3D в 1С) не занимается?
44. Николай Черняев (cnn_diablo) 20.07.12 12:43
Жалко, интересные вещи делал....
45. Николай Черняев (cnn_diablo) 20.07.12 13:39
Ссылка на кинотеатр http://infostart.ru/projects/4030/ не открывается, есть ли возможность ее разблокировать?
46. Vitaliy Musaev (darkvett) 06.12.14 10:43
Где можно найти исходники? Я бы с радостью продолжил работу Василия.
47. Александр Воронов (ya.Avoronov) 12.12.14 13:17
А у меня ситуация вот какая:
1) Скачал демку,
2) Microsoft .NET Framework 3.5 установил
3) Зарегистрировал компоненты на Windows XP;
4) Перезапустил компьютер;
5) Запустил обработку Склад3D.epf под 1С 8.2

Посыпались ошибки:
{Форма.Форма.Форма(СОРОК ТРИ)}: Метод объекта не обнаружен (ДобавитьГоризонтальнуюПанель)
	Склад3Д.ДобавитьГоризонтальнуюПанель("Основной склад", КоордX, КоордY, КоордZ, ШиринаПола, ГлубинаПола, 255, 192, 192, 192, ПрозрачностьПола);


Жаль, но методы не обнаружены. Помогите разобраться с проблемой. Все начиналось, так хорошо!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа